Skip to main content

Macroservers: An Object-Based Programming and Execution Model for Processor-in-Memory Arrays

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1940))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G.A. Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986. 22

    Google Scholar 

  2. G. R. Andrews. Concurrent Programming. Principles and Practice. Benjamin/Cummings, 1991. 18

    Google Scholar 

  3. 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

    Google Scholar 

  4. G. Alverson, P. Briggs, S. Coatney, S. Kahan, and R. Korry. Tera Hardware-Software Cooperation. Proc. Supercomputing 1997, San Jose, CA, November 1997. 15

    Google Scholar 

  5. B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, Fall 1992. 12, 15

    Google Scholar 

  6. 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

    Google Scholar 

  7. B. Chapman, M. Haines, P. Mehrotra, J. Van Rosendale, and H. Zima. Opus: A Coordination Language for Multidisciplinary Applications. Scientific Programming, 1998. 13

    Google Scholar 

  8. 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

    Google Scholar 

  9. 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

    Google Scholar 

  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

    Google Scholar 

  11. 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

    Google Scholar 

  12. 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

    Google Scholar 

  13. 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

    Google Scholar 

  14. W. Kim. Thal: An Actor System for Efficient and Scalable Concurrent Computing. Ph.D.Thesis, University of Illinois at Urbana-Champaign, 1997. 16

    Google Scholar 

  15. P. M. Kogge. The EXECUBE Approach to Massively Parallel Processing. In: Proc.1994 Conference on Parallel Processing, Chicago, August 1994. 10

    Google Scholar 

  16. 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

    Google Scholar 

  17. B. Nichols, D. Buttlar,and J.Proulx Farrell. Pthreads Programming. O'Reilly,1998. 17

    Google Scholar 

  18. 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

    Google Scholar 

  19. 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

    Article  Google Scholar 

  20. D. Patterson et al. A Case for Intelligent DRAM: IRAM. IEEE Micro, April 1997. 7

    Google Scholar 

  21. T. Sterling and P. Kogge. An Advanced PIM Architecture for Spaceborne Computing. Proc. IEEE Aerospace Conference, March 1998. 7

    Google Scholar 

  22. 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

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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

    Google Scholar 

  25. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics