发明名称 NESTABLE READER-WRITER LOCK FOR MULTIPROCESSOR SYSTEMS
摘要 A nestable reader-writer lock minimizes writer and reader overhead by employing lock structures that are shared among groups of processors (24) that have lower latencies. In the illustrated multiprocessor system having a non-uniform memory access (NUMA) architecture, in a first embodiment each processor node has a lock structure (83) comprised of a shared counter (84) and associated flag (85) for each CPU group. During a read, the counter can be changed only by processors within a CPU group performing a read. This reduces the reader overhead that otherwise would exist if all processors in the system sharEd a single counter. During a write, the shared flag can be changed by a process running on any processor in the system. The processors in a CPU group are notified of the write through the shared flag. This reduces the writer overhead that otherwise would exist if each processor in the system had a separate flag. The number of CPUs per group can be varied to optimize performance of the lock in different multiprocessor systems. In a second embodiment a global counter (91) indicates the number of active reader threads that are not accounted for in the per-CPU-group counters (94). This permits a reader thread to read-release a lock without determining which processor that thread was running on when it last read-acquired that lock.
申请公布号 WO0152083(A2) 申请公布日期 2001.07.19
申请号 WO2001US00739 申请日期 2001.01.09
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION;MCKENNEY, PAUL, EDWARD 发明人 MCKENNEY, PAUL, EDWARD
分类号 G06F15/177;G06F;G06F9/00;G06F9/46;G06F9/52;G06F12/00;G06F12/06;G06F15/163;(IPC1-7):G06F15/163 主分类号 G06F15/177
代理机构 代理人
主权项
地址