Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Empirical Studies of Competitive Spinning for A SharedMemory Multiprocessor

Summary: Empirical Studies of Competitive Spinning
for A Shared­Memory Multiprocessor
Anna R. Karlin \Lambda , Kai Li y , Mark S. Manasse \Lambda , Susan Owicki \Lambda
A common operation in multiprocessor programs is ac­
quiring a lock to protect access to shared data. Typ­
ically, the requesting thread is blocked if the lock it
needs is held by another thread. The cost of blocking
one thread and activating another can be a substan­
tial part of program execution time. Alternatively, the
thread could spin until the lock is free, or spin for a
while and then block. This may avoid context­switch
overhead, but processor cycles may be wasted in unpro­
ductive spinning. This paper studies seven strategies
for determining whether and how long to spin before
blocking. Of particular interest are competitive strate­
gies, for which the performance can be shown to be
no worse than some constant factor times an optimal
off­line strategy. The performance of five competitive
strategies is compared with that of always blocking, al­


Source: Anderson, Richard - Department of Computer Science and Engineering, University of Washington at Seattle


Collections: Computer Technologies and Information Sciences