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.

 
Web www.patentalert.com

< Context based execution prioritization in Workflow-Management-Systems

< Apparatus and method for setting a data rate in a wireless communication system

> Method and apparatus for fast, local CORBA object references

> Methods and apparatus for efficiently accessing periodically broadcast data

~ 00226