发明名称 Scaleable hash table for shared-memory multiprocessor system
摘要 A scaleable hash table for shared memory multi-processor (SMP) that supports very high rates of concurrent operations (e.g., insert, delete, and lookup), while simultaneously reducing cache misses. The SMP system has a memory subsystem and a processor subsystem interconnected via a bus structure. The hash table is stored in the memory subsystem to facilitate access to data items. The hash table is segmented into multiple buckets, with each bucket containing a reference to a linked list of bucket nodes that hold references to data items with keys that hash to a common value. Individual bucket nodes contain multiple signature-pointer pairs that reference corresponding data items. Each signature-pointer pair has a hash signature computed from a key of the data item and a pointer to the data item. The first bucket node in the linked list for each of the buckets is stored in the hash table. To enable multithread access, while serializing operation of the table, the SMP system utilizes two levels of locks: a table lock and multiple bucket locks. The table lock allows access by a single processing thread to the table while blocking access for other processing threads. The table lock is held just long enough for the thread to acquire the bucket lock of a particular bucket node. Once the table lock is released, another thread can access the hash table and any one of the other buckets.
申请公布号 US6578131(B1) 申请公布日期 2003.06.10
申请号 US19990300715 申请日期 1999.04.27
申请人 MICROSOFT CORPORATION 发明人 LARSON PER-AKE;KRISHNAN MURALI R.;REILLY GEORGE V.
分类号 G06F9/46;G06F17/30;(IPC1-7):G06F12/06 主分类号 G06F9/46
代理机构 代理人
主权项
地址
您可能感兴趣的专利