ACM Home Page
Please provide us with feedback. Feedback
MULTILISP: a language for concurrent symbolic computation
Full text PdfPdf (3.30 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 7 ,  Issue 4  (October 1985) table of contents
Pages: 501 - 538  
Year of Publication: 1985
ISSN:0164-0925
Author
Robert H. Halstead, Jr.  Massachusetts Institute of Technology, Cambridge
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 137,   Citation Count: 208
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/4472.4478
What is a DOI?

ABSTRACT

Multilisp is a version of the Lisp dialect Scheme extended with constructs for parallel execution. Like Scheme, Multilisp is oriented toward symbolic computation. Unlike some parallel programming languages, Multilisp incorporates constructs for causing side effects and for explicitly introducing parallelism. The potential complexity of dealing with side effects in a parallel context is mitigated by the nature of the parallelism constructs and by support for abstract data types: a recommended Multilisp programming style is presented which, if followed, should lead to highly parallel, easily understandable programs. Multilisp is being implemented on the 32-processor Concert multiprocessor; however, it is ultimately intended for use on larger multiprocessors. The current implementation, called Concert Multilisp, is complete enough to run the Multilisp compiler itself and has been run on Concert prototypes including up to eight processors. Concert Multilisp uses novel techniques for task scheduling and garbage collection. The task scheduler helps control excessive resource utilization by means of an unfair scheduling policy; the garbage collector uses a multiprocessor algorithm based on the incremental garbage collector of Baker.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
2
 
3
 
4
ARVIND, GOSTELOW, $. G., AND PLOUrFE, W. An Asynchronous Programming Langauge and Computing Machine. Rep. TR114a, University of California, Irvine, 1978.
5
 
6
 
7
 
8
BBN. Development of a Voice Funnel System: Quarterly Technical Report. BBN Reports 4845 (Jan. 1982) and 5284 (Apr. 1983). Bolt, Beranek, and Newman, Cambridge, Mass.
 
9
BOUKNIGHT, W. J., ET AL. The Illiac IV system. Proc. IEEE 60, 4 (Apr. 1972), 369-388.
 
10
 
11
COHEN, S., ROSNER, R., ANO ZIDON, A. Paralisp Simulator (reference manual). Hebrew University Computer Science Dep. Res. Rep. 83-2, Jerusalem, Israel, Jan. 1983.
 
12
CORRELL, S. 8-1 uniprocessor architecture. S-1 Project 1979 Annual Report. Lawrence Livermore National Lab., Livermore, Calif., 1979.
 
13
DEMINET, J. Experience with multiprocessor algorithms. IEEE Trans. Comput. C-31, 4 (Apr. 1982), 278-288.
14
 
15
 
16
FODERARO, J. K., SKLOWER, K., AND LAYER, K. The Franz Lisp Manual. University of California UNIX distribution, 1983.
 
17
FRIEDMAN, D., AND WISE, D. Aspects of applicative programming for parallel processing. IEEE Trans. Comput. C-27, 4 (Apr. 1978), 289-296.
 
18
FRIEDMAN, D., AND WLSE, D. CONS should not evaluate its arguments. In S. Michaelson and R. Milner (Eds.), Automata, Languages and Programming, Edinburgh University Press, Edinburgh, 1976, pp. 257-284.
19
 
20
 
21
GOTTLIEB, A., ET AL. The NYU ultracomputer--Designing an MIMD shared memory parallel computer. IEEE Trans. Comput. C-32, 2 (Feb. 1983), 175-189.
22
23
 
24
HALSTEAD, R. Architecture of a myriaprocessor. In IEEE COMPCON Spring 81 (San Francisco, Feb. 1981), 299-302.
 
25
HALSTEAD, R. Architecture of a myriaprocessor. In J. Solinsky (Ed.), Advanced Computer Concepts. La JoIla Institute, La Jolla, Calif., 1981.
26
 
27
HALSTEAD, R. Reference Tree Networks: Virtual Machine and Implementation. M.I.T. Laboratory for Computer Science Tech. Rep. TR-222, Cambridge, Mass., July 1979.
 
28
HALSTEAD, R., AND LOAIZA, J. Exception handling in Multilisp. Presented at the 1985 Int. Conf. Parallel Processing (St. Charles, Ill., Aug. 1985).
29
30
 
31
HEWITT, C. Viewing control structures as patterns of passing messages. Working Paper 92, Artificial Intelligence Laboratory, M.I.T., Cambridge, Mass., Apr. 1976.
32
33
34
 
35
IEEE Task P796/D2. Proposed microcomputer system 796 bus standard. IEEE Comput. 13, 10 (Oct. 1980), 89-105.
 
36
KELLSR, R. Redifiow multiprocessing. IEEE COMPCON Spring 84 (San Francisco, Feb. 1984).
 
37
KELLER, R., AND LIN, F. Simulated performance of a reduction-based multiprocessor. IEEE Comput. 17, 7 (July 1984), 70-82.
 
38
KERN1OHAN, B., AND RITCHIE, D. The C Programming Langauge. Prentice-Hall, Englewood Cliffs, N.J., 1978.
 
39
KNUEVEN, P., HIBBARD, P., AND LEVERETT, B. A language system for a multiprocessor environment. In Proc. 4th Int. Conf. Design and Implementation of Algorithmic Languages (Courant Institute of Mathematical Studies, New York, June 1976), 264-274.
 
40
KUCK, D., MURAOKA, Y., AND CHEN, S.-C. On the number of operations simultaneously executable in Fortran-like programs and their resulting speedup. }EEE Trans. Comput. C-21, 12 (Dec. 1972), 1293-1310.
41
 
42
 
43
 
44
MCGRAW, J., ET AL. SISAL--Streams and Iteration in a Single-Assignment Language. Language Reference Manual (version 1.0), Lawrence Livermore National Lab., Livermore, Calif., July 1983.
 
45
MOLLER-NIELSEN, P., AND STAUNSTRUP, J. Experiments with a Multiprocessor. Tech. Rep. PB-185, Aarhus University Computer Science Dep., Aarhus, Denmark, Nov. 1984.
 
46
RETTBERG, R., ET AL. Development of a Voice Funnel System: Design Report. BBN Rep. 4088, Bolt, Beranek, and Newman, Cambridge, Mass., Aug. 1979.
47
48
49
 
50
S~APIRO, E.Y. A Subset of Concurrent Prolog and Its Interpreter. Institute for New Generation Computer Technology Tech. Rep. TR-003, Jan. 1983.
 
51
SMITH, B. J. A pipelined, shared resource MIMD computer. In Proc. Int. Conf. Parallel Processing, 1978.
 
52
 
53
SUGIMOTO, S., ET AL. A multimicroprocessor system for concurrent Lisp. In Proc. 1983 Int. Conf. Parallel Processing (June 1983).
 
54
TURNER, D. A new implementation technique for applicative languages. Softw. Pract. Exper. 9, 1 (Jan. 1979), 31-49.
 
55
 
56
WENG, K. Stream-Oriented Computation in Recursive Data Flow Schemas. Tech. Memo TM-68, M.I.T. Laboratory for Computer Science, Cambridge, Mass., Oct. 1975.

CITED BY  208


REVIEW

"Brent T. Hailpern : Reviewer"

MULTILISP is a dialect of LISP (actually a version of the SCHEME dialect) with added constructs for parallel execution. MULTILISP has been implemented on the 32-processor Concert multiprocessor. It is destined for implementation on larger multip  more...

Collaborative Colleagues:
Robert H. Halstead, Jr.: colleagues