Skip to main content

Compilation of a highly parallel Actor-Based Language

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1992)

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

Abstract

Hal is a High-level Actor-based Language. Hal supports a number of communication mechanisms, local synchronization constraints, inheritance, and restricted forms of reflection. This paper discusses some issues in compiling Hal. Specifically, we describe three source-level transformations used by the compiler for Hal. Two of the transformations translate RPC-style message sending into asynchronous message sending. The third transformation performs code motion to optimize the implementation of replacement behavior. This optimization results in the reduction of object code size as well as execution time.

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. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.

    Google Scholar 

  2. G. Agha. Concurrent Object-Oriented Programming. Communications of the ACM, 33(9):125–141, September 1990.

    Google Scholar 

  3. G. Agha, S. Frølund, R. Panwar, and D. Sturman. A Linguistic Framework for Dynamic Composition of Fault-Tolerance Protocols. In Proceedings of the Third IFIP Working Conference on Dependable Computing for Critical Applications, pages 197–207, Palermo (Sicily), Italy, September 1992. International Federation of Information Processing Societies. preprint.

    Google Scholar 

  4. G. Agha, C. Houck, and R. Panwar. Distributed Execution of Actor Systems. In Proceedings of Fourth Workshop on Languages and Compilers for Parallel Computing, Santa Clara, 1991.

    Google Scholar 

  5. G. Agha, I. Mason, S. Smith, and C. Talcott. Towards a Theory of Actor Computation. In Third International Conference on Concurrency Theory (CONCUR '92), LNCS, pages 565–579. Springer-Verlag, August 1992.

    Google Scholar 

  6. R. H. Campbell, V. Russo, and G. Johnston. Choices: The Design of a Multiprocessor Operating System. In Proceedings of the USENIX C++ Workshop, pages 109–123, Santa Fe, New Mexico, November 1987. IEEE.

    Google Scholar 

  7. S. Frølund. Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages. In O. Lehrmann Madsen, editor, Proceedings of ECOOP '92, LNCS 615, pages 185–196. Springer-Verlag, June/July 1992.

    Google Scholar 

  8. S. Hiranandani, K. Kennedy, and C.-W. Tseng. Compiling Fortran-D for MIMD Distributed Memory Machines. Communications of the ACM, 35(8):66–80, August 1992.

    Google Scholar 

  9. C. Houck and G. Agha. Hal: A High-level Actor Language and Its Distributed Implementation. In 21st International Conference on Parallel Processing (ICPP '92), volume II, pages 158–165, St. Charles, IL, August 1992.

    Google Scholar 

  10. L. Kale. The CHARM(3.0) Programming Language Manual. University of Illinois, February 1992.

    Google Scholar 

  11. D. A. Kranz. ORBIT: An Optimizing Compiler for Scheme. PhD thesis, Yale University, February 1988. YALEU/DCS/RR-632.

    Google Scholar 

  12. W. LaLonde and J. Pugh. Inside Smalltalk, volume 1. Prentice Hall, 1990.

    Google Scholar 

  13. C. Manning. Acore: The Design of a Core Actor Language and Its Compiler. Master's thesis, MIT, Artificial Intelligence Laboratory, August 1987.

    Google Scholar 

  14. S. Matsuoka, K. Wakita, and A. Yonezawa. Analysis of Inheritance Anomaly in Concurrent Object-Oriented Languages. ECOOP/OOPSLA'90 Workshop on Object-Based Concurrent Systems, August 1990.

    Google Scholar 

  15. O. Nierstrasz and M. Papathomas. Viewing Objects as Patterns of Communicating Agents. In Proceedings OOPSLA/ECOOP '90, pages 38–43, October 1990. Published as ACM SIGPLAN Notices, volume 25, number 10.

    Google Scholar 

  16. B. C. Smith. Reflection and Semantics in a Procedural Language. Technical Report 272, Massachusetts Institute of Technology. Laboratory of Computer Science, 1982.

    Google Scholar 

  17. N. Venkatasubramaniam, G. Agha, and C. Talcott. Scalable Distributed Garbage Collection for Systems of Active Objects. In Proceedings International Workshop on Memory Management, St. Malo, France, September 1992. ACM SIGPLAN and INRIA. To Appear.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kim, W., Agha, G. (1993). Compilation of a highly parallel Actor-Based Language. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1992. Lecture Notes in Computer Science, vol 757. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57502-2_36

Download citation

  • DOI: https://doi.org/10.1007/3-540-57502-2_36

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-48201-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics