|
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
|
Edsger W. Dijkstra , Leslie Lamport , A. J. Martin , Carel S. Scholten , E. F. M. Steffens, On-the-fly garbage collection: an exercise in cooperation, Language Hierarchies and Interfaces, International Summer School, p.43-56, July 23-August 02, 1975
|
| |
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
|
Christopher T. Haynes , Daniel P. Friedman , Mitchell Wand, Continuations and coroutines, Proceedings of the 1984 ACM Symposium on LISP and functional programming, p.293-298, August 06-08, 1984, Austin, Texas, United States
[doi> 10.1145/800055.802046]
|
 |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michael Sperber , Peter Thiemann , Hervert Klaeren, Distributed partial evaluation, Proceedings of the second international symposium on Parallel symbolic computation, p.80-87, July 20-22, 1997, Maui, Hawaii, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mark Swanson , Robert Kessler , Gary Lindstrom, An implementation of portable standard LISP on the BBN butterfly, Proceedings of the 1988 ACM conference on LISP and functional programming, p.132-142, July 25-27, 1988, Snowbird, Utah, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Seif Haridi , Peter Van Roy , Per Brand , Michael Mehl , Ralf Scheidhauer , Gert Smolka, Efficient logic variables for distributed computing, ACM Transactions on Programming Languages and Systems (TOPLAS), v.21 n.3, p.569-626, May 1999
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
John Plevyak , Vijay Karamcheti , Xingbin Zhang , Andrew A. Chien, A hybrid execution model for fine-grained languages on distributed memory multicomputers, Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM), p.41-es, December 04-08, 1995, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Thorsten von Eicken , David E. Culler , Seth Copen Goldstein , Klaus Erik Schauser, Active messages: a mechanism for integrating communication and computation, 25 years of the international symposia on Computer architecture (selected papers), p.430-440, June 27-July 02, 1998, Barcelona, Spain
|
|
|
Guy E. Blelloch , Phillip B. Gibbons , Girija J. Narlikar , Yossi Matias, Space-efficient scheduling of parallelism with synchronization variables, Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures, p.12-23, June 23-25, 1997, Newport, Rhode Island, United States
|
|
|
|
|
|
Susan Flynn Hummel , Jeanette Schmidt , R. N. Uma , Joel Wein, Load-sharing in heterogeneous systems via weighted factoring, Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures, p.318-328, June 24-26, 1996, Padua, Italy
|
|
|
|
|
|
|
|
|
Robert D. Blumofe , Christopher F. Joerg , Bradley C. Kuszmaul , Charles E. Leiserson , Keith H. Randall , Yuli Zhou, Cilk: an efficient multithreaded runtime system, ACM SIGPLAN Notices, v.30 n.8, p.207-216, Aug. 1995
|
|
|
Alexander B. Arulanthu , Carlos O'Ryan , Douglas C. Schmidt , Michael Kircher , Jeff Parsons, The design and performance of a scable ORB architecture for COBRA asynchronous messaging, IFIP/ACM International Conference on Distributed systems platforms, p.208-230, April 03-07, 2000, New York, New York, United States
|
|
|
|
|
|
|
|
|
|
|
|
Eric Mohr , David A. Kranz , Robert H. Halstead, Jr., Lazy task creation: a technique for increasing the granularity of parallel programs, Proceedings of the 1990 ACM conference on LISP and functional programming, p.185-197, June 27-29, 1990, Nice, France
|
|
|
|
|
|
|
|
|
Peter Van Roy , Seif Haridi , Per Brand , Gert Smolka , Michael Mehl , Ralf Scheidhauer, Mobile objects in distributed Oz, ACM Transactions on Programming Languages and Systems (TOPLAS), v.19 n.5, p.804-851, Sept. 1997
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ajit Singh , Jonathan Schaeffer , Duane Szafron, Views on template-based parallel programming, Proceedings of the 1996 conference of the Centre for Advanced Studies on Collaborative research, p.35, November 12-14, 1996, Toronto, Ontario, Canada
|
|
|
Guy Haworth , Steve Leunig , Carsten Hammer , Mike Reeve, The European Declarative System, Database, and Languages, IEEE Micro, v.10 n.6, p.20-23, 83-88, November 1990
|
|
|
|
|
|
|
|
|
|
|
|
H.-W. Loidl , F. Rubio , N. Scaife , K. Hammond , S. Horiguchi , U. Klusik , R. Loogen , G. J. Michaelson , R. Peña , S. Priebe , Á J. Rebón , P. W. Trinder, Comparing Parallel Functional Languages: Programming and Performance, Higher-Order and Symbolic Computation, v.16 n.3, p.203-251, September 2003
|
|
|
|
|
|
Guy E. Blelloch , Phillip B. Gibbons , Yossi Matias, Provably efficient scheduling for languages with fine-grained parallelism, Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures, p.1-12, June 24-26, 1995, Santa Barbara, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D. Szafron , J. Schaeffer , P. Iglinski , I. Parsons , R. Kornelsen , C. Morrow, Enterprise: current status and future directions, Proceedings of the 1994 conference of the Centre for Advanced Studies on Collaborative research, p.65, October 31-November 03, 1994, Toronto, Ontario, Canada
|
|
|
|
|
|
Umut A. Acar , Guy E. Blelloch , Robert D. Blumofe, The data locality of work stealing, Proceedings of the twelfth annual ACM symposium on Parallel algorithms and architectures, p.1-12, July 09-13, 2000, Bar Harbor, Maine, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Philippe Charles , Christian Grothoff , Vijay Saraswat , Christopher Donawa , Allan Kielstra , Kemal Ebcioglu , Christoph von Praun , Vivek Sarkar, X10: an object-oriented approach to non-uniform cluster computing, ACM SIGPLAN Notices, v.40 n.10, October 2005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Herbert H. J. Hum , Olivier Maquelin , Kevin B. Theobald , Xinmin Tian , Xinan Tang , Guang R. Gao , Phil Cupryk , Nasser Elmasri , Laurie J. Hendren , Alberto Jimenez , Shoba Krishnan , Andres Marquez , Shamir Merali , Shashank S. Nemawarkar , Prakash Panangaden , Xun Xue , Yingchun Zhu, A design study of the EARTH multiprocessor, Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques, p.59-68, June 27-29, 1995, Limassol, Cyprus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pablo López , Frank Pfenning , Jeff Polakow , Kevin Watkins, Monadic concurrent linear logic programming, Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming, p.35-46, July 11-13, 2005, Lisbon, Portugal
|
|
|
|
|
|
Jessie Dedecker , Tom Van Cutsem , Stijn Mostinckx , Theo D'Hondt , Wolfgang De Meuter, Ambient-oriented programming, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
|
|
|
Brian Marsh , Chris Brown , Thomas LeBlanc , Michael Scott , Tim Becker , Cesar Quiroz , Prakash Das , Jonas Karlsson, The Rochester Checkers Player: Multimodel Parallel Programming for Animate Vision, Computer, v.25 n.2, p.12-19, February 1992
|
|
|
|
|
|
Gail A. Alverson , William G. Griswold , Calvin Lin , David Notkin , Lawrence Snyder, Abstractions for Portable, Scalable Parallel Programming, IEEE Transactions on Parallel and Distributed Systems, v.9 n.1, p.71-86, January 1998
|
|
|
|
|
|
|
|
|
Tom Van Cutsem , Jessie Dedecker , Stijn Mostinckx , Elisa Gonzalez , Theo D'Hondt , Wolfgang De Meuter, Ambient references: addressing objects in mobile networks, Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
|
|
Eshrat Arjomandi , William G. O'Farrell , Gregory V. Wilson, An object-oriented communication mechanism for parallel systems, Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS), p.18-18, June 17-21, 1996, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
M. Lemaître , M. Castan , M.-H. Durand , G. Durrieu , B. Lecussan, Mechanisms for efficient multiprocessor combinator reduction, Proceedings of the 1986 ACM conference on LISP and functional programming, p.113-121, August 1986, Cambridge, Massachusetts, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peter Van Roy , Per Brand , Denys Duchier , Seif Haridi , Christian Schulte , Martin Henz, Logic programming in the context of multiparadigm programming: the Oz experience, Theory and Practice of Logic Programming, v.3 n.6, p.717-763, November 2003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Elisa Gonzalez Boix , Thomas Cleenewerk , Jessie Dedecker , Wolfgang De Meuter, Towards a domain-specific aspect language for leasing in mobile ad hoc networks, Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages, p.1-5, April 01-01, 2008, Brussels, Belgium
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Carlos Noguera , Ellen Van Paesschen , Carlos Parra , Johan Fabry, Context distribution for supporting composition of applications in ubiquitous computing, Proceedings of the 2008 ACM symposium on Applied computing, March 16-20, 2008, Fortaleza, Ceara, Brazil
|
|
|
|
|
|
|
|
|
|
|
|
Simon Marlow , Tim Harris , Roshan P. James , Simon Peyton Jones, Parallel generational-copying garbage collection with a block-structured heap, Proceedings of the 7th international symposium on Memory management, June 07-08, 2008, Tucson, AZ, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniel Spoonhower , Guy E. Blelloch , Phillip B. Gibbons , Robert Harper, Beyond nested parallelism: tight bounds on work-stealing overheads for parallel futures, Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures, August 11-13, 2009, Calgary, AB, Canada
|
|
|
|
|
|
|
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...
|