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.
Preview
Unable to display preview. Download preview PDF.
References
A. W. Appel. Allocation without locking. Software Practice and Experience, 19(7):703–705, July 1989.
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.
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.
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.
M. Feeley. Polling efficiently on stock hardware. In Proceedings of the 1993 ACM Conference on Functional Programming Languages and Computer Architecture, 1993.
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.
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.
R. Halstead. Multilisp: A language for concurrent symbolic computation. In ACM Trans. on Prog. Languages and Systems, pages 501–538, October 1985.
IEEE Std 1178-1990. IEEE Standard for the Scheme Programming Language. Institute of Electrical and Electronic Engineers, Inc., New York, NY, 1991.
[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.
J. S. Miller. Implementing a Scheme-based parallel processing system. International Journal of Parallel Processing, 17(5), October 1988.
E. Mohr. Dynamic Partitioning of Parallel Lisp Programs. PhD thesis, Yale University Department of Computer Science, October 1991.
G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12(3):115–116, 1981.
[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.
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.
[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.
Author information
Authors and Affiliations
Editor information
Rights 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