skip to main content
10.1145/2578948.2560691acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
tutorial

Compiling Fresh Breeze Codelets

Authors Info & Claims
Published:07 February 2014Publication History

ABSTRACT

This paper presents the design of a compiler for parallel programs expressed as collections of codelets -- blocks of statements intended for distribution over the processing cores of a massively parallel computer system.

Because interactions of codelets with other codelets are limited to acquiring input data at the start of execution and making results available on completion, an unconventional approach to code generation appears beneficial -- we call it code generation by program analysis and code construction. We present an implementation of this concept in the context of a compiler for functional dialects of the Java or Scala programming languages targeted to the proposed instruction set of a Fresh Breeze computer system architecture.

References

  1. Matthew Anderson, Maciej Brodowicz, Hartmut Kaiser, and Thomas Sterling. An application driven analysis of the ParalleX execution model. September 2011.Google ScholarGoogle Scholar
  2. Zoran Budimlić, Aparna Chandramowlishwaran, Kathleen Knobe, Geoff Lowney, Vivek Sarkar, and Leo Treggiari. Multicore Implementations of the Concurrent Collections Programming Model. In CPC '09, Proceedings of the 2009 Workshop on Compilers for Parallel Computing, 2009.Google ScholarGoogle Scholar
  3. J. Dennis, J. Fosseen, and J. Linderman. Data flow schemas. In International Symposium on Theoretical Programming, pages 187--216. Springer, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. B. Dennis. A parallel program execution model supporting modular software construction. In Massively Parallel Programming Models, pages 50--60. IEEE, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. B. Dennis. Fresh Breeze: a multiprocessor chip architecture guided by modular programming principles. ACM SIGARCH Computer Architecture News, 31(1):7--15, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jack B. Dennis. First version of a data fow procedure language. In Lecture Notes in Computer Science 19: Programming Symposium, pages 362--376. Springer, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jack B. Dennis. The Paradigm compiler: Mapping a functional language for the Connection Machine. In Horst Simon, editor, Scientific Applications of the Connection Machine, pages 301--315. Singapore: World Scientific Publishing Company, 1989.Google ScholarGoogle Scholar
  8. J. B. Dennis, G. R. Gao, and X. X. Meng, "Experiments with the Fresh Breeze tree-based memory model," in International Symposium on Supercomputing, Hamburg, June 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. B. Dennis, G. R. Gao, X. X. Meng, B. Lucas, and J. Slucom, "The Fresh Breeze program execution model," in Parallel Computing, Ghent, Belgium, August 2011.Google ScholarGoogle Scholar
  10. T. S. John, J. B. Dennis, and G. R. Gao, "Massively parallel breadth-first search using a tree-structured memory model," in Proceedings of International Workshop on Programming Models and Applications for Multicores and Manycores. ACM SIGPLAN, February 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. ET International, Newark, DE. SWARM (SWift Adaptive RUntime Machine): Scalable Performance Optimization for Multi-Core / Multi-Node, 2011.Google ScholarGoogle Scholar
  12. Robert S. Fabry. Capability-based addressing. Communications of the ACM, 17:403--412, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Guang R. Gao, Joshua Suetterlein, and Stephane Zuckerman. Toward an execution model for extreme-scale systems: Runnemede and beyond. Technical Report CAPSL Technical Memo 104, University of Delaware, 2011.Google ScholarGoogle Scholar
  14. William Gropp, Ewing Lusk, and Anthony Skjellum. Using MPI: Portable Parallel Programming with the Message-Passing Interface. MIT Press, Cambridge, MA, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. McGraw, S. Skedzielewski, S. Allan, R. Oldehoeft, J. Glauert, C. Kirkham, B. Noyce, and R. Thomas. Sisal: Streams and iteration in a single assignment language. Technical Report M-146, Rev. 1., Lawrence Livermore National Laboratory, Livermore, CA, 1985.Google ScholarGoogle Scholar
  16. Steven S. Muchnick. Advanced Compiler Design and Implementation, chapter 1.5: Placement of Optimizations. Morgan Kaufmann, 1997.Google ScholarGoogle Scholar
  17. Steven S. Muchnick. Advanced Compiler Design and Implementation, chapter 16: Register Allocation. Morgan Kaufmann, 1997.Google ScholarGoogle Scholar
  18. Carl D. Offner. Notes on graph algorithms used in optimizing compilers. Notes from University of Massachusetts, Boston, March 2013.Google ScholarGoogle Scholar
  19. E. I. Organick. Computer System Organization: The B5700/B6700 Series. Academic Press, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J.E. Rodriguez. A graph model for parallel computations. PhD thesis, MIT; Electronic Systems Lab, 1969.Google ScholarGoogle Scholar
  21. S. K. Skedzielewski and M. L. Welcome. Data flow graph optimization in IF1. In Functional Programming Languages and Computer Architecture, volume 201 of Lecture Notes in Computer Science, pages 17--34. Springer, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Leslie G. Valiant. A bridging model for parallel computation. Communications of the ACM, 33, March 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Compiling Fresh Breeze Codelets

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PMAM'14: Proceedings of Programming Models and Applications on Multicores and Manycores
      February 2014
      156 pages
      ISBN:9781450326575
      DOI:10.1145/2578948

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 7 February 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • tutorial
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate53of97submissions,55%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader