LISP and Symbolic Computation, 7(4)291-314
TS/Scheme: Distributed Data Structures in Lisp
Suresh Jagannathan, NEC Research Institute, 4 Independence Way, Princeton, NJ 08540
Abstract: We describe a parallel object-oriented dialect of
Scheme called TS/SCHEME that provides a simple and expressive
interface for building asynchronous parallel programs. The main
component in TS/SCHEME's coordination framework is an abstraction that
serves the role of a distributed data structure. Distributed data
structures are an extension of conventional data structures insofar as
many tasks may simultaneously access and update their contents
according to a well-defined serialization protocol. The semantics of
these structures also specifies that consumers which attempt to access
an as-of-yet undefined element are to block until a producer provides
a value.
TS/SCHEME permits the construction of two basic kinds of distributed
data structures, those accessed by content, and those accessed by
name. These structures can be further specialized and composed to
yield a number of other synchronization abstractions. Our intention is
to provide an efficient medium for expressing concurrency and
synchronization that is amenable to modular programming, and which can
be used to succinctly and efficiently describe a variety of diverse
concurrency paradigms useful for parallel symbolic computing.
Keywords: symbolic computation, parallelism, distributed data
structures, coordination, object-oriented computing
|
This article is not available online.
|
|