Efficient Self-tuning Spin-locks Using Competitive Analysis
Journal article, 2007
Reactive spin-lock algorithms that can automatically adapt to contention variation on the lock have received great attention in the eld of multiprocessor synchronization since they can help applications achieve good performance in all possible contention conditions. However, in existing reactive spin-locks the reaction relies on (i) some fixed experimentally tuned thresholds, which may get frequently inappropriate in dynamic environments like multiprogramming/multiprocessor systems, or (ii) known probability distributions of inputs. This paper presents a new reactive spin-lock algorithm that is completely selftuning, which means no experimentally tuned parameter nor probability distribution of inputs are needed. The new spin-lock is based on both synchronization structures of applications and a competitive online algorithm. Our experiments, which use the Spark98 kernels and the SPLASH-2 applications as application benchmarks, on a multiprocessor machine SGI Origin2000 and an Intel Xeon workstation have showed that the new self-tuning spin-lock performs as well as the best of hand-tuning spin-lock representatives in a wide range of contention levels.
shared memory multiprocessors