Presentation is loading. Please wait.

Presentation is loading. Please wait.

Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar.

Similar presentations


Presentation on theme: "Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar."— Presentation transcript:

1 Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar

2 Outline What is a Computational and a Coordination model? Background on Linda Integration or separation arguments Ensembles Arguments in favor of separation Basic claims with regard to separation Portability and heterogeneity Economy and Flexibilty 1. Interpolation 2. Extrapolation Conclusion

3 Computation and Coordination languages A 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.

4 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 tuplespace out produces a tuple, writing it into tuplespace eval creates new processes to evaluate tuples, writing the result into tuplespace

5 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..

6 Ensembles An 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.

7 Orthogonality A computational language by itself is useless! So is a coodination language! All useful computing depends on a combination of the two

8 Generality The 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.

9 Further arguments in favor of separation and generality: Separation: Portability and support for heterogeneity Generality: Economy and flexibility

10 Portability Reusability or recycle-ability When 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.

11 Heterogeneity Generalization of portability If 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

12 Economy and Flexibility Simple 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

13 Interpolation Why do we need more than one communication systems to handle something that can be accomplished with one system alone?

14 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.

15 Extrapolation Consider 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

16 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.

17 Conclusion Research 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

18 References www.wikipedia.com

19 Questions?


Download ppt "Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar."

Similar presentations


Ads by Google