coordination languages and their significance paper by: david gelernter nicholas carriero presented...
TRANSCRIPT
![Page 1: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/1.jpg)
Coordination Languages and their Significance
Paper by: David Gelernter Nicholas Carriero
Presented by: Varuna Iyengar
![Page 2: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/2.jpg)
OutlineWhat is a Computational and a Coordination
model?Background on Linda Integration or separation argumentsEnsemblesArguments in favor of separation Basic claims with regard to separationPortability and heterogeneityEconomy and Flexibilty1. Interpolation2. Extrapolation Conclusion
![Page 3: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/3.jpg)
Computation and Coordination languagesA computational language is something
that allows the programmer to build a single computational activity.
A coordination language, is the glue that binds separate activities into an ensemble.
It provides operations to create computational activities and to support communication among them.
An example of a coordination language is Linda.
![Page 4: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/4.jpg)
Linda Linda is a model of coordination and communication among
several parallel processes operating upon objects stored in and retrieved from shared, virtual, associative memory. This model is implemented as a "coordination language" in which several primitives operating on ordered sequence of typed data objects, "tuples," are added to a sequential language, such as C, and a logically global associative memory, called a tuplespace, in which processes store and retrieve tuples.
The original Linda model requires four operations that individual workers perform on the tuples and the tuplespace:
in atomically reads and removes—consumes—a tuple from tuplespace
rd non-destructively reads a tuplespaceout produces a tuple, writing it into tuplespace eval creates new processes to evaluate tuples, writing the
result into tuplespace
![Page 5: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/5.jpg)
Arguments in favor of separation of coordination and communication languages
Asynchronous ensembles: way of the future.
Computational problems are orthogonal to problems of coordination among active agents.
There’s a need to define general purpose coordination languages, as these languages support full range of ensembles, from parallel applications, distributed systems etc..
![Page 6: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/6.jpg)
EnsemblesAn Asynchronous ensemble is a
collection of asynchronous activities that communicate.
The definition of an ensemble is not restricted to distributed systems, parallel applications. It includes systems communicating through time. Eg., a file system.
![Page 7: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/7.jpg)
OrthogonalityA computational language by
itself is useless!So is a coodination language!All useful computing depends on
a combination of the two
![Page 8: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/8.jpg)
GeneralityThe needs of say, a distributed
system builder may be different from that of a parallel applications builder.
So it is important to have different models for different systems.
![Page 9: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/9.jpg)
Further arguments in favor of separation and generality:Separation: Portability and
support for heterogeneityGenerality: Economy and
flexibility
![Page 10: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/10.jpg)
PortabilityReusability or recycle-abilityWhen moving from one platform
to a different one, we would like to retain as much as possible.
An integrated language sacrifices computing –language portability completely and in many cases compromises the other varieties.
![Page 11: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/11.jpg)
HeterogeneityGeneralization of portabilityIf our systems works well with a
system X or system Y, it may very well work well with a system composed of both X and Y
![Page 12: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/12.jpg)
Economy and FlexibilitySimple economical languages
tend to be supple and powerful, while complex ones are generally rigidly inflexible.
By the means of a general purpose coordination language, we can bridge the gap that separates massive parallelism from task oriented parallelism
Two possibilities: interpolation and extrapolation
![Page 13: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/13.jpg)
Interpolation
Why do we need more than one communication systems to handle something that can be accomplished with one system alone?
![Page 14: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/14.jpg)
Because…Projects such as realtime data
fusion and expert databases “refuse” to be categorized.
That is, they require coordination tools to work in different settings.
![Page 15: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/15.jpg)
ExtrapolationConsider the communication
between people in a system like Linda.
Instead of processes, imagine people communicating in Linda.
The system now consists of a tuple space surrounded by people who release, read and retrieve tuples directly.
Also, each person may be represented by a software system
![Page 16: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/16.jpg)
Therefore, we can now build an information sharing software, in which each tuple is an information object.
To sum it up– when we introduce general purpose coordination language, it results in the broadening of the intellectual scope.
![Page 17: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/17.jpg)
ConclusionResearch in this area would lead
to the development of a tool of great power and significance.
It would also provide a better understanding of the root problems of Computer Science
![Page 19: Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar](https://reader036.vdocument.in/reader036/viewer/2022083009/56649f135503460f94c27ca8/html5/thumbnails/19.jpg)
Questions?