Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

Locality, causality and continuations

View through CrossRef
Concurrency and distribution are topics exacerbated by the omnipresence of Internet. Although many languages address these topics, few offer a real opportunity to control and coordinate widely spread dynamic computations. This paper presents such a language and its prominent features. Besides explaining the software architecture of the implementation (based on objects and generic functions), it also presents an original coherency protocol for shared mutable variables. We first recall, in Section 1, the main features of our Scheme-based, concurrent, distributed and computation-oriented language already presented in more details and examples in [QD93]. Section 2 explains how to systematically implement a concurrent and distributed interpreter for that language, using a set of program transformations combining Abstract Continuation Passing Style (ACPS) and Object-Oriented Lifting. The originality of this implementation is that it chiefly uses objects and generic functions in a style that allows to concentrate the problems related to concurrency and migration of computations into the sole discriminating behavior of generic functions. ACPS is not only used to reify continuations but also to enforce locality of computations in presence of distal objects. In Section 3, we propose a new (to our knowledge) protocol to manage shared mutable variables. This protocol enhances [MSRN92], does not require atomic broadcast, tolerates short communication breakdowns and uses bounded circular clocks. This result comes from the use of a distributed GC (which allows us to maintain an approximation of Global Virtual Time) and from the exploitation of causality as stated by continuations. To give a continuation a value (and a store) clearly expresses that the computations that are present in the continuation causally depend on the invoker of the continuation. Finally the computation-orientation of our language and mainly the ability to control groups of threads, concurrently running on multiple sites for the completion of the evaluation of a single expression, is shortly sketched in Section 4. As usual, related works and conclusions end this paper.
Association for Computing Machinery (ACM)
Title: Locality, causality and continuations
Description:
Concurrency and distribution are topics exacerbated by the omnipresence of Internet.
Although many languages address these topics, few offer a real opportunity to control and coordinate widely spread dynamic computations.
This paper presents such a language and its prominent features.
Besides explaining the software architecture of the implementation (based on objects and generic functions), it also presents an original coherency protocol for shared mutable variables.
We first recall, in Section 1, the main features of our Scheme-based, concurrent, distributed and computation-oriented language already presented in more details and examples in [QD93].
Section 2 explains how to systematically implement a concurrent and distributed interpreter for that language, using a set of program transformations combining Abstract Continuation Passing Style (ACPS) and Object-Oriented Lifting.
The originality of this implementation is that it chiefly uses objects and generic functions in a style that allows to concentrate the problems related to concurrency and migration of computations into the sole discriminating behavior of generic functions.
ACPS is not only used to reify continuations but also to enforce locality of computations in presence of distal objects.
In Section 3, we propose a new (to our knowledge) protocol to manage shared mutable variables.
This protocol enhances [MSRN92], does not require atomic broadcast, tolerates short communication breakdowns and uses bounded circular clocks.
This result comes from the use of a distributed GC (which allows us to maintain an approximation of Global Virtual Time) and from the exploitation of causality as stated by continuations.
To give a continuation a value (and a store) clearly expresses that the computations that are present in the continuation causally depend on the invoker of the continuation.
Finally the computation-orientation of our language and mainly the ability to control groups of threads, concurrently running on multiple sites for the completion of the evaluation of a single expression, is shortly sketched in Section 4.
As usual, related works and conclusions end this paper.

Related Results

RANULF HIGDEN'S POLYCHRONICON AND CONTINUATIONS: TEXTS AND MANUSCRIPTS
RANULF HIGDEN'S POLYCHRONICON AND CONTINUATIONS: TEXTS AND MANUSCRIPTS
Ranulf Higden's Polychronicon was the most widely read Latin chronicle of late medieval England. It (and its later continuations) influenced the production of several major chronic...
Continuations and concurrency
Continuations and concurrency
Continuations have proven to be useful for implementing a variety of control structures, including exception handling facilities and breadth-first searching algorithms. However, tr...
Macroeconomic determinants of fiscal policy in East Africa: a panel causality analysis
Macroeconomic determinants of fiscal policy in East Africa: a panel causality analysis
PurposeThis study investigates the dynamic causality linkages between fiscal deficits and selected macroeconomic indicators in a panel of five East African Community countries.Desi...
Locality-Aware CTA Clustering for Modern GPUs
Locality-Aware CTA Clustering for Modern GPUs
Cache is designed to exploit locality; however, the role of on-chip L1 data caches on modern GPUs is often awkward. The locality among global memory requests from different SMs (St...
Locality at the Interface
Locality at the Interface
There are many approaches to locality, which differ in how they answer a central question: where do locality constraints originate? All available theories successfully explain spec...
The relationship between money supply and inflation: analysis with PANELVAR approach
The relationship between money supply and inflation: analysis with PANELVAR approach
Purpose- Central banks serve as institutions responsible for executing monetary policy in countries, with the primary objective of managing the money supply and ensuring price stab...

Back to Top