Skip to main content

Techniques for efficient execution of fine-grained concurrent programs

  • 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

Concurrent object-oriented programming languages are an attractive approach for programming massively-parallel machines. However, exploiting object-level concurrency is problematic as the linkage and communication overhead can overwhelm the benefits of the fine-grained concurrency. Our approach achieves efficient execution by tuning the grain size, matching the execution grain size to that efficiently supportable by the architecture. To verify the feasibility of grain-size tuning, we study the invocation locality of a collection of object-oriented programs. The results suggest that local constraints on placement combined with code specialization can produce a significant increase in execution grain size. We describe several compile-time analyses which identify opportunities to increase grain size. These analyses identify static relationships between objects and enable transformations to reduce invocation cost. Some initial measurements are presented.

The research described in this paper was supported in part by National Science Foundation grant CCR-9209336, Office of Naval Research grant N00014-92-J-1961, and National Aeronautics and Space Administration grant NAG 1-613. Additional support has been provided by a generous special-purpose grant from the AT&T Foundation.

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. A. Agarwal, B. Lim, D. Kranz, and J. Kubiatowicz. April: A processor architecture for multiprocessing. In International Symposium on Computer Architecture, 1990.

    Google Scholar 

  2. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, 1986.

    Google Scholar 

  3. P. America. Pool-T: A parallel object-oriented language. In A. Yonezawa and M. Tokoro, editors, Object-Oriented Concurrent Programming, pages 199–220. MIT Press, 1987.

    Google Scholar 

  4. B. Bershad, E. Lazowska, and H. Levy. Presto: A system for object-oriented parallel programming. Software — Practice and Experience, 18(8), 1988.

    Google Scholar 

  5. A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter. Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering, SE-13(1):65–76, January 1987.

    Google Scholar 

  6. T. Blank. The Maspar MP-1 architecture. In Proceedings of COMPCON, pages 20–4. IEEE, 1990.

    Google Scholar 

  7. C. Chambers and D. Ungar, Iterative type analysis and extended message splitting. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pages 150–60, 1990.

    Google Scholar 

  8. A. A. Chien and W. J. Dally. Concurrent Aggregates (CA). In Proceedings of Second Symposium on Principles and Practice of Parallel Programming. ACM, March 1990.

    Google Scholar 

  9. L. P. Deutsch and A. M. Schiffman. Efficient implementation of the Smalltalk-80 system. In Eleventh Symposium on Principles of Programming Languages, pages 297–302. ACM, 1984.

    Google Scholar 

  10. L. Hendren and A. Nicolau. Parallelizing programs with recursive data structures. IEEE Transactions on Parallel and Distributed Computing, 1(1):35–47, 1990.

    Google Scholar 

  11. S. Hiranandani, K. Kennedy, and C.-W. Tseng. Compiler Optimizations for Fortran D on MIMD Distributed-Memory Machines. In Supercomputing '91, pages 86–100, Nov. 1991.

    Google Scholar 

  12. W. Horwat, A. Chien, and W. Dally. Experience with CST: Programming and implementation. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pages 101–9. ACM SIGPLAN, ACM Press, 1989.

    Google Scholar 

  13. E. Myers. A precise interprocedural data flow algorithm. In Seventh Symposium on Principles of Programming Languages, pages 219–30, 1980.

    Google Scholar 

  14. V. Saraswat, K. Kahn, and J. Levy. Janus: A step towards distributed constraint programming. In Proceedings of the North American Conference on Logic Programming, Austin, Texas, October 1990.

    Google Scholar 

  15. K. Smith and R. Smith II. The Experimental Systems Project at the Microelectronics and Computer Technology Corporation. In Proceedings of the Fourth Conference on Hypercube Computers, 1989.

    Google Scholar 

  16. C. Tomlinson, M. Scheevel, and V. Singh. Report on Rosette 1.0. MCC Internal Report, Object-Based Concurrent Systems Project, December 1989.

    Google Scholar 

  17. W. E. Weihl. Interprocedural data flow analysis in the presence of pointers, procedure variables, and label variables. In Seventh Symposium on Principles of Programming Languages, pages 83–94, 1980.

    Google Scholar 

  18. A. Yonezawa, editor. ABCL: An Object-Oriented Concurrent System. MIT Press, 1990. ISBN 0-262-24029-7.

    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

Chien, A., Feng, W., Karamcheti, V., Plevyak, J. (1993). Techniques for efficient execution of fine-grained concurrent programs. 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_46

Download citation

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

  • 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