Abstract
The emergence of semiconductor fabrication technology allowing a tight coupling between high-density DRAM and CMOS logic on the same chip has led to the important new class of Processor-in-Memory (PIM) architectures. Recent developments provide powerful parallel processing capabilities on the chip, exploiting the facility to load wide words in single memory accesses and supporting complex address manipulations in the memory. Furthermore, large arrays of PIMs can be arranged into massively parallel architectures. In this paper, we outline the salient features of PIM architectures and describe the design of an object-based programming and execution model centered on the notion of macroservers. While generally adhering to the conventional framework of object-based computation, macroservers provide special support for the efficient control of program execution in a PIM array. This includes features for specifying the distribution and alignment of data in virtual object space, the binding of threads to data, and a future-based synchronization mechanism. We provide a number of motivating examples and give a short overview of implementation considerations.
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
G.A. Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986. 22
G. R. Andrews. Concurrent Programming. Principles and Practice. Benjamin/Cummings, 1991. 18
J. B. Brockman, P. M. Kogge, V. W. Freeh, S. K. Kuntz, and T. L. Sterling. Microservers: A New Memory Semantics for Massively Parallel Computing. Proceedings ACM International Conference on Supercomputing (ICS’99), June 1999. 9, 12, 16, 18
G. Alverson, P. Briggs, S. Coatney, S. Kahan, and R. Korry. Tera Hardware-Software Cooperation. Proc. Supercomputing 1997, San Jose, CA, November 1997. 15
B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, Fall 1992. 12, 15
B. Chapman, P. Mehrotra, and H. Zima. Extending HPF for Advanced Data Parallel Applications. IEEE Parallel and Distributed Technology, Fall 1994, pp. 59–70. 15
B. Chapman, M. Haines, P. Mehrotra, J. Van Rosendale, and H. Zima. Opus: A Coordination Language for Multidisciplinary Applications. Scientific Programming, 1998. 13
J. C. Adams, W. S. Brainerd, J. T. Martin, B. T. Smith, and J. L. Wagener. Fortran 95 Handbook. Complete ISO/ANSI Reference. The MIT Press, 1997. 13
M. Gokhale, W. Holmes,and K. Iobst. Processing in Memory: The Terasys Massively Parallel PIM Array. IEEE Computer 28(4),pp.23–31,1995. 10
M. Hall, J. Koller, P. Diniz, J. Chame, J. Draper, J. LaCoss, J. Granacki, J. Brockman, A. Srivastava, W. Athas, V. Freeh, J. Shin, and J. Park. Mapping Irregular Applications to DIVA, a PIM-Based Data Intensive Architecture. Proceedings SC’99, November 1999. 7
R. H. Halstead, Jr. Multilisp: A Language for Concurrent Symbolic Computation. ACM Transactions on Programming Languages and Systems (TOPLAS), 7(4),501–538, October 1985. 13, 17, 19
C. A. R. Hoare. Monitors: An Operating Systems Structuring Concept. Comm. ACM 17(10),pp.549–557,1974. In:(C. A. R. Hoare and R. H. Perrott,Eds.) Operating System Techniques, Academic Press,pp.61–71, 1972. 13, 18
C. Kesselman. CC++. In: G. V. Wilson and P. Lu (Eds.): Parallel Programming Using CC++, Chapter 3, pp.91–130, The MIT Press, 1996. 18
W. Kim. Thal: An Actor System for Efficient and Scalable Concurrent Computing. Ph.D.Thesis, University of Illinois at Urbana-Champaign, 1997. 16
P. M. Kogge. The EXECUBE Approach to Massively Parallel Processing. In: Proc.1994 Conference on Parallel Processing, Chicago, August 1994. 10
V. Kumar, A. Grama, A. Gupta,and G. Karypis. Introduction to Parallel Computing. Design and Analysis of Algorithms. The Benjamin/Cummings Publishing Company, 1994. 18
B. Nichols, D. Buttlar,and J.Proulx Farrell. Pthreads Programming. O'Reilly,1998. 17
Notre Dame University. Final Report: PIM Architecture Design and Supporting Trade Studies for the HTMT Project. PIM Development Group, HTMT Project, University of Notre Dame, September 1999. 12
R. Panwar and G. Agha. A Methodology for Programming Scalable Architectures. Journal of Parallel and Distributed Computing, 22(3),pp.479–487, September 1994. 16
D. Patterson et al. A Case for Intelligent DRAM: IRAM. IEEE Micro, April 1997. 7
T. Sterling and P. Kogge. An Advanced PIM Architecture for Spaceborne Computing. Proc. IEEE Aerospace Conference, March 1998. 7
T. Sterling and L. Bergman. A Design Analysis of a Hybrid Technology Multithreaded Architecture for Petaflops Scale Computation. Proceedings ACM International Conference on Supercomputing (ICS’99), June 1999. 7
H. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald. Vienna Fortran— a language specification. Internal Report 21, ICASE, NASA Langley Research Center, Hampton, VA, March 1992.
H. Zima and T. Sterling. Macroservers: A Programming and Execution Model for DRAMPIM Arrays. Technical Report CACR-182, Center for Advanced Computing Research (CACR), California Institute of Technology, Pasadena, CA, and TR 2000-1, Institute for Software Science, University of Vienna. 24
H. Zima and T. Sterling. Support for Irregular Computations in Massively Parallel PIM Arrays, Using an Object-Based Execution Model. Proc. Irregular’2000, Cancun, Mexico, May 2000. 24
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zima, H.P., Sterling, T.L. (2000). Macroservers: An Object-Based Programming and Execution Model for Processor-in-Memory Arrays. In: Valero, M., Joe, K., Kitsuregawa, M., Tanaka, H. (eds) High Performance Computing. ISHPC 2000. Lecture Notes in Computer Science, vol 1940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39999-2_2
Download citation
DOI: https://doi.org/10.1007/3-540-39999-2_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41128-4
Online ISBN: 978-3-540-39999-5
eBook Packages: Springer Book Archive