the authors develop some control structures suitable for composing fault-tolerant distributed applications using atomic actions (atomic transactions) as building blocks. the authors describe how such structures may be...
详细信息
the authors develop some control structures suitable for composing fault-tolerant distributed applications using atomic actions (atomic transactions) as building blocks. the authors describe how such structures may be implemented using the concept of multicolored actions. the reasons why other control structures, in addition to nested and concurrent atomic actions, are desirable and are identified, and three structures are proposed: serializing actions, glued actions, and top-level independent actions. A number of examples are used to illustrate their usefulness. A technique based on the concept of multicolored actions is presented as a uniform basis for implementing all of the three action structures presented.< >
A spectrum of abstractions for multicast communications is introduced in increasing order of both desirability and semantic level: functional mapping, iterators, and streams. Examples of distributed algorithms from th...
详细信息
A spectrum of abstractions for multicast communications is introduced in increasing order of both desirability and semantic level: functional mapping, iterators, and streams. Examples of distributed algorithms from the literature are used to illustrate the expressive power of each mechanism. Streams, in particular, provide first-class status for multicast communication in progress and can be implemented efficiently in typical multicast communication architectures. Related work and the criteria for multicast support are discussed. the layers of a typical distributed system that are relevant to language support for multicast communication are discussed.< >
A distributed deadlock detection/resolution algorithm is proposed. In this algorithm, when a deadlock cycle is detected, it is resolved by reordering the wait-for relations between pairs of transactions. therefore, no...
详细信息
A distributed deadlock detection/resolution algorithm is proposed. In this algorithm, when a deadlock cycle is detected, it is resolved by reordering the wait-for relations between pairs of transactions. therefore, no transaction abortions are necessary to resolve deadlock cycles. this results in fewer messages and smaller transaction response time. the correctness of this abortion-free algorithm is proved. the abortion-free algorithm can be extended to handle read/write lock requests and to distinguish between transaction classes.< >
the problem of system failure and recovery of distributed shared virtual memory (DSVM) is studied. Most DSVM systems use the notion of tokens to indicate a site's access rights on the data pages it caches, and a l...
详细信息
the problem of system failure and recovery of distributed shared virtual memory (DSVM) is studied. Most DSVM systems use the notion of tokens to indicate a site's access rights on the data pages it caches, and a locating scheme to get to the most up-to-date version of a data page. the problem is to recovery this token directory after a site has failed. the authors' solution is to treat the token directory at each site as a fragment of a global token database and the page migration activities as token transactions that update this distributed database. By the use of the unilateral commit protocol for token transactions, fast recovery of the token state at minimal run-time overhead of token transaction execution is achieved.< >
the authors define basic units of computation in distributed systems, whether communicating synchronously or asynchronously, as comprising indivisible logical units of computation that take the system from one ground ...
详细信息
the authors define basic units of computation in distributed systems, whether communicating synchronously or asynchronously, as comprising indivisible logical units of computation that take the system from one ground state to another. It is explained how a computation can be viewed as a partial order over the basic units of the computation. the problem of detecting the basic units is considered. One algorithm for creating ground states during a computation in an asynchronously communicating system with FIFO channels is given, and an existing algorithm that implicitly creates ground states in a synchronously communicating system is referenced. the significance of the basic unit is explained, and its applications are given.< >
Tarmac, a language system substrate on which systems for distributed parallel programming can be built, is described. A model of shared global state, called mobile memory, which is provided by Tarmac, is discussed. th...
详细信息
Tarmac, a language system substrate on which systems for distributed parallel programming can be built, is described. A model of shared global state, called mobile memory, which is provided by Tarmac, is discussed. the basic unit of state in this model can be viewed both (1) as a block of memory that can be directly accessed by machine instructions and (2) as a logical entity with a globally unique name that may be efficiently located, copied, and moved. To support higher level synchronization models, the movements of a memory unit may optionally enable computations. the implementation and performance of Tarmac are discussed. Tarmac is contrasted with other systems for parallel distributed programming.< >
Algorithms for measuring the loads on the communication links in a distributed system are presented. Timestamped messages are used to measure latencies across physical and virtual links in the system. the algorithms d...
详细信息
Algorithms for measuring the loads on the communication links in a distributed system are presented. Timestamped messages are used to measure latencies across physical and virtual links in the system. the algorithms do not generate any additional message traffic. Instead, load measurement information is opportunistically piggybacked onto application messages. the link load values can be used to initiate process migration and for dynamic flow control. An example of how loads on virtual links may be measured is given.< >
Changes made to a distributed shared memory that runs of Sun workstations under SunOS 4.0 operating systems, called Mether, are outlined. Protocols developed to use Mether and that minimize host load, network load, an...
详细信息
Changes made to a distributed shared memory that runs of Sun workstations under SunOS 4.0 operating systems, called Mether, are outlined. Protocols developed to use Mether and that minimize host load, network load, and latency are discussed. the changes to Mether involve exposing an inconsistent store to the applications and making access to the consistent and inconsistent versions very convenient, providing both demand-driven and data-driven semantics for updating pages, and allowing the user to specify that only a small subset of a page needs to be transferred.< >
the influence of client and server cache sizes and the number of clients on caching performance is studied through trace-driven simulation. the results indicate that the locality of reference in disk block reference p...
详细信息
the influence of client and server cache sizes and the number of clients on caching performance is studied through trace-driven simulation. the results indicate that the locality of reference in disk block reference patterns allows relatively small caches to reduce significantly the number of disk accesses required. File server cache performance is significantly different from client cache performance owing to the capture of disk block references by the client caches. the major factor influencing overall miss ratio statistics (actual disk reference frequencies) is found to be the maximum of the server cache size and the size of client caches.< >
A practical solution to the structural analysis problem in a parallel processing environment is investigated through the use of the notion of cheap concurrency and the concept of thread. Portions of a structural analy...
详细信息
A practical solution to the structural analysis problem in a parallel processing environment is investigated through the use of the notion of cheap concurrency and the concept of thread. Portions of a structural analysis code implemented in C are parallelized using the encore parallel threads on an encore multimax multiprocessor computer. the issues of racing condition, synchronization, and mapping are considered and discussed. Results are reported on the effect of amount and frequency of shared memory access on the speedup. A discussion of the overhead time required for creating threads and a comparison of the overall computational time performance using two examples are presented.< >
暂无评论