Title :
Relative performance of preemption-safe locking and non-blocking synchronization on multiprogrammed shared memory multiprocessors
Author :
Michael, Maged M. ; Scott, Michael L.
Author_Institution :
Dept. of Comput. Sci., Rochester Univ., NY, USA
Abstract :
Most multiprocessors are multiprogrammed to achieve acceptable response time. Unfortunately inopportune preemption may significantly degrade the performance of synchronized parallel applications. To address this problem, researchers have developed two principal strategies for concurrent, atomic update of shared data structures: (1) preemption safe locking and (2) non blocking (lock free) algorithms. Preemption safe locking requires kernel support. Non blocking algorithms generally require a universal atomic primitive, and are widely regarded as inefficient. We present a comparison of the two alternative strategies, focusing on four simple but important concurrent data structures-stacks, FIFO queues, priority queues and counters-in microbenchmarks and real applications on a 12 processor SGI Challenge multiprocessor. Our results indicate that data structure specific non blocking algorithms, which exist for stacks, FIFO queues and counters, can work extremely well: not only do they outperform preemption safe lock based algorithms on multiprogrammed machines, they also out perform ordinary locks on dedicated machines. At the same time, since general purpose nonblocking techniques do not yet appear to be practical, preemption safe locks remain the preferred alternative for complex data structures: they outperform conventional locks by significant margins on multiprogrammed systems
Keywords :
concurrency control; data structures; multiprogramming; parallel programming; shared memory systems; synchronisation; 12 processor SGI Challenge multiprocessor; FIFO queues; concurrent atomic update; concurrent data structures; counters; inopportune preemption; kernel support; multiprogrammed machines; multiprogrammed shared memory multiprocessors; non blocking lock free algorithms; non blocking synchronization; preemption safe locking; priority queues; relative performance; shared data structures; stacks; synchronized parallel applications; universal atomic primitive; Computer science; Counting circuits; Data structures; Degradation; Delay; Hardware; Information science; Kernel; Protection; Software performance;
Conference_Titel :
Parallel Processing Symposium, 1997. Proceedings., 11th International
Conference_Location :
Genva
Print_ISBN :
0-8186-7793-7
DOI :
10.1109/IPPS.1997.580906