Affiliation:
1. DEC Cambridge Research Lab, Cambridge, MA
2. Silicon Graphics, Inc., Mountain View, CA
3. Univ. of Rochester, Rochester, NY
Abstract
Efficient synchronization is important for achieving good performance in parallel programs, especially on large-scale multiprocessors. Most synchronization algorithms have been designed to run on a dedicated machine, with one application process per processor, and can suffer serious performance degradation in the presence of multiprogramming. Problems arise when running processes block or, worse, busy-wait for action on the part of a process that the scheduler has chosen not to run. We show that these problems are particularly severe for scalable synchronization algorithms based on distributed data structures. We then describe and evaluate a set of algorithms that perform well in the presence of multiprogramming while maintaining good performance on dedicated machines. We consider both large and small machines, with a particular focus on scalability, and examine mutual-exclusion locks, reader-writer locks, and barriers. Our algorithms vary in the degree of support required from the kernel scheduler. We find that while it is possible to avoid pathological performance problems using previously proposed kernel mechanisms, a modest additional widening of the kernel/user interface can make scheduler-conscious synchronization algorithms significantly simpler and faster, with performance on dedicated machines comparable to that of scheduler-oblivious algorithms.
Publisher
Association for Computing Machinery (ACM)
Cited by
41 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Multiprocessor Real-Time Locking Protocols;Handbook of Real-Time Computing;2022
2. Lock–Unlock;ACM Transactions on Computer Systems;2019-03-28
3. Multiprocessor Real-Time Locking Protocols;Handbook of Real-Time Computing;2019
4. Scheduler activations for interference-resilient SMP virtual machine scheduling;Proceedings of the 18th ACM/IFIP/USENIX Middleware Conference;2017-12-11
5. Malthusian Locks;Proceedings of the Twelfth European Conference on Computer Systems;2017-04-23