Skip to main content

Run-time management of Lisp parallelism and the Hierarchical Task Graph program representation

  • VII. Compilers & Scheduling
  • Conference paper
  • First Online:
  • 129 Accesses

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

Abstract

This paper suggests how to extend the Hierarchical Task Graph program representation, and its execution model to address the Lisp code parallelization problems. The advantages of this approach lie in the fact of on avoiding to annotate Lisp programs, and in accounting for run-time scheduling policies all into a unified environment. We start by reviewing the problem of run-time parallelism management, first in the imperative languages setting, and, next in Lisp setting. Before describing the Hierarchical Task Graph (HTG) program representation [7], we review the basic notions of control and data dependence analysis. Finally we describe how to modify the HTG and its execution model to take into account for the Lazy Task Creation model [19], and the Sponsor Model for exploiting speculative computations in Lisp[20].

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. V. Aho, R. Sethi, J.D. Ullman Compilers: Principles, Techniques, and Tools Addison Wesley, Reading, Mass. U.S.A., 1986

    Google Scholar 

  2. J. Ferrante, K.J. Ottenstein, J.D.Warren The Program Dependence Graph and Its Use in Optimization ACM-TOPLAS, 9, 1987, pp. 319–343

    Google Scholar 

  3. Gabriel R. P., and McCarthy J., Queue-based Multiprocessing LISP Conference Record of the 1984 ACM Symposium on LISP and Functional Programming, 1984, pages 25–43.

    Google Scholar 

  4. Goldman R. and Gabriel R. P., QLISP: Experience and New Directions Symposium on Parallel Programming: Experience with Applications, Language and Systems. ACM, pages. 111–123, July 1988

    Google Scholar 

  5. Goldman R. and Gabriel R. P., QLISP: Parallel Processing in Lisp IEEE Software 6, pages. 5159, 1989

    Google Scholar 

  6. Gray S. L. Using Future to Exploit Parallelism in Lisp M.S. Thesis, Dept. Electrical Engineering and Computer Science, M.I.T. 1986

    Google Scholar 

  7. M. Girkar, C.D. Polychronopoulos The HTG: An Intermediate Representation for Programs Based on Control and Data Dependences CSRD TR1046, University of Illinois at Urbana-Champaign, Illinois, U.S.A., 1990

    Google Scholar 

  8. M. Girkar, C.D. Polychronopoulos Automatic Detection and Generation of Unstructured Parallelism in Ordinary Programs to appear in IEEE Transaction on Parallel & Distributed Processing, and CSRD TR, University of Illinois at Urbana-Champaign, Illinois, U.S.A., 1990

    Google Scholar 

  9. Halstead R.H. Jr., Implementation of Multilisp: LISP on a multiprocessor Conference Record of the 1984 ACM Symposium on LISP and Functional Programming, 1984, pages. 9–17.

    Google Scholar 

  10. R.H. Halstead Multilisp: a language for concurrent symbolic computations ACM TOPLAS, vol 7, 1985 pp 501–538

    Google Scholar 

  11. C.T. Haynes, D.P. Friedman, M. Wand Obtaining Coroutines with continuation Computer Languages, 11, 1986, pp. 143–153

    Google Scholar 

  12. W.L. Harrison Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor CSRD TR-565 University of Illinois at Urbana-Champaign, Illinois, U.S.A., 1986

    Google Scholar 

  13. W.L. Harrison The interprocedural Analysis and Automatic Parallelization of Scheme Programs Int. Journal of Lisp and Symbolic Computation, 2, 1989, pp. 179–396

    Google Scholar 

  14. Harrison W.L., Padua D. A. PARCEL: Project for the Automatic Restructuring and Concurrent Evaluation of LISP TR. 653, Dept. Computer Science, University of Illinois, 1987

    Google Scholar 

  15. D. Kuck The Structure of Computers & Computations John Wiley & Sons, Boston, Ma, 1978

    Google Scholar 

  16. M. Katz ParaTran: A Transparent, Transaction-Based Runtime Mechanism for Parallel Execution of Scheme Master Thesis, Dept. Electrical Engineering and Computer Science, M.I.T., 1986

    Google Scholar 

  17. Larus J.R., Hilfinger P.N., Restructuring LISP Programs for concurrent executions Symposium on Parallel Programming: Experience with Applications, Language and Systems. ACM, pages. 100–110, 1988

    Google Scholar 

  18. J.L. Larus Compiling Lisp Programs for Parallel Execution Int. Journal of Lisp and Symbolic Computation, 4, (1991), pp. 29–99

    Google Scholar 

  19. E. Mohr, D.A. Kranz, R.H. Halstead Lazy Task Creation: A Technique for Increasing the Granularity of Parallel Programs ACM Lisp Conf. On Lisp and Functional Languages, Nice, 1990, pp. 185–197

    Google Scholar 

  20. R.B. Osborne Speculative Computation in Multilisp: An Overview ACM Lisp Conf. On Lisp and Functional Languages, Nice, 1990, pp. 198–208

    Google Scholar 

  21. J.D. Pehoushek, J.S. Weening Low-cost process Creation and Dynamic Partiotion in QLISP, I Parallel Lisp: Languages and Systems Y. Ito, R.H. Halstead ed, Springer Verlag, Berlin, 1990, pp 182–199

    Google Scholar 

  22. C.D. Polychronopoulos Autoscheduling: Control and Data Flow Come Together CSRD TR-1058 University of Illinois at Urbana-Champaign, Illinois, U.S.A., 1990

    Google Scholar 

  23. O. Shivers Control Flow Analysis in Scheme SIGPLAN Conf on Language Design and Implementation, Atlanta, Georgia, 1988, pp 164–174

    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

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Furnari, M., Polychronopoulos, C. (1992). Run-time management of Lisp parallelism and the Hierarchical Task Graph program representation. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1991. Lecture Notes in Computer Science, vol 589. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0038670

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55422-6

  • Online ISBN: 978-3-540-47063-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics