Results 1 -
7 of
7
NeXeme: A Distributed Scheme based on Nexus
- In Third International Europar Conference (EURO-PAR'97
, 1997
"... . The remote service request, a form of remote procedure call, and the global pointer, a global naming mechanism, are two features at the heart of Nexus, a library for building distributed systems. NeXeme is an extension of Scheme that fully integrates both concepts in a mostly-functional framework, ..."
Abstract
-
Cited by 11 (10 self)
- Add to MetaCart
. The remote service request, a form of remote procedure call, and the global pointer, a global naming mechanism, are two features at the heart of Nexus, a library for building distributed systems. NeXeme is an extension of Scheme that fully integrates both concepts in a mostly-functional framework, hence providing an expressive language for distributed computing. This paper presents a semantics for this Scheme extension, and also describes a NeXeme implementation, including its distributed garbage collector. 1 Introduction Scheme [20] is a mostly-functional language, i.e., it is a fully functional language that also supports imperative notions such as assignments and continuations, for efficiency and expressivity reasons. We believe that a distributed extension of such a language requires a mechanism to invoke functions remotely, so that distribution becomes part of the most fundamental operation of the language. Such an approach is also adopted by languages such as Obliq [2], Java +...
Parsac-2: Parallel Computer Algebra On The Desk-Top
, 1995
"... We give an introduction to programming methods, software systems, and algorithms, suitable for parallelizing Computer Algebra on modern multiprocessor workstations. As concrete examples we present multi-threaded programming and its use in the PARSAC-2 system for parallel symbolic computation, and we ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
We give an introduction to programming methods, software systems, and algorithms, suitable for parallelizing Computer Algebra on modern multiprocessor workstations. As concrete examples we present multi-threaded programming and its use in the PARSAC-2 system for parallel symbolic computation, and we present some examples of parallel algorithms useful for solving systems of polynomial equations.
An Operational Semantics for a Parallel Functional Language With Continuations
, 1992
"... Explicit parallelism can be introduced in Scheme by adding the constructs fork, pcall and future. Katz and Weise gave an implementation where those constructs are transparent even when rst class continuations are used. In this paper, we formalise this work by giving an operational semantics for a ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Explicit parallelism can be introduced in Scheme by adding the constructs fork, pcall and future. Katz and Weise gave an implementation where those constructs are transparent even when rst class continuations are used. In this paper, we formalise this work by giving an operational semantics for a functional language with rst class continuations and transparent constructs for parallelism. We introduce a concept of higher order continuation that we call metacontinuation which preserves sequential properties of continuations in a parallel language. Keywords: Scheme, parallelism, transparency, continuation, metacontinuation, left expression, operational semantics. 1 Introduction There are essentially two trends to add parallel constructs to a functional language. On the one hand, the approach adopted by the ML community [17] consists in adding to the language the notions of processes, channels and communications as in calculi like CCS [16]. An operational semantics is given in [...
A Parallel Functional Language With First-Class Continuations. Programming Style and Semantics
- Computers and Artificial Intelligence
"... We present an operational semantics for a functional language with rst-class continuations and transparent constructs for parallelism fork and pcall. The sequential semantics of programs with rst-class continuations is preserved when parallel evaluation is allowed, by verifying whether some expre ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present an operational semantics for a functional language with rst-class continuations and transparent constructs for parallelism fork and pcall. The sequential semantics of programs with rst-class continuations is preserved when parallel evaluation is allowed, by verifying whether some expressions have returned a value before applying a continuation. These expressions are the ones that are evaluated before this continuation is applied in a left-to-right sequential order. An implementation is proposed using a notion of higher-order continuation that we call metacontinuation. This semantics is costless when rst-class continuations are not used. Several programs also illustrate the programming style that can be adopted in such a language. Keywords: Scheme, parallelism, transparency, continuation, metacontinuation, left expression, operational semantics. 1 Introduction There are essentially two trends to extend a functional language with parallel constructs. On the one...
Modelling Parallel Programs and Multiprocessor Architectures with AXE
, 1991
"... (NASA-C_-I77592) MODELLING PARALLEL ..."
Prioritization in Parallel Symbolic Computing
, 1993
"... It is argued that scheduling is an important determinant of performance for many parallel symbolic computations, in addition to the issues of dynamic load balancing and grain size control. We propose associating unbounded levels of priorities with tasks and messages as the mechanism of choice fo ..."
Abstract
- Add to MetaCart
It is argued that scheduling is an important determinant of performance for many parallel symbolic computations, in addition to the issues of dynamic load balancing and grain size control. We propose associating unbounded levels of priorities with tasks and messages as the mechanism of choice for specifying scheduling strategies. We demonstrate how priorities can be used in parallelizing computations in different search domains, and show how priorities can be implemented effectively in parallel systems. Priorities have been implemented in the Charm portable parallel programming system. Performance results on shared-memory machines with tens of processors and nonshared-memory machines with hundreds of processors are given. Open problems for prioritization in specific domains are given, which will constitute fertile area for future research in this field.
PROJECT GROUP:
, 1993
"... This thesis presents a novel model for distributed programming based on the coordination language Linda augmented with multiple tuple spaces (MTS-Linda). MTS-Linda offers a shared memory abstraction of the distributed system, and provides a powerful coordination model, integrating manipulation of di ..."
Abstract
- Add to MetaCart
This thesis presents a novel model for distributed programming based on the coordination language Linda augmented with multiple tuple spaces (MTS-Linda). MTS-Linda offers a shared memory abstraction of the distributed system, and provides a powerful coordination model, integrating manipulation of distributed computations,data storage, modularity, and communication into the same handful of primitives. We propose MTS-Linda as a model supporting sharing systems, i.e., distributed systems used by multiple interacting users sharing resources and data, and for communication. We give a comprehensive analysis of sharing systems to extract their requirements. Among the important requirements are strong means for coordination and data sharing, but notably full transparency is often undesirable. We conclude that MTS-Linda fulfils the basic functionality

