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 words history of and/or history:

    ... that there is no other way,
    That the history of creation proceeds according to
    Stringent laws, and that things
    Do get done in this way, but never the things
    We set out to accomplish and wanted so desperately
    To see come into being.
    John Ashbery (b. 1927)

    The history of work has been, in part, the history of the worker’s body. Production depended on what the body could accomplish with strength and skill. Techniques that improve output have been driven by a general desire to decrease the pain of labor as well as by employers’ intentions to escape dependency upon that knowledge which only the sentient laboring body could provide.
    Shoshana Zuboff (b. 1951)