| Sudhir Ahuja, Nicholas Carriero, David Gelernter, and Venkatesh Krishnaswamy. Matching language and hardware for parallel computation in the linda machine. IEEE Transactions on Computers, 37(8):921--929, Aug 1988. |
....is advantageous. This scheme is best visualized by considering a machine organized as a mesh of processors. Tuples are multicast to all processors in a machine s row, and templates are sent to all processors in the machine s column. This scheme was adopted by Krishnaswamy for the Linda machine [2]. Methods using broadcast (or multicast) require a type of coherence protocol. Consider the negative broadcast scheme, for example. A template is broadcast to all nodes and more than one node has a matching tuple. A protocol is required to ensure that only one of the matching tuples is removed ....
Sudhir Ahuja, Nicholas Carriero, David Gelernter, and Venkatesh Krishnaswamy. Matching language and hardware for parallel computation in the linda machine. IEEE Transactions on Computers, 37(8):921--929, Aug 1988.
....by invalidate and resend on access or by RMI style mechanisms, are inecient (re sending a large object or a log of operations (RMI) and often infeasible (especially if the methods require data available only on the server side) for data mining applications. Distributed shared memory systems [3, 5, 11, 29, 46, 44, 22, 24, 55] all support transparent sharing of data amongst remote processes, with ecient update propagation, but most require tight coupling of processes with sharing that is not address independent. None of the above systems support exible client controlled coherence, client controlled memory placement ....
S. Ahuja, N. Carreiro, D. Gelernter, and V. Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37(8):896-908, August 1988.
....However, update propagation in such systems (typically supported either by invalidate and resend on access or by RMI style mechanisms) are inecient (re sending a large object or a log of operations (RMI) and often infeasible 1 for data mining applications. Distributed shared memory systems [3, 5, 26, 35, 33, 20, 22, 43] all support transparent sharing of data amongst remote processes, with ecient update propagation, but most require tight coupling of processes with sharing that is not address independent. None of the above systems support exible client controlled coherence, client controlled memory placement ....
S. Ahuja, N. Carreiro, D. Gelernter, and V. Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37(8):896-908, August 1988.
....may prevent several compiling optimizations allowed by P 3 L, and may make it difficult to adopt a solution in which HPF is used as P 3 L host language. Finally let us assess our methodology with respect to the coordination languages and the corresponding computational models. Linda [1], which is one of the most important examples of this kind of languages, provides the abstraction of a shared, content addressable memory that can be accessed by any process. While Linda is architecture independent, and thus holds those characteristics of high levelness that facilitate the ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnswamy. Matching Languages and Hardware for Parallel Computation in the Linda Machine. IEEE Transactions on Computers, 37(8):921-- 929, August 1988.
....12 05 2000; 14:37; p.1 2 the processors of the target machine. This is too restrictive programs forced into this style may lack sufficient parallelism to fully use a target machine; or may require artificial and opaque structuring. At the other extreme, coordination languages such as Linda (Ahuja et al., 1988) allow flexible arrangement of program components, but it is hard to predict the performance of the resulting program. The NOT model allows node programs to be connected by directed edges modelling data dependencies. Its primary goal is preserve predictability of performance: knowing the cost of ....
....for coordination languages has weakened the requirements to explicitly express communication. Tasks graphs require an explicit partitioning of the program into pieces, and the data flow between pieces is marked by communication actions such as messages. In coordination languages such as Linda (Ahuja et al., 1988; Carriero Gelernter, 1988) the partitioning is still explicit, but communication is not. Program pieces communicate by placing data into and extracting data from a shared region usually called tuple space. This reduces the complexity of program construction since sends and receives do not ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnaswamy. Matching languages and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37, No.8:921--929, August 1988.
....their communication aspects, and providing a separate language in which to specify communication. This separation makes the computation and communication orthogonal to each other, so that a particular coordination style can be applied to any sequential language. The best known example is Linda [4, 46 48], which replaces point to point communication with a large shared pool into which data values are placed by processes, and from which they are retrieved associatively. This shared pool is known as a tuple space. The Linda communication model contains three communication operations: in which ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnaswamy. Matching languages and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37, No.8:921--929, August 1988. 41
....approach has two strongly 2 tempting features, which made us decide on taking it: it is easy to program and fast in use. Besides, it frees us from coping with some problematic questions, e. g: how is the pointer to be represented in Strand [5] Or, similarly, in some implementations of Linda [3], tuple space is an ordinary data structure; one can have an array of tuple spaces. How is that to translate We have decided to use types that are common to all languages we currently use (it is difficult to imagine a language that would not provide that) integers, reals, strings and sequences ....
.... Invoke function which export references to a capsule of the Manager type exportreferences( Manager , irManager) Call the StartWorkers function of Manager interface argl[0] values.intval irManager StartWorkers(argl[1] values.intval, argl[2] values.intval, argl[3] values.intval) Type of return value argl[0] type = NETINT; Encode return value buflen = encodereturnvalue(argl[0] rnumber, buf) Send back this buffer to IS csend(buf, buflen) else Code for calls of other interfaces operations . else ....
S. Ahuja, N. Carriero, D. Gelernter, V. Krishnaswamy, Matching Language and Hardware for Parallel Computation in the Linda Machine, IEEE Transactions on Computers, Aug vol. 37, (1988).
....the list of tuple space nodes to provide a wider distribution of tuples. The addition of the new tuple to each tuple space causes any blocked threads to be awakened so that they can try to match against the new tuple. 6 Discussion Distributed Linda can be implemented using either replication [2, 6, 14] or hashing [4] Some designs also include the notion of dynamic migration: if a set of tuples is being consumed on a particular node, it is more efficient if they are stored directly on that node. The hash based approach implements tuple space as a distributed hash table in which one or more ....
Sudhir Ahuja, Nicholas J. Carriero, David H. Gelernter, and Venkatesh Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, C--37(8):921--929, August 1988.
....eval( simply launches a thread in a network processor, no tuple is implicitly created with its call. The same effect of the living tuple can still be obtained by making the thread deposit a result tuple in the TS before termination. A similar change to the original model was also made in Glenda[2], P4 Linda[6] and TsLib[28] The rational is that the concept of live tuple is an elegant idea, but in practice eval( is just used to launch a process or thread. The Eilean eval( primitive accepts an optional additional parameter: an integer value, identifying the domain in which the process ....
....among Linda researchers about the way this distribution should be performed. 5.1 Distribution Policies Various approaches for the TS organization have been suggested so far, namely: Centralized, Uniform distribution, Intermediate uniform distribution and Hashing. In a uniform distribution [2] tuples are broadcast by their generating node to all the nodes in the network. Requests for tuples involve a local search and global invalidation through broadcast. Within this general model there is a large spectrum of variants, but they are all intrinsically not scalable due to the overhead of ....
S.Ahuja, N.Carriero, V.Krishnaswamy. "Matching Language and Hardware for Parallel Computation in the Linda Machine", IEEE Transactions on Computers, Vol. 37,No. 8, August 1988.
....our needs. 6.1. Tuple Space Distribution Policies Various approaches to implement a distributed Tuple Space in distributed memory systems have been suggested so far. The most significant are: Uniform distribution Intermediate uniform distribution Hashing In a uniform distribution scheme [2], tuples are broadcast by their generating nodes to all nodes within a predetermined node s out set , and requests for tuples are broadcast to all nodes in the node s in set . Within this general model, there is a large spectrum of possibilities. We can implement out(T) by broadcasting T to all ....
....where an out(T) stores T locally, and ins and rds make networkwide broadcasts to locate matching tuples. This scheme is intrinsically not scalable due to the broadcasts and has a big memory overhead due to the full tuple replication. Another possibility is an intermediate uniform distribution [2]. It works by having a restricted replication of Tuples through the network. To implement out( we broadcast T to N nodes, the out set ; in( and rd( work by broadcasting requests to different N nodes, the in set . We must design in sets and out sets in such a way that each in set includes at ....
[Article contains additional citation context not shown here]
S.Ahuja, N.Carriero, V.Krishnaswamy. "Matching Language and Hardware for Parallel Computation in the Linda Machine", IEEE Transactions on Computers, Vol. 37,No. 8, August 1988.
....are strictly related to the architecture topology. The replication strategy must take into account the structure of the communication system, that influence the implementation costs both of the replication strategy and of the coherence protocols. An interesting example is the Linda Machine [10]. The system is configures a 2 D mesh topology: a node is identified by the row and column numbers of its position in the mesh. Whenever a tuple enters the tuple space via an Out operation, it is replicated along the whole row of the mesh of the source node. Whenever a request enters the tuple ....
S.Ahuja et alii, "Matching Language and Hardware for Parallel Computation in the LINDA Machine", IEEE Transaction on Computers, Vol. 37, No. 8, Aug. 1988.
....programming models with different paradigms, from parallel extensions of conventional languages [9] to complete 24 parallel operating systems [10] 16] For example, ALPS [10] was developed at Ohio State University. Trollius [11,12] is from Cornell University and Ohio State University. Linda [13], including the programming model and its associated physical machine, was launched by Yale University. EXPRESS [14] is from the Parasoft Corporation. Different environments generally provide different communication philosophies and various programming aids. Among the features of the proposed ....
S. Ahuja, N. J. Carriero, D. H. Gelernter, and V. Krishnaswamy, "Matching language and hardware for parallel computation in the Linda machine," IEEE Trans. Comput., vol. 37, No.8, pp. 921-929, 1988.
....asynchronous paradigms have resulted in systems whose complexity tends to negate the primary benefit of the original model [23] A second shortcoming of the RPC paradigm is its lack of support for shared data. The shared data paradigm is a natural basis for implementing a variety of applications [2, 4]. However, as RPC is tied to the message based communication model, it does not directly support shared data. Finally, RPC provides only limited support for dynamic data structures and call byreference semantics. XDR, for example, supports the notion of embedded references within a data structure ....
Ahuja, S., et. al., Matching Language and Hardware for Parallel Computation in the Linda Machine, IEEE Transactions on Computers, Vol. 37, No. 8, August, 1988, pp. 921-929.
....can handle only as many threads as a single engine with a processor to itself. The floor manager process could be extended to cope with the latter kind of information. 5. Comparisons Many implementations have been described, beginning with the uniform distribution model outlined in [9] and [1], and the hashing schemes of [5] and [1] More recently, work has been 7 A closure is an expression, together with any code that is required and the environment containing the values, at the time the closure was created, of any free variables done by Zenith [16] Faasen [7] and Feng [8] on the ....
....a single engine with a processor to itself. The floor manager process could be extended to cope with the latter kind of information. 5. Comparisons Many implementations have been described, beginning with the uniform distribution model outlined in [9] and [1] and the hashing schemes of [5] and [1]. More recently, work has been 7 A closure is an expression, together with any code that is required and the environment containing the values, at the time the closure was created, of any free variables done by Zenith [16] Faasen [7] and Feng [8] on the implementation of Linda on transputer ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37(8):921--929, August 1988.
....flow to only a single thread expressed as sequence or function composition [19] If we consider other programming methodologies proposed to make the process of the parallel software development easier, we have to consider the coordination languages and the corresponding computational models. Linda [1], which is the most important example of this kind of language, provides the abstraction of a shared, content addressable memory that can be accessed by any process. While Linda is architecture independent, and thus holds those characteristics of high levelness that facilitate the parallel ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnswamy. Matching Languages and Hardware for Parallel Computation in the Linda Machine. IEEE Transactions on Computers, 37(8):921--929, August 1988.
....of the mapping problem is avoided by reducing the topological structure of the program. 2 Some Proposed Models Let us consider some proposed models to see how well they satisfy these criteria. We will examine the PRAM model, Valiant s Bulk Synchronous Parallel (BSP) model [31, 32] Linda [1, 17], and higher order functional programming [22] This is only a small selection of the models of parallel computation that have been suggested a survey covering many more can be found in [27] The PRAM Model does not meet the needs of the programmer very well. It requires a complete description ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnswamy. Matching languages and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37, No.8:921--929, August 1988.
....always placed on particular tuple space managers, regardless of the tuple space name) Some communication may be needed for arbitration purposes, but in an efficient implementation, this will be no more than is required for an in or rd. Examples of this kind of implementation are given in [7] and [8]. Where no duplication is allowed, hashing is the most commonly used method in tuple placement and retrieval. Each outed tuple hashes to a tuple space manager, and each template will hash to either a single tuple space manager, or a set of tuple space managers where the tuple can be found. Once ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37(8):921--929, 1988.
....operations form a so called coordination language [9] which, when combined with a sequential programming language, generates a new language for concurrent systems. Such a combination is called embedding and can be implemented by changes to the sequential programming language syntax and runtime [10], by preprocessing source code [11] by libraries [12] or can be provided as an extended operating system [13] Linda like coordination is attractive for programming distributed applications on the Web because it allows for several unique characteristics not found in other similar technologies, ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnaswamy, "Matching Language and Hardware for Parallel Computation in the Linda Machine," IEEE Trans. Computers, vol. 37, no. 8, pp. 921-- 929, Aug. 1988.
....ffl and have no corresponding formal fields. Table 1 shows various combinations of tuples and templates and whether or not they match. 1 In response to the high cost of process creation, many Linda implementations only create processes for the function valued fields of an eval. int i=3, x[3] y[2,3]; float f; Tuple Template Match Comments ( semaphore ) semaphore ) yes values match (2) 3) no values do not match (3) i) yes values and types match (2) i) no types match, values do not (2 ( i) yes types match (i 2) 2, 5.6) i, f) yes types match (2, 5.6) f, i) no types do not match in ....
....is advantageous. This scheme is best visualized by considering a machine organized as a mesh of processors. Tuples are multicast to all processors in a machine s row, and templates are sent to all processors in the machine s column. This scheme was adopted by Krishnaswamy for his Linda machine [2]. Methods using broadcast (or multicast) require a type of coherence protocol. Consider the negative broadcast scheme, for example. A template is broadcast to all nodes and more than one node has a matching tuple. A protocol is required to ensure that only one of the matching tuples is removed ....
Sudhir Ahuja, Nicholas Carriero, David Gelernter, and Venkatesh Krishnaswamy. Matching language and hardware for parallel computation in the linda machine. IEEE Transactions on Computers, 37(8):921--929, Aug 1988.
....BaLinda Lisp [FGY] Clearly, however, as the number of processors increases, the tuple space manager becomes a bottleneck. So, some means of distributing the tuple space is required, whilst retaining its logical unity. There are basically three methods for implementing a distributed tuple space [ACGK88] Non uniform Distribution This is basically a hash based scheme, with tuples stored in a distributed hash table, where different hash bins generally map to different nodes. Hashing is economical, since tuples do not need to be replicated, and there is no need to broadcast data over the ....
....variant of uniform distribution, lying between the extremes of uniform distribution. Given N nodes, the sizes of the out set and in set are p N . So, there is no need for network wide broadcasts. The number of nodes required to participate in a transaction is minimal, and provably optimal [ACGK88] 1.3 Overview Distributed Linda implementations are described in Sections 2 to 9. In Section 10 a generalisation of Linda implementations is developed, and the conclusions are drawn in Section 11. 2 York s Meiko Linda Kernel This kernel was written by Douglas [DWR95] here at York for Linda on ....
[Article contains additional citation context not shown here]
S. Ahuja, N. J. Carriero, D. H. Gelernter, and V. Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37(8):912--929, August 1988.
....of a full replication strategy is the S Net s Linda Kernel [17] based on the global Out tuple replication scheme: the scalability of this solution is limited even in presence of hardware support to broadcast. A widely known implementation of a partial replication strategy is the Linda Machine [18]: the system is shaped as a 2 D grid of buses: tuples are replicated by row or by column depending on their class. This implementation is based on a specialized hardware support: the nodes of the system are connected by a grid of buses to support broadcast and, so, to keep low the cost of the ....
S.Ahuja et al, `Matching Language and Hardware for Parallel Computation in the LINDA Machine', IEEE Transactions on Computers, Vol. 37, No. 8, Aug. 1988, pp. 921-929.
....kind can be found in Figure 1. A summary of the properties of these models can be found in Figure 2. models allowing full expressibility completely abstract graph reduction [20, 30, 47, 40] OBJ and its derivatives [24, 23] UNITY [13] action systems [4] partly abstract dataflow [22, 25] Linda [2] actors [1] low level PMI [15] Pi [48] the PRAM model models restricting the form of computations PRAM extensions scan [10] multiprefix [41] XPRAM, bulk synchronous parallelism [46, 45] YPRAM [21] hierarchical PRAM [29] VLIW in the large [16] control structured skeletons [14] P 3 L [17, 18, 5] ....
....is present. These models allow the parallel structure of the system to be seen at the program level but avoid much of the housekeeping detail of managing it. For example, dataflow describes communication implicitly using variable names, and synchronization is captured by a firing rule. Linda [2] uses the abstraction of tuple space to manage both communication and synchronization and, like dataflow, scheduling is easy because there is only one mechanism that can cause blocking. Communication and synchronization are arguably more visible in Linda than in dataflow. Actors [1] are another ....
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnswamy. Matching languages and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37, No.8:921--929, August 1988.
No context found.
S. Ahuja, N. Carriero, D. Gelernter and V. Krishnaswamy, `Matching language and hardware for parallel computation in the Linda machine', IEEE Trans. Computers, 37, (8), 921--929 (1988).
No context found.
S. Ahuja, N. Carriero, D. Gelernter, and V. Krishnaswamy. Matching language and hardware for parallel computation in the Linda machine. IEEE Transactions on Computers, 37(8):921--929, August 1988.
No context found.
AHUJA88. Sudhir Ahuja, et al. Matching language and hardware for parallel computation on a Linda machine. IEEE Trans. on Computers Vol.37 No.8, 921--929 (Auguest 1988).
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC