发明名称 Method and apparatus for serializing a message queue in a multiprocessing environment
摘要 A single atomic instruction is used to change up to four disjoint areas in memory concurrently in an extended compare and swap operation, replacing traditional locks for serialization and providing recovery for all queue manipulations. Use count-based responsibility passing is employed so that any number of tasks can read the various message queue chains, concurrent with queue updates being made. A summary queue update sequence number is maintained to provide concurrent chain update detection, so that any number of tasks can add elements to the end, or remove elements from the middle (i.e. any where in the chain) concurrently. Concurrent footprinting is used with chain manipulation, so that all (or none) of the chaining indicators and a footprint are set with a single, non-interruptible instruction, making it possible for recovery to always take the correct action. One such use of concurrent footprinting is the concurrent footprinting of use count changes, while another is the transfer of ownership of message queue control blocks. In a preferred embodiment on an IBM S/390 platform, the Perform Locked Operation (PLO) instruction is used to perform the extended compare and swap operations.
申请公布号 US6976260(B1) 申请公布日期 2005.12.13
申请号 US19990404903 申请日期 1999.09.24
申请人 INTERNATIONAL BUSINESS MACHINES CORPORATION 发明人 AULT DONALD F.;CARDALL DAVID R.;SCHMIDT DONALD W.
分类号 G06F3/00;G06F9/46;(IPC1-7):G06F3/00 主分类号 G06F3/00
代理机构 代理人
主权项
地址