the authors present the design and implementation of an asynchronous remote operation execution facility, futures, that retains the benefits of the remote procedure call (RPC) abstraction but allows execution to proce...
详细信息
the authors present the design and implementation of an asynchronous remote operation execution facility, futures, that retains the benefits of the remote procedure call (RPC) abstraction but allows execution to proceed locally in parallel with remote execution and provides extensive support for managing replies. It is shown how this facility can be easily used to support many common interprocess communication styles, including RPC, multicast, broadcast, returning incremental results, and the multiplexing of multiple remote computations. A flow control mechanism for futures is described.
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.
An introduction to the Axon architecture is presented. Axon is a host communication architecture for the distributed systems which can support interprocess communication with high throughput and low latency across a v...
详细信息
An introduction to the Axon architecture is presented. Axon is a host communication architecture for the distributed systems which can support interprocess communication with high throughput and low latency across a very high-speed internetwork. Network virtual storage (NVS) in the Axon host communication architecture for distributed applications is described. NVS extends segmented paged virtual storage management and address translation mechanisms to include segments located across an internetwork. this provides the ability to use efficiently the shared-memory paradigm in distributed systems for high-performance applications, such as scientific visualization and imaging.
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.
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 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.
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 recover 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 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 concept called multidimensional voting, in which the vote and quorum assignments are k-dimensional vectors of nonnegative integers and each dimension is independent of the others, is introduced. Multidimensional vot...
详细信息
A concept called multidimensional voting, in which the vote and quorum assignments are k-dimensional vectors of nonnegative integers and each dimension is independent of the others, is introduced. Multidimensional voting is more powerful than traditional weighted voting because it is equivalent to the general method for achieving synchronization in distributed systems which is based on coteries (sets of groups of nodes), but its implementation is easier than that of coteries. An efficient algorithm for finding a multidimensional vote assignment for any given coterie is described and examples of its use are shown. It is shown how multidimensional voting can be used to easily implement novel algorithms for synchronizing access to replicated data or to ensure mutual exclusion. these algorithms cannot be implemented by traditional weighted voting.
the problem of priority scheduling in real-time database systems is addressed. A prototyping environment for investigating distributed software is presented. Specific priority-based real-time locking protocols are dis...
详细信息
the problem of priority scheduling in real-time database systems is addressed. A prototyping environment for investigating distributed software is presented. Specific priority-based real-time locking protocols are discussed, together with a performance study which illustrates the use of the prototyping environment for evaluation of synchronization protocols for real-time database systems. the priority ceiling protocol, which achieves a high degree of schedulability and system predictability, is investigated, and its performance is compared withthat of other techniques and design choices. It is shown that this technique might be appropriate for real-time transaction scheduling since it is very stable over the wide range of transaction sizes, and compared with two-phase locking protocols, it reduces the number of deadline-missing transactions.
A combination of join and semijoin operations is applied to minimize the communication cost for distributed query processing. A formula is developed to estimate the cardinality of a relation resulting from join operat...
详细信息
A combination of join and semijoin operations is applied to minimize the communication cost for distributed query processing. A formula is developed to estimate the cardinality of a relation resulting from join operations specified by a query graph. Two important concepts which occur withthe use of join operations as reducers in query processing are studied and exploited, namely, gainful semijoins and pure join attributes. Some semijoins, though not profitable themselves, may benefit from the execution of subsequent join operations and become profitable owing to the use of join operations as reducers. Such a semijoin is termed a gainful semijoin. Also, join attributes which are not part of the output attributes are referred to as pure join attributes. A formula to estimate the cardinality of a relation resulting from a projection operation is derived. the results show the attractiveness of the approach of applying a combination of joins and semijoins as reducers to distributed query processing.
暂无评论