Skip to main content

Efficient evaluation strategies for structured concurrency constructs in parallel Scheme systems

  • Evaluation Strategies
  • Conference paper
  • First Online:
Parallel Symbolic Languages and Systems (PSLS 1995)

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

Included in the following conference series:

Abstract

In Scheme-based parallel Lisp systems there are proposed a number of structured concurrency constructs like pcall, par, par- and, par-or and plet, etc. A standard evaluation strategy for these structured constructs has been the eager task creation (ETC) that creates child processes to execute their argument expressions whenever these structured constructs are encountered. But the ETC strategy for structured concurrency constructs is known to be inefficient because of overhead caused by excessive process creation. In this paper we propose an efficient evaluation strategy for structured concurrency constructs, called the steal-based evaluation (SBE) strategy, which suppresses excessive process creation. SBE is based on an extended use of two basic actions steal and inlining of lazy task creation used in an efficient implementation of future. The idea of SBE is extended to give a parallel implementation of the delay construct and stream computation expressed with delay yielding the steal-based lazy evaluation (SLE). In Concluding Remarks there are discussed the following issues: a programming style called structural parallel symbolic programming which is based on a functional core of Scheme and the SBE strategy, Restricted Eager Task Creation to suppress excessive process creation under ETC, and a simple constraint-based automatic parallelization of functional programs.

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. H. Abelson, G. Sussman, “Structure and Interpretation of Computer Programs”, MIT Press, 1984.

    Google Scholar 

  2. M. Feeley, “A message passing implementation of lazy task creation”, Parallel Symbolic Computing: Languages, Systems, and Applications (Eds. R. Halstead, Jr., T. Ito), Springer LNCS 748, 94–107, 1993.

    Google Scholar 

  3. R. Gabriel, J. McCarthy, “Queue-based multiprocessing Lisp”, Conference Record of ACM Symposium on Lisp and Functional Programming, 25–44, 1984.

    Google Scholar 

  4. R. Halstead, Jr., “Implementation of Multilisp: Lisp on a multiprocessor”, Conference Record of 1984 ACM Symposium on Lisp and Functional Programming, 9–17, 1984.

    Google Scholar 

  5. R. Halstead,Jr., “Multilisp: A language for concurrent symbolic computation”, ACM Trans. on Programming Languages and Systems, vol. 4. no.7, 501–538, 1985.

    Google Scholar 

  6. R. Halstead,Jr., “New ideas in parallel Lisp: Language design, implementation, and programming tools”, Parallel Lisp: Languages and Systems (Eds. T. Ito, R. Halstead, Jr.), Springer LNCS 441, 2–57, 1990.

    Google Scholar 

  7. R. Halstead, Jr., T. Ito, “Parallel Symbolic Computing: Languages, Systems, and Applications”, Springer LNCS 748, 1993.

    Google Scholar 

  8. W. Harrison III, Z. Ammarguellat, “Design of automatic parallelizers for symbolic and numeric programs”, Parallel Lisp: Languages and Systems (Eds. T. Ito, R. Halstead, Jr.), Springer LNCS 441, 235–253, 1990.

    Google Scholar 

  9. IEEE Computer Society, “IEEE Standard for the Scheme Programming Language”, 1991.

    Google Scholar 

  10. T. Ito, T. Tamura, S. Wada, “Theoretical comparisons of interpreted/compiled executions of Lisp on sequential and parallel machine models”, Information Processing 86 (Proceedings of IFIP Congress 86), 349–354, 1986.

    Google Scholar 

  11. T. Ito, M. Matsui, “A parallel Lisp language PaiLisp and its kernel specification”, Parallel Lisp: Languages and Systems (Eds. T. Ito, R. Halstead, Jr.), Springer LNCS 441, 58–100, 1990.

    Google Scholar 

  12. T. Ito, R. Halstead, Jr., “Parallel Lisp: Languages and Systems”, Springer LNCS 441, 1990.

    Google Scholar 

  13. T. Ito, T. Seino, “On PaiLisp continuation and its implementation”, Proceedings of ACM Workshop on Continuations (Eds. O. Danvy, C. Talcott), 73–90, 1992.

    Google Scholar 

  14. T. Ito, T. Seino, “P-continuation based implementation of PaiLisp interpreter”, Parallel Symbolic Computing: Languages, Systems, and Applications (Eds. R. Halstead, Jr, T. Ito), Springer LNCS 748, 108–154, 1993.

    Google Scholar 

  15. S. Kawamoto, T. Ito, “Multi-threaded PaiLisp with granularity adaptive parallel execution”, Theory and Practice of Parallel Programming (Eds. T. Ito, A. Yonezawa), Springer LNCS 907, 97–117, 1995.

    Google Scholar 

  16. E. Mohr, D. Kranz, R. Halstead, Jr., “Lazy task creation: A technique for increasing the granularity of parallel programs”, IEEE Trans. on Parallel and Distributed Systems, vol. 2, no.3, 1991.

    Google Scholar 

  17. E. Mohr, “Distillations of dynamic partitioning experience”, Parallel Symbolic Computing: Languages, Systems, and Applications (Eds. R. Halstead, Jr., T. Ito), Springer LNCS 748, 88–93, 1993.

    Google Scholar 

  18. R. Osborne, “Speculative computation in Multilisp”, Parallel Lisp: Languages and Systems (Eds. T. Ito, R. Halstead, Jr.), Springer LNCS 441, 103–137, 1990.

    Google Scholar 

  19. G. Springer, D. Friedman, “Scheme and the Art of Programming”, MIT Press, 1989.

    Google Scholar 

  20. J. Weening, J. Pehoushek, “Low-cost process creation and dynamic partitioning in Qlisp”, Parallel Lisp: Languages and Systems (Eds. T. Ito, R. Halstead, Jr.), Springer LNCS, 441, 182–199, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Robert H. Halstead Jr. Christian Queinnec

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Ito, T. (1996). Efficient evaluation strategies for structured concurrency constructs in parallel Scheme systems. In: Ito, T., Halstead, R.H., Queinnec, C. (eds) Parallel Symbolic Languages and Systems. PSLS 1995. Lecture Notes in Computer Science, vol 1068. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0023054

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61143-1

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics