The effect of scheduling discipline on spin overhead in shared memory parallel systems
John Zahorjan, Edward D. Lazowska, Derek L. Eager · IEEE Transactions on Parallel and Distributed Systems · 1991
Spinning, or busy waiting, is commonly employed in parallel processors when threads of execution must wait for some event, such as synchronization with another thread. Because spinning is purely overhead, it is detrimental to both user response time and system throughput. The effects of two environmental factors, multiprogramming and data-dependent execution times, on spinning are discussed, and it is shown how the choice of scheduling discipline can be used to reduce the amount of spinning in each case.>