Persistant Linda: Linda + Transactions + Query Processing

Since other papers in this book describe Linda in depth, we content ourself with a brief review of the essentials. Linda is a small set of extensions to an otherwise sequential language, like C or Pascal, allowing the construction of programs that perform computations in parallel. Communication between the cooperating processes is accomplished by using a globally accessible tuple space composed of passive and active tuples. A passive tuple is merely a sequence of values of various types similar to a Pascal record or C structure. Each value and type is call a eld of the tuple and the acceptable data types include basic types (integer, oat, etc.) as well as arrays and records of data types. Active tuples are also sequences like passive tuples, but include unevaluated function calls with a statically typed result in addition to values. An active tuple cannot be accessed until it becomes passive, when all functions in tuples elds have terminated and resulted in a value. Tuple space is heterogeneous; two tuples in the space can have di erent types and numbers of elds. Tuple space can contain multiple copies of a tuple, unlike mathematical sets or database relations. Linda allows the programmer to access tuple space using four basic operations: two that place new tuples into tuple space and two that retrieve passive tuples from tuple space.

[1]  Dennis Shasha,et al.  Utilization of B-trees with inserts, deletes and modifies , 1989, PODS '89.

[2]  Dennis Shasha,et al.  A Symmetric Concurrent B-Tree Algorithm , 2011, Fall Joint Computer Conference.

[3]  Kaizhong Zhang,et al.  New algorithms for editing distance between trees , 1989 .

[4]  Dennis Shasha,et al.  Temporal verification of carrier-sense local area network protocols , 1984, POPL '84.

[5]  Nicholas Carriero,et al.  Applications experience with Linda , 1988, PPEALS '88.

[6]  Harvey M. Deitel Chapter 12 – Operating Systems , 1986 .

[7]  Nicholas Carriero,et al.  Linda and Friends , 1986, Computer.

[8]  Dennis Shasha,et al.  Promises versus assumptions in database fault tolerance , 1991, BDA.

[9]  Dennis Shasha,et al.  Concurrent set manipulation without locking , 1988, PODS '88.

[10]  Nicholas Carriero,et al.  How to write parallel programs: a guide to the perplexed , 1989, CSUR.

[11]  Dennis Shasha,et al.  An analytical model for the performance of concurrent B tree algorithms , 1987 .

[12]  Dennis Shasha When Does Non-Linear Text Help? , 1986, Expert Database Conf..

[13]  Catriel Beeri,et al.  A Concurrency Control Theory for Nested Transactions. , 1983, PODC 1983.

[14]  Dennis Shasha,et al.  Beyond Fail-Stop: Wait-Free Serializability and Resiliency in the Presence of Slow-Down Failures , 1990 .

[15]  Dennis Shasha,et al.  A framework for the performance analysis of concurrent B-tree algorithms , 1990, PODS '90.

[16]  Dennis Shasha Database Tuning - A Principled Approach , 1992 .

[17]  Harvey M. Deitel,et al.  An introduction to operating systems , 1984 .

[18]  Dennis Shasha,et al.  NetBook - a Data Model to Support Knowledge Exploration , 1985, VLDB.

[19]  Dennis Shasha,et al.  Semantically-based concurrancy control for search structures , 1985, PODS '85.

[20]  Jr. Nicholas John Carriero Implementation of tuple space machines , 1987 .

[21]  J. Mattick Genome research , 1990, Nature.