Waiting algorithms for synchronization in large-scale multiprocessors
ACM Transactions on Computer Systems (TOCS)
A case for the multithreaded processor architecture
ACM SIGARCH Computer Architecture News - Special issue on input/output in parallel computer systems
Empirical studies of competitve spinning for a shared-memory multiprocessor
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
The Named-State Register File: Implementation and Performance
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
Hi-index | 0.00 |
A program running on a parallel machine consists of multiple asynchronous threads that have to synchronize at various points to ensure program correctness. At a synchronization point, a thread may be forced to wait until the synchronization condition is satisfied. Waiting incurs a cost. This thesis investigates various types of synchronization mechanisms and techniques to minimize wasted processor cycles while waiting on a synchronization condition. In particular, two-phase waiting algorithms and multithreading are used to reduce the cost of waiting. The utility of these methods is analyzed with mathematical models and demonstrated through simulations. Two-phase waiting algorithms that rely on efficient waiting mechanisms provided by multithreaded processors are shown to be very robust under most operating circumstances.