Results 1 -
5 of
5
MULTILISP: a language for concurrent symbolic computation
- ACM Transactions on Programming Languages and Systems
, 1985
"... 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 par ..."
Abstract
-
Cited by 409 (1 self)
- Add to MetaCart
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 ulti-mately 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.
Wisdom: The Foundation of a Scalable Parallel Operating System
, 1990
"... There is a demand for ever more powerful computing facilities, and for the ability to improve the power of those that are already owned, without the need to replace machines. This thesis examines a method of meeting these demands by the development of a scalable computing facility - one that can be ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
There is a demand for ever more powerful computing facilities, and for the ability to improve the power of those that are already owned, without the need to replace machines. This thesis examines a method of meeting these demands by the development of a scalable computing facility - one that can be built from as many processors as needed, and which can have more added whenever there is a need to increase the power available. The approach taken is to provide a scalable operating system, called Wisdom, that will run on a scalable architecture, a network of point to point connected processors. This thesis details the issues in, requirements of, and problems with building such an operating system. The lessons of research in the field of distributed operating systems, and other specialist work in appropriate areas are used to develop a model which provides the necessary support for a usable scalable system. The model so derived consists of three degrees of transparency: interconnection tran...
Representing Control in Parallel Applicative Programming
, 1994
"... This research is an attempt to reason about the control of parallel computation in the world of applicative programming languages. Applicative languages, in which computation is performed through function application and in which functions are treated as first-class objects, have the benefits of ele ..."
Abstract
- Add to MetaCart
This research is an attempt to reason about the control of parallel computation in the world of applicative programming languages. Applicative languages, in which computation is performed through function application and in which functions are treated as first-class objects, have the benefits of elegance, expressiveness and having clean semantics. Parallel computation and real-world concurrent activities are much harder to reason about than the sequential counterparts. Many parallel applicative languages have thus hidden most control details with their declarative programming styles, but they are not expressive enough to characterize many real world concurrent activities that can be easily explained with concepts such as message passing, pipelining and so on. Ease of programming should not come at the expense of expressiveness. Therefore, we design a parallel applicative language Pscheme such that programmers can express explicitly the control of parallel computation while maintaining ...
Towards a new parallel and multi-threaded P³ -based implementation of functional languages
"... In this paper, we present a new parallel and multi-threaded implementation of functional programs. The execution is based on a new parallel evaluation scheme of functional languages named P 3 . The implementation consists of two phases: the first one statically tansforms the program in order to in ..."
Abstract
- Add to MetaCart
In this paper, we present a new parallel and multi-threaded implementation of functional programs. The execution is based on a new parallel evaluation scheme of functional languages named P 3 . The implementation consists of two phases: the first one statically tansforms the program in order to increase the granularity of parallelism ; the second phase translates the transformed program in an intermediate multi-threaded, distributed and compilable language. At the first stage, we use a new approach, named GRANIT, of implicit granularity management. It consists of three kinds of grouping: the gathering of the functions of the program into functional packets, each of these must be executed, a priori, sequentially ; the abstract grouping of the data into windows: for each packet, one computes by abstract execution its window i.e. the part of the data really necessary for its execution ; and the association of the packets with their windows. The concrete grouping of the data is achieved ...
Remove this page before binding. (The page number was placed before realizing that this was to be the title page.)
, 1990
"... There is a demand for ever more powerful computing facilities, and for the ability to improve the power of those that are already owned, without the need to replace machines. This thesis examines a method of meeting these demands by the development of a scalable computing facility - one that can be ..."
Abstract
- Add to MetaCart
There is a demand for ever more powerful computing facilities, and for the ability to improve the power of those that are already owned, without the need to replace machines. This thesis examines a method of meeting these demands by the development of a scalable computing facility - one that can be built from as many processors as needed, and which can have more added whenever there is a need to increase the power available.

