Abstract
As multiprocessors scale beyond the limits of a few tens of processors, they must look beyond traditional methods of synchronization to minimize serialization and achieve the high degrees of parallelism required to utilize large machines. By allowing synchronization at the level of the smallest unit of memory, fine-grain synchronization achieves these goals. Unfortunately, supporting efficient fine-grain synchronization without inordinate amounts of hardware has remained a challenge.
This paper describes the support for fine-grain synchronization provided by the Alewife system. The premise underlying Alewife’s implementation is that successful synchronization attempts are the common case when serialization is minimized through word-level synchronization. For our applications, the failure rates were less than 7%. Efficiency at low hardware cost is achieved by providing hardware support to streamline successful synchronization attempts and relegating other non-critical operations to software. Alewife provides a large synchronization name space by associating full/empty bits with each memory word. Successful synchronization attempts execute at normal load-store speeds, while attempts that fail invoke appropriate software trap handlers through a fast trap mechanism. The software handlers deal with the issues of retrying versus blocking, queueing, and rescheduling. The efficiency of Alewife’s mechanisms is analyzed by comparing the costs of various synchronization operations and parallel application execution time. In several applications we studied, our hardware support improved performance by 35%–50%.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Anant Agarwal, Beng-Hong Lim, David A. Kranz, and John Kubiatowicz. APRIL: A Processor Architecture for Multiprocessing. In Proceedings 17th Annual International Symposium on Computer Architecture, pages 104–114, New York, June 1990.
A. Agarwal et al. The MIT Alewife Machine: A Large-Scale Distributed-Memory Multiprocessor. In Proceedings of Workshop on Scalable Shared Memory Multiprocessors. Kluwer Academic Publishers, 1991. An extended version of this paper has been submitted for publication, and appears as MIT/LCS Memo TM-454, 1991.
Gail Alverson, Robert Alverson, and David Callahan. Exploiting Heterogeneous Parallelism on a Multithreaded Multiprocessor. In Workshop on Multithreaded Computers, Proceedings of Supercomputing ‘81. ACM Si-graph & IEEE, November 1991.
Arvind, R. S. Nikhil, and K. K. Pingali. I-Structures: Data Structures for Parallel Computing. In Proceedings of the Workshop on Graph Reduction, (Springer-Verlag Lecture Notes in Computer Science 279), September/October 1986.
Paul S. Barth, Rishiyur S. Nikhil, and Arvind. M-Structures: Extending a Parallel, Non-strict, Functional Language with State. In Proceedings of the 5th ACM Conference on Functional Programming Languages and Computer Architecture, August 1991.
W. J. Dally et al. Architecture of a Message-Driven Processor. In Proceedings of the Lath Annual Symposium on Computer Architecture,pages 189–196, Washington, D.C., June 1987. IEEE.
Daniel Gajski, David Kuck, Duncan Lawrie, and Ahmed Saleh. Cedar — A Large Scale Multiprocessor. In International Conference on Parallel Processing, pages 524–529, August 1983.
James R. Goodman and Philip J. Woest. The Wisconsin Multicube: A New Large Scale Cache-Coherent Multiprocessor. In Proceedings of the 15th Annual International Symposium on Computer Architecture, pages 422–431, Hawaii, June 1988.
Douglas Johnson. Trap Architectures for Lisp Systems. In Proceedings of the 1990 ACM Conference on Lisp and Functional Programming, June 1990.
Kirk Johnson. Semi-C Reference Manual. ALEWIFE Memo No. 20, Laboratory for Computer Science, Massachusetts Institute of Technology, August 1991.
A. Karlin, K. Li, M. Manasse, and S. Owicki. Empirical Studies of Competitive Spinning for A Shared-Memory Multiprocessor. In Proceedings of the 13th ACM Symposium on Operating Systems Principles,October 1991.
David Kranz, Beng-Hong Lim, Kirk Johnson, John Kubiatowicz, and Anant Agarwal. Integrating Message-Passing and Shared-Memory; Early Experience (Extended Abstract). In Proceedings of the Second Workshop on Languages, Compilers,and Run-Time Environments for Distributed Memory Multiprocessors, October 1992.
David A. Kranz, R. Halstead, and E. Mohr. Mul-T: A High-Performance Parallel Lisp. In Proceedings of SIGPLAN ‘89, Symposium on Programming Languages Design and Implementation, June 1989.
Beng-Hong Lim and Anant Agarwal. Waiting Algorithms for Synchronization in Large-Scale Multiprocessors. To appear in ACM Transactions on Computer Systems. Also available as MIT VLSI Memo 91–632, February 1991, 1991.
E. Mohr, D. Kranz, and R. Halstead. Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs. IEEE Transactions on Parallel and Distributed Systems, 2(3):264–280, July 1991.
G. M. Papadopoulos and D.E. Culler. Monsoon: An Explicit Token-Store Architecture. In Proceedings 17th Annual International Symposium on Computer Architecture, New York, June 1990. IEEE.
James B. Rothnie. Architecture of the KSR1 Computer System, March 1992. MIT LCS Seminar, Cambridge, MA.
B.J. Smith. Architecture and Applications of the HEP Multiprocessor Computer System. SPIE,298:241–248, 1981.
SPARC Architecture Manual, 1988. SUN Microsystems, Mountain View, California.
Donald Yeung and Anant Agarwal. Experience with Fine-Grain Synchronization in MIMD Machines for Preconditioned Conjugate Gradient. MIT Lab for Computer Science Tech. Memo MIT-LCS-TM-479, MIT, Cambridge, MA 02139, October 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1994 Springer Science+Business Media New York
About this chapter
Cite this chapter
Kranz, D., Lim, BH., Agarwal, A., Yeung, D. (1994). Low-Cost Support for Fine-Grain Synchronization in Multiprocessors. In: Iannucci, R.A., Gao, G.R., Halstead, R.H., Smith, B. (eds) Multithreaded Computer Architecture: A Summary of the State of the ART. The Springer International Series in Engineering and Computer Science, vol 281. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2698-8_7
Download citation
DOI: https://doi.org/10.1007/978-1-4615-2698-8_7
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-6161-9
Online ISBN: 978-1-4615-2698-8
eBook Packages: Springer Book Archive