Skip to main content

A message passing implementation of lazy task creation

  • Conference paper
  • First Online:
Parallel Symbolic Computing: Languages, Systems, and Applications (PSC 1992)

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

Included in the following conference series:

Abstract

This paper describes an implementation technique for Multilisp's future construct aimed at large shared-memory multiprocessors. The technique is a variant of lazy task creation. The original implementation of lazy task creation described in [Mohr, 199l] relies on efficient shared memory to distribute tasks between processors. In contrast, we propose a task distribution method based on a message passing paradigm. Its main advantages are that it is simpler to implement, has a lower cost for locally run tasks, and allows full caching of the stack on cache incoherent machines. Benchmarks on a 32 processor BBN TC2000 show that our method is more efficient than the original implementation by as much as a factor of 2.

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. W. Appel. Allocation without locking. Software Practice and Experience, 19(7):703–705, July 1989.

    Google Scholar 

  2. G. Bilardi and A. Nicolau. Adaptive bitonic sorting: An optimal parallel algorithm for shared-memory machines. SI AM Journal of Computing, 12(2):216–228, April 1989.

    MathSciNet  Google Scholar 

  3. M. Feeley and J. S. Miller. A parallel virtual machine for efficient Scheme compilation. In Proceedings of the 1990 ACM Conference on Lisp and Functional Programming, Nice, France, June 1990.

    Google Scholar 

  4. M. Feeley. An Efficient and General Implementation of Futures on Large Scale Shared-Memory Multiprocessors. PhD thesis, Brandeis University Department of Computer Science, 1993. Available as publication #869 from département d'informatique et recherche opérationnelle de l'Université de Montréal.

    Google Scholar 

  5. M. Feeley. Polling efficiently on stock hardware. In Proceedings of the 1993 ACM Conference on Functional Programming Languages and Computer Architecture, 1993.

    Google Scholar 

  6. R. Goldman and R. P. Gabriel. Preliminary results with the initial implementation of Qlisp. In Conference Record of the 1988 ACM Conference on Lisp and Functional Programming, pages 143–152, Snowbird, UT, July 1988.

    Google Scholar 

  7. R. Halstead. Implementation of Multilisp: Lisp on a multiprocessor. In Conference Record of the 1984 ACM Symposium on Lisp and Functional Programming, pages 9–17, Austin, TX, August 1984.

    Google Scholar 

  8. R. Halstead. Multilisp: A language for concurrent symbolic computation. In ACM Trans. on Prog. Languages and Systems, pages 501–538, October 1985.

    Google Scholar 

  9. IEEE Std 1178-1990. IEEE Standard for the Scheme Programming Language. Institute of Electrical and Electronic Engineers, Inc., New York, NY, 1991.

    Google Scholar 

  10. [Kranz et al., 1989] D. Kranz, R. Halstead, and E. Mohr. Mul-T: A high-performance parallel Lisp. In A CM SIGPLAN '89 Conf. on Programming Language Design and Implementation, pages 81–90, June 1989.

    Google Scholar 

  11. J. S. Miller. Implementing a Scheme-based parallel processing system. International Journal of Parallel Processing, 17(5), October 1988.

    Google Scholar 

  12. E. Mohr. Dynamic Partitioning of Parallel Lisp Programs. PhD thesis, Yale University Department of Computer Science, October 1991.

    Google Scholar 

  13. G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12(3):115–116, 1981.

    Article  MATH  Google Scholar 

  14. [Steinberg et al., 1986] S. Steinberg, D. Allen, L. Bagnall, and C. Scott. The Butterfly Lisp system. In Proc. 1986 AAAI, volume 2, Philadelphia, PA, August 1986.

    Google Scholar 

  15. M. Swanson, R. Kessler, and G. Lindstrom. An implementation of portable standard Lisp on the BBN Butterfly. In Conference Record of the 1988 ACM Conference on Lisp and Functional Programming, pages 132–141, Snowbird, UT, July 1988.

    Google Scholar 

  16. [Zorn et al., 1988] B. Zorn, P. Hilfinger, K. Ho, J. Larus, and L. Semenzato. Features for multiprocessing in SPUR Lisp. Technical Report Report UCB/CSD 88/406, University of California, Computer Science Division (EECS), March 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Robert H. Halstead Jr. Takayasu Ito

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Feeley, M. (1993). A message passing implementation of lazy task creation. In: Halstead, R.H., Ito, T. (eds) Parallel Symbolic Computing: Languages, Systems, and Applications. PSC 1992. Lecture Notes in Computer Science, vol 748. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018649

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57396-8

  • Online ISBN: 978-3-540-48133-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics