Skip to main content

Multi-threaded PaiLisp with granularity adaptive parallel execution

  • Invited Talk 2
  • Conference paper
  • First Online:
Theory and Practice of Parallel Programming (TPPP 1994)

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

Included in the following conference series:

Abstract

This paper describes a new implementation of PaiLisp interpreter PaiLisp/MT on a multi-thread architecture. A P-continuation based PaiLisp interpreter called PaiLisp/FX is implemented on Alliant FX/80 [ItoS93]. PaiLisp/FX executes any PaiLisp programs under a non-preemptive scheduling policy and a static task partitioning method called eager task creation(ETC). PaiLisp/MT can be used as an experimental system of granularity adaptive parallel execution of PaiLisp programs to select multiple evaluation strategies. The granularity of programs is estimated by an average execution time and standard deviation of distributions of their execution time according to the granularity of target programs. In case of coarse-grained programs, PaiLisp/MT can execute them under a preemptive scheduling policy and the lazy task creation(LTC). In case of fine-grained programs it can execute them under a non-preemptive scheduling policy and LTC. This kind of adaptation of evaluation strategies can be done according to the granularity of programs and the number of executable processes. Experimental results show that the lazy task creation under the non-preemptive scheduling is very effective for a wide range of parallel programs but the granularity adaptation is useful when a program creates with various degree of granularity.

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. The MIT Press, 1985.

    Google Scholar 

  2. David L. Black. Scheduling support for concurrency and parallelism in the Mach operating system. CMU Technical Report CMU-CS-90-125, April 1990

    Google Scholar 

  3. S.K.Debray, N.W.Lin, M.Hermenegildo. Task granularity analysis in logic programs. Conference Record of Programming Language Design and Implementation, 174–188, 1990

    Google Scholar 

  4. Marc Feeley. A message passing implementation of lazy task creation. “Parallel Symbolic Computing: Languages, Systems, and Applications, US/Japan Workshop”, Springer LNCS 748, 94–107, 1993.

    Google Scholar 

  5. Marc Feeley. An efficient and general implementation of futures on large scale shared-memory multiprocessors. Dissertation presented to the Faculty of the Graduate School of Arts and Sciences Brandeis University Department of Computer Science. 1993.

    Google Scholar 

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

    Google Scholar 

  7. 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 

  8. R.Halstead,Jr. Multilisp: A language for concurrent symbolic computation. ACM Trans. on Programming Languages and Systems, Vol.4, No.7, 501–538, 1985.

    Article  Google Scholar 

  9. R.Halstead,Jr. New ideas in parallel lisp: language design, implementation, and programming tools. “Parallel Lisp: Languages and Systems, US/Japan Workshop on Parallel Lisp”, Springer LNCS 441, 2–57, 1990.

    Google Scholar 

  10. R.Halstead,Jr., T.Ito. “Parallel Symbolic Computing: Language, Systems and Applications, US/Japan Workshop”, Springer LNCS 748, 1993.

    Google Scholar 

  11. L.Huelsbergen, J.R.Larus, A.Aiken. Using the run-time sizes of data structures to guide parallel-thread creation. Proc. ACM Conf. Lisp and Functional Languages, 79–90, 1994.

    Google Scholar 

  12. 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 

  13. T.Ito, R.Halstead,Jr. “Parallel Lisp: Languages and systems, US/Japan Workshop on Parallel Lisp”, Springer LNCS 441, 1990.

    Google Scholar 

  14. T.Ito, M.Matsui. A parallel lisp language PaiLisp and its kernel specification. “Parallel Lisp: Languages and Systems, US/Japan Workshop on Parallel Lisp”, Springer LNCS 441, 58–100, 1990.

    Google Scholar 

  15. T.Ito, T.Seino. On PaiLisp continuation and its implementation. Proceedings of ACM Workshop on Continuations (ed. O.Danvy & C.Talcott), Stanford, 73–90, 1992.

    Google Scholar 

  16. T.Ito, T.Seino. P-continuation based implementation of PaiLisp interpreter. “Parallel Symbolic Computing: Languages, Systems, and Applications, US/Japan Workshop”, Springer LNCS 748, 108–154, 1993.

    Google Scholar 

  17. E.Mohr, D.A.Kranz, R.Halstead,Jr. Lazy task creation: A technique for increasing the granularity of parallel programs. IEEE Trans. Parallel and Distributed Systems, Vol.2, No.3, 264–280, 1991.

    Article  Google Scholar 

  18. B.Reistad, D.K.Gifford. Static dependent costs for estimating execution time. Proc. ACM Conf. Lisp and Functional Languages, 65–78, 1994

    Google Scholar 

  19. J.S.Weening, J.D.Pehoushek. Low-cost process creation and dynamic partitioning in Qlisp. “Parallel Lisp: Languages and Systems, US/Japan Workshop on Parallel Lisp”, Springer LNCS 441, 182–199, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Takayasu Ito Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kawamoto, S.i., Ito, T. (1995). Multi-threaded PaiLisp with granularity adaptive parallel execution. In: Ito, T., Yonezawa, A. (eds) Theory and Practice of Parallel Programming. TPPP 1994. Lecture Notes in Computer Science, vol 907. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0026566

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-49218-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics