Skip to main content

A multithreaded substrate and compilation model for the implicitly parallel language pH

  • New Languages and New Compiler Techniques
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1996)

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

  • 109 Accesses

Abstract

We describe the compilation of the non-strict, implicitly parallel language pH to symmetric multiprocessors (SMPs). First, we introduce the λs calculus as a robust foundation for the semantics of pH. Next, we define a Shared-Memory Threaded (SMT) abstract machine that captures the essence of our SMP compilation target. Finally, we describe a syntax directed translation of λs to SMT instructions. The paper makes three important contributions: it is the first implementation of pH based on a direct semantics of barriers; the compilation rules generate code from λs without using intermediate dataflow graphs; and the multithreaded code emitted by the compiler uses suspensive threads.

This research was performed entirely at the MIT Laboratory for Computer Science and was supported by ARPA contract DABT63-95-C-0150.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. Aditya. Normalizing Strategies for Multithreaded Interpretation and Compilation of Non-Strict Languages. CSG Memo 374, MIT Laboratory for Computer Science, Cambridge, MA, May 1995.

    Google Scholar 

  2. S. Aditya, Arvind, and J.E. Stoy. Semantics of Barriers in a Non-Strict, Implicitly-Parallel Language. In Proceedings of the 7th ACM Conference on Functional Programming and Computer Architecture, La Jolla, CA, June 1995.

    Google Scholar 

  3. A.W. Appel. Compiling with Continuations. Cambridge University Press, 1992.

    Google Scholar 

  4. Z.M. Ariola and Arvind. Compilation of Id. In Proceedings of the Fourth Workshop on Languages and Compilers for Parallel Computing Semantics Based Program Manipulation, Santa Clara, CA, August 1991.

    Google Scholar 

  5. Arvind, A. Caro, J. Maessen, and S. Aditya. A Multithreaded Substrate and Compilation Model for the Implicitly Parallel Language pH. CSG Memo 382, MIT Laboratory for Computer Science, Cambridge, MA, July 1996.

    Google Scholar 

  6. Arvind, J. Maessen, R.S. Nikhil, and J.E. Stoy. λs: A λ-calculus with Letrecblocks, Constants, Barriers, and Side-effects. CSG Memo 393, MIT Laboratory for Computer Science, October 1996.

    Google Scholar 

  7. D.E. Culler, A. Sah, K.E. Schauser, T. von Eicken, and J. Wawrzynek. Fine Grain Parallelism with Minimal Hardware Support: A Compiler-Controlled Threaded Abstract Machine. In Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, Santa Clara, CA, April 1991.

    Google Scholar 

  8. C. Flanagan and R.S. Nikhil. pHluid: The design of a Parallel Functional Language Implementation. In Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, Philadelphia, PA, May 1996.

    Google Scholar 

  9. P. Hudak, S. Peyton Jones, and P. Wadler (editors). Report on the Programming Language Haskell, A Non-strict Purely Functional Language (Version 1.2). ACM SIGPLAN Notices 27(5), May 1992.

    Google Scholar 

  10. S.L. Peyton Jones. The Implementation of Functional Programming Languages. Prentice-Hall International, London, 1987.

    Google Scholar 

  11. K.R. Traub. Implementation of Non-Strict Functional Programming Languages. MIT Press, 1991.

    Google Scholar 

  12. K.R. Traub, G.M. Papadopoulos, M.J. Beckerle, J.E. Hicks, and J. Young. Overview of the Monsoon Project. In Proceedings of the 1991 IEEE International Conference on Computer Design, Cambridge, MA, October 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Sehr Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arvind, Caro, A., Maessen, JW., Aditya, S. (1997). A multithreaded substrate and compilation model for the implicitly parallel language pH. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1996. Lecture Notes in Computer Science, vol 1239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017273

Download citation

  • DOI: https://doi.org/10.1007/BFb0017273

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63091-3

  • Online ISBN: 978-3-540-69128-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics