Premature return — Another interpretation of the future construct — (An extended abstract)
Several parallel Lisp languages such as MultiLisp, MultiScheme, and TOP-1 Common Lisp use the future construct as the primitive parallel construct. Evaluation of a future expression requires spawning a subprocess. For relatively fine-grained parallel applications, the time for process creation affects the overall performance of the program. In this paper, we propose another interpretation of the future construct, called the premature-return, which is useful to reduce the overhead of process creation. With this interpretation, the caller process of a future expression keeps evaluating the expression while another process will be created to execute the program that follows the future expression. Although the premature-return is more efficient than the conventional interpretation in many cases, it is sometimes less efficient. In order to avoid such inefficient situations, we propose the use of an additional construct together with the premature-return.
Unable to display preview. Download preview PDF.
- Halstead, R.: Parallel Computing Using Multilisp. in J. Kowalik, ed., Parallel Computation and Computers for Artificial Intelligence, Kluwer Academic Publishers, 1987.Google Scholar
- Miller, J.: MultiScheme: A Parallel Processing System Based on MIT Scheme. TR-402, Laboratory for Computer Science, MIT, 1987.Google Scholar
- Tanaka, T. and Uzuhara, S.: Multiprocessor Common Lisp on TOP-1. Proceedings of The Second IEEE Symposium on Parallel and Distributed Processing, Dallas, 1990.Google Scholar
- Ito, T. and Matsui, M.: A Parallel Lisp Language PaiLisp and its Kernel Specification. in T. Ito and R. H. Halstead, ed., Parallel Lisp: Languages and Systems, Springer Lecture Notes in Computer Science 441, 1989.Google Scholar
- Gray, S.: Using Futures to Exploit Parallelism in Lisp. S.M. thesis, MIT EECS Dept., 1986.Google Scholar