Compare-and-swap - History of Use

History of Use

Compare-and-Swap (and Compare-and-Swap-Double) has been an integral part of the IBM 370 (and all successor) architectures since 1970. The operating systems which run on these architectures make extensive use of this instruction to facilitate process (i.e., system and user tasks) and processor (i.e., central processors) parallelism while eliminating, to the greatest degree possible, the "disabled spin locks" which had been employed in earlier IBM operating systems. Similarly, the use of Test-and-Set was also eliminated. In these operating systems, new units of work may be instantiated "globally", into the Global Service Priority List, or "locally", into the Local Service Priority List, by the execution of a single Compare-and-Swap instruction. This substantially improved the responsiveness of these operating systems.

In the x86 and Itanium architectures this is the compare and exchange (CMPXCHG) instruction, though here the lock prefix should be there to make it really atomic.

Read more about this topic:  Compare-and-swap

Famous quotes containing the word history:

    America is, therefore the land of the future, where, in the ages that lie before us, the burden of the World’s history shall reveal itself. It is a land of desire for all those who are weary of the historical lumber-room of Old Europe.
    Georg Wilhelm Friedrich Hegel (1770–1831)