Relative Performance of Preemption-Safe Locking and Non-Blocking Synchronization on Multiprogrammed Shared Memory Multiprocessors
Parallel Processing Symposium, International (1997)
Apr. 1, 1997 to Apr. 5, 1997
M. Michael , Dept. of Comput. Sci., Rochester Univ., NY, USA
M. Scott , Dept. of Comput. Sci., Rochester Univ., NY, USA
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.
multiprogramming, relative performance, preemption safe locking, non blocking synchronization, multiprogrammed shared memory multiprocessors, inopportune preemption, synchronized parallel applications, concurrent atomic update, shared data structures, non blocking lock free algorithms, kernel support, universal atomic primitive, concurrent data structures, stacks, FIFO queues, priority queues, counters, 12 processor SGI Challenge multiprocessor, multiprogrammed machines
M. Scott and M. Michael, "Relative Performance of Preemption-Safe Locking and Non-Blocking Synchronization on Multiprogrammed Shared Memory Multiprocessors," Parallel Processing Symposium, International(IPPS), Geneva, SWITZERLAND, 1997, pp. 267.