Results 11 - 20
of
361
Using Process Groups to Implement Failure Detection in Asynchronous Environments
, 1991
"... Agreement on the membership of a group of processes in a distributed system is a basic problem that arises in a wide range of applications. Such groups occur when a set of processes co-operate to perform some task, share memory, monitor one another, subdivide a computation, and so forth. In this pap ..."
Abstract
-
Cited by 173 (18 self)
- Add to MetaCart
Agreement on the membership of a group of processes in a distributed system is a basic problem that arises in a wide range of applications. Such groups occur when a set of processes co-operate to perform some task, share memory, monitor one another, subdivide a computation, and so forth. In this paper we discuss the Group Membership Problem as it relates to failure detection in asynchronous, distributed systems. We present a rigorous, formal specification for group membership under this interpretation. We then present a solution for this problem that improves upon previous work.
Providing High Availability Using Lazy Replication
, 1992
"... To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operat ..."
Abstract
-
Cited by 166 (5 self)
- Add to MetaCart
To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operation order can preserve consistency while providing better performance. This paper describes a new way of implementing causal operations. Our technique also supports two other kinds of operations: operations that are totally ordered with respect to one another and operations that are totally ordered with respect to all other operations. The method performs well in terms of response time, operation-processing capacity, amount of stored state, and number and size of messages: it does better than replication methods based on reliable multicast techniques.
An Evaluation of Scalable Application-Level Multicast Built Using Peer-to-Peer Overlays
- In Infocom’03
, 2003
"... Structured peer-erg163 overlay networks such as CAN, Chord, Pastry, and Tapestry can be used to implement Internet-g683 application-3 vel multicast. There are two general approaches to accomplishingthis: tree buildingand flooding. This paper evaluates these two approaches usingtwo different types of ..."
Abstract
-
Cited by 166 (14 self)
- Add to MetaCart
(Show Context)
Structured peer-erg163 overlay networks such as CAN, Chord, Pastry, and Tapestry can be used to implement Internet-g683 application-3 vel multicast. There are two general approaches to accomplishingthis: tree buildingand flooding. This paper evaluates these two approaches usingtwo different types of structured overlay: 1) overlays which use a form of generalized hypercube routing, e.g., Chord, Pastry and Tapestry, and 2) overlays which use a numerical distance metric to route through a Cartesian hyper-erg15 e.g., CAN. Pastry and CAN are chosen as the representatives of each type of overlay. To the best of our knowledge, this paper reports the firstheadto -d- comparison ofCAN-B91g versus Pastry-gZ4B overlay networks, usingmulticast communication workloads runningon an identical simulation infrastructure. The two approaches to multicast are independent of overlay network choice, and we provide a comparison of floodingversus tree-2696 multicast on both overlays. Results show that the tree-2613 approach consistently outperforms the floodingapproach. Finally, for treebased multicast, we show that Pastry provides better performance than CAN.
On the Impossibility of Group Membership
, 1996
"... We prove that the primary-partition group membership problem cannot be solved in asynchronous systems with crash failures, even if one allows the removal or killing of non-faulty processes that are erroneously suspected to have crashed. 1 Introduction The problem of group membership has been the ..."
Abstract
-
Cited by 156 (5 self)
- Add to MetaCart
We prove that the primary-partition group membership problem cannot be solved in asynchronous systems with crash failures, even if one allows the removal or killing of non-faulty processes that are erroneously suspected to have crashed. 1 Introduction The problem of group membership has been the focus of much theoretical and experimental work on fault-tolerant distributed systems. A group membership protocol manages the formation and maintenance of a set of processes called a group. For example, a group may be a set of processes that are cooperating towards a common task (e.g., the primary and backup servers of a database), a set of processes that share a common interest (e.g., clients that subscribe to a particular newsgroup), or the set of all processes in the system that are currently deemed to be operational. In general, a process may leave a group because it failed, it voluntarily requested to leave, or it is forcibly expelled by other members of the group. Similarly, a proces...
Sinfonia: a new paradigm for building scalable distributed systems
- In SOSP
, 2007
"... We propose a new paradigm for building scalable distributed systems. Our approach does not require dealing with message-passing protocols—a major complication in existing distributed systems. Instead, developers just design and manipulate data structures within our service called Sinfonia. Sinfonia ..."
Abstract
-
Cited by 153 (12 self)
- Add to MetaCart
(Show Context)
We propose a new paradigm for building scalable distributed systems. Our approach does not require dealing with message-passing protocols—a major complication in existing distributed systems. Instead, developers just design and manipulate data structures within our service called Sinfonia. Sinfonia keeps data for applications on a set of memory nodes, each exporting a linear address space. At the core of Sinfonia is a novel minitransaction primitive that enables efficient and consistent access to data, while hiding the complexities that arise from concurrency and failures. Using Sinfonia, we implemented two very different and complex applications in a few months: a cluster file system and a group communication service. Our implementations perform well and scale to hundreds of machines.
Replica Control in Distributed Systems: An Asynchronous Approach
- In Proceedings of the 1991 ACM SIGMOD International Conference on Management of Data
, 1991
"... An asynchronous approach is proposed for replica control in distributed systems. This approach applies an extension of serializability called epsilon-serializability (ESR), a correctness criterion which allows temporary and bounded inconsistency in replicas to be seen by queries. Moreover, users can ..."
Abstract
-
Cited by 153 (19 self)
- Add to MetaCart
(Show Context)
An asynchronous approach is proposed for replica control in distributed systems. This approach applies an extension of serializability called epsilon-serializability (ESR), a correctness criterion which allows temporary and bounded inconsistency in replicas to be seen by queries. Moreover, users can reduce the degree of inconsistency to the desired amount. In the limit, users see strict 1-copy serializability. Because the system maintains ESR correctness (1) replicas always converges to global serializability and (2) the system permits read access to object replicas before the system reaches a quiescent state. Various replica control methods that maintain ESR are described and analyzed. Because these methods do not require users to refer explicitly to ESR criteria, they can be easily encapsulated in high-level applications that use replicated data. 1 Introduction Data replication offers the benefits of autonomy, performance, and availability. Unfortunately, ensuring that the replica...
Understanding replication in databases and distributed systems
- In Proceedings of 20th International Conference on Distributed Computing Systems (ICDCS’2000
, 2000
"... Replication is an area of interest to both distributed systems and databases. The solutions developed from these two perspectives are conceptually similar but differ in many aspects: model, assumptions, mechanisms, guarantees provided, and implementation. In this paper, we provide an abstract and “n ..."
Abstract
-
Cited by 125 (10 self)
- Add to MetaCart
(Show Context)
Replication is an area of interest to both distributed systems and databases. The solutions developed from these two perspectives are conceptually similar but differ in many aspects: model, assumptions, mechanisms, guarantees provided, and implementation. In this paper, we provide an abstract and “neutral ” framework to compare replication techniques from both communities. The framework has been designed to emphasize the role played by different mechanisms and to facilitate comparisons. The paper describes the replication techniques used in both communities, compares them, and points out ways in which they can be integrated to arrive to better, more robust replication protocols. 1.
The Spread Wide Area Group Communication System
"... Building a wide area group communication system is a challenge. This paper presents the design and protocols of the Spread wide area group communication system. Spread integrates two low-level protocols: one for local area networks called Ring, and one for the wide area network connecting them, call ..."
Abstract
-
Cited by 122 (22 self)
- Add to MetaCart
Building a wide area group communication system is a challenge. This paper presents the design and protocols of the Spread wide area group communication system. Spread integrates two low-level protocols: one for local area networks called Ring, and one for the wide area network connecting them, called Hop. Spread decouples the dissemination and local reliability mechanisms from the global ordering and stability protocols. This allows many optimizations useful for wide area network settings. Spread is operational and publicly available on the Web. 1. Introduction There exist some fundamental difficulties with high-performance group communication over wide-area networks. These difficulties include: . The characteristics (loss rates, amount of buffering) and performance (latency, bandwidth) vary widely in different parts of the network. . The packet loss rates and latencies are significantly higher and more variable then on LANs. . It is not as easy to implement efficient reliability...
Subcontract: A Flexible Base for Distributed Programming
- Distributed Computing. Symposium on Operating Systems Principles
, 1993
"... : A key problem in operating systems is permitting the orderly introduction of new properties and new implementation techniques. We describe a mechanism, subcontract, that within the context of an object-oriented distributed system permits application programmers control over fundamental object mec ..."
Abstract
-
Cited by 109 (2 self)
- Add to MetaCart
: A key problem in operating systems is permitting the orderly introduction of new properties and new implementation techniques. We describe a mechanism, subcontract, that within the context of an object-oriented distributed system permits application programmers control over fundamental object mechanisms. This allows programmers to define new object communication without modifying the base system. We describe how new subcontracts can be introduced as alternative communication mechanisms in the place of existing subcontracts. We also briefly descibe some of the uses we have made of the subcontract mechanism to support caching, crash recovery, and replication. email addresses: graham.hamilton@eng.sun.com michael.powell@eng.sun.com jim.mitchell@eng.sun.com A Sun Microsystems, Inc. Business M/S 29-01 2550 Garcia Avenue Mountain View, CA 94043 2 Subcontract: A Flexible Base for Distributed Programming Graham Hamilton, Michael L. Powell, James G. Mitchell Sun Microsystems Labo...
Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS
, 2011
"... Geo-replicated, distributed data stores that support complex online applications, such as social networks, must provide an “always-on” experience where operations always complete with low latency. Today’s systems often sacrifice strong consistency to achieve these goals, exposing inconsistencies to ..."
Abstract
-
Cited by 98 (6 self)
- Add to MetaCart
Geo-replicated, distributed data stores that support complex online applications, such as social networks, must provide an “always-on” experience where operations always complete with low latency. Today’s systems often sacrifice strong consistency to achieve these goals, exposing inconsistencies to their clients and necessitating complex application logic. In this paper, we identify and define a consistency model—causal consistency with convergent conflict handling, or causal+—that is the strongest achieved under these constraints. We present the design and implementation of COPS, a key-value store that delivers this consistency model across the wide-area. A key contribution of COPS is its scalability, which can enforce causal dependencies between keys stored across an entire cluster, rather than a single server like previous systems. The central approach in COPS is tracking and explicitly checking whether causal dependencies between keys are satisfied in the local cluster before exposing writes. Further, in COPS-GT, we introduce get transactions in order to obtain a consistent view of multiple keys without locking or blocking. Our evaluation shows that COPS completes operations in less than a millisecond, provides throughput similar to previous systems when using one server per cluster, and scales well as we increase the number of servers in each cluster. It also shows that COPS-GT provides similar latency, throughput, and scaling to COPS for common workloads.