发明名称 |
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 |
代理机构 |
|
代理人 |
|
主权项 |
|
地址 |
|