• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Consistent global states of distributed systems: fundamental concepts and mechanisms (chapter 4), (1993)

by O Babaolu, K Marzullo
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 147
Next 10 →

A Survey of Rollback-Recovery Protocols in Message-Passing Systems

by E. N. ( Mootaz) Elnozahy, Lorenzo Alvisi, Yi-min Wang, David B. Johnson , 1996
"... this paper, we use the terms event logging and message logging interchangeably ..."
Abstract - Cited by 716 (22 self) - Add to MetaCart
this paper, we use the terms event logging and message logging interchangeably
(Show Context)

Citation Context

...echniques have been developed to prevent it.sOne such technique is to perform coordinated checkpointingsin which processes coordinate their checkpoints in order to save a system-wide consistent state =-=[17]-=-.sThis consistentsset of checkpoints can then be used to bound rollback propagation.sAlternatively, communication-inducedscheckpointing forces each process to take checkpoints based on information pig...

Building Secure and Reliable Network Applications

by Kenneth Birman , 1996
"... ly, the remote procedure call problem, which an RPC protocol undertakes to solve, consists of emulating LPC using message passing. LPC has a number of "properties" -- a single procedure invocation results in exactly one execution of the procedure body, the result returned is reliably deliv ..."
Abstract - Cited by 230 (16 self) - Add to MetaCart
ly, the remote procedure call problem, which an RPC protocol undertakes to solve, consists of emulating LPC using message passing. LPC has a number of "properties" -- a single procedure invocation results in exactly one execution of the procedure body, the result returned is reliably delivered to the invoker, and exceptions are raised if (and only if) an error occurs. Given a completely reliable communication environment, which never loses, duplicates, or reorders messages, and given client and server processes that never fail, RPC would be trivial to solve. The sender would merely package the invocation into one or more messages, and transmit these to the server. The server would unpack the data into local variables, perform the desired operation, and send back the result (or an indication of any exception that occurred) in a reply message. The challenge, then, is created by failures. Were it not for the possibility of process and machine crashes, an RPC protocol capable of overcomi...

Communication Complexity of Group Key Distribution

by Klaus Becker, Uta Wille , 1998
"... Communication complexity has always been an important issue when designing group key distribution systems. This paper systematically studies what can be achieved for the most common measures of protocol complexity. Lower bounds for the total number of messages, the total number of exchanges, and the ..."
Abstract - Cited by 128 (0 self) - Add to MetaCart
Communication complexity has always been an important issue when designing group key distribution systems. This paper systematically studies what can be achieved for the most common measures of protocol complexity. Lower bounds for the total number of messages, the total number of exchanges, and the number of necessary rounds are established, whereby models that allow broadcasting have to be distinguished from those that do not. For every measure of protocol complexity, we furthermore show that the corresponding bound is realistic for Diffie--Hellman-based protocols by referring to or introducing protocols that match the bound or exceed it by only one.
(Show Context)

Citation Context

... protocol, presuming that every party is allowed to send arbitrarily many messages with every time tick and to receive arbitrarily many messages sent by other parties at the beginning of a round (cf. =-=[BM93]-=- p. 133). - simple rounds: minimum number of required synchronous rounds, presuming that every party sends and receives at most one message per round (cf. [ABM87]). Whereas the total number of message...

The evolution of Coda

by M. Satyanarayanan , 2002
"... Failure-resilient, scalable, and secure read-write access to shared information by mobile and static users over wireless and wired networks is a fundamental computing challenge. In this article, we describe how the Coda file system has evolved to meet this challenge through the development of mechan ..."
Abstract - Cited by 85 (20 self) - Add to MetaCart
Failure-resilient, scalable, and secure read-write access to shared information by mobile and static users over wireless and wired networks is a fundamental computing challenge. In this article, we describe how the Coda file system has evolved to meet this challenge through the development of mechanisms for server replication, disconnected operation, adaptive use of weak connectivity, isolation-only transactions, translucent caching, and opportunistic exploitation of hardware surrogates. For each mechanism, the article explains how usage experience with it led to the insights for another mechanism. It also shows how Coda has been influenced by the work of other researchers and by industry. The article closes with a discussion of the technical and nontechnical lessons that can be learned from the evolution of the system.

Detection of global predicates: Techniques and their limitations

by Craig M. Chase, Vijay K. Garg - Distributed Computing , 1998
"... We show that the problem of predicate detection in distributed systems is NP-complete. In the past, efficient algorithms have been developed for special classes of predicates such as stable predicates, observer-independent predicates, and conjunctive predicates. We introduce a class of predicates, s ..."
Abstract - Cited by 47 (7 self) - Add to MetaCart
We show that the problem of predicate detection in distributed systems is NP-complete. In the past, efficient algorithms have been developed for special classes of predicates such as stable predicates, observer-independent predicates, and conjunctive predicates. We introduce a class of predicates, semi-linear predicates, which properly contains all of the above classes. We first discuss stable, observer-independent and semi-linear classes of predicates and their relationships with each other. We also study closure properties of these classes with respect to conjunction and disjunction. Finally, we discuss algorithms for detection of predicates in these classes. We provide a non-deterministic, detection algorithm for each class of predicate. We show that each class can be equivalently characterized by the degree of non-determinism present in the algorithm. Stable predicates are defined as those that can be detected by an algorithm with the most nondeterminism. All other classes can be derived by appropriately constraining the non-determinism in this algorithm.
(Show Context)

Citation Context

... considered predicates defined on sequences of states. For example, [22, 12] discuss linked predicates, [16, 2] discuss atomic sequences, and [9] discuss regular patterns. We also refer the reader to =-=[1, 23, 10]-=- for surveys of stable and unstable predicate detection. This paper is organized as follows. In Section 2 we describe our model of a distributed system, and introduce the terminology used. In Section ...

Detection of Strong Unstable Predicates in Distributed Programs

by Vijay K. Garg, Brian Waldecker - IEEE Transactions on Parallel and Distributed Systems , 1996
"... This paper discusses detection of global predicates in a distributed program. A run of a distributed program results in a set of sequential traces, one for each process. These traces may be combined to form many global sequences consistent with the single run of the program. A strong global predicat ..."
Abstract - Cited by 44 (9 self) - Add to MetaCart
This paper discusses detection of global predicates in a distributed program. A run of a distributed program results in a set of sequential traces, one for each process. These traces may be combined to form many global sequences consistent with the single run of the program. A strong global predicate is true in a run if it is true for all global sequences consistent with the run. We present algorithms which detect if the given strong global predicate became true in a run of a distributed program. 1 Introduction Detection of global predicates is a fundamental problem in distributed computing. It arises in the designing, debugging and testing of distributed programs. Global predicates can be classified into two types - stable and unstable. A stable predicate is one which never turns false once it becomes true. An unstable predicate is one without such a property. Its value may alternate between true and false. Detection of stable predicates has been addressed in the literature by means ...

Automated systematic testing of open distributed programs

by Koushik Sen, Gul Agha - IN: FASE’06 , 2006
"... We present an algorithm for automatic testing of distributed programs, such as Unix processes with inter-process communication and Web services. Specifically, we assume that a program consists of a number of asynchronously executing concurrent processes or actors which may take data inputs and com ..."
Abstract - Cited by 31 (9 self) - Add to MetaCart
We present an algorithm for automatic testing of distributed programs, such as Unix processes with inter-process communication and Web services. Specifically, we assume that a program consists of a number of asynchronously executing concurrent processes or actors which may take data inputs and communicate using asynchronous messages. Because of the large numbers of possible data inputs as well as the asynchrony in the execution and communication, distributed programs exhibit very large numbers of potential behaviors. Our goal is two fold: to execute all reachable statements of a program, and to detect deadlock states. Specifically, our algorithm uses simultaneous concrete and symbolic execution, or concolic execution, to explore all distinct behaviors that may result from a program’s execution given different data inputs and schedules. The key idea is as follows. We use the symbolic execution to generate data inputs that may lead to alternate behaviors. At the same time, we use the concrete execution to determine, at runtime, the partial order of events in the program’s execution. This enables us to improve the efficiency of our algorithm by avoiding many tests which would result in equivalent behaviors. We describe our experience with dCUTE, a prototype tool that we have developed for distributed Java programs.
(Show Context)

Citation Context

... order reduction techniques to reduce search space. Testing shared memory multi-threaded programs using symbolic execution [24] has been developed by extending Java Pathfinder. A number of approaches =-=[5, 4, 10]-=- have been developed to explore all possible global states of program that can be inferred by observing a single execution of a distributed program. These techniques are orthogonal to our algorithm an...

Detecting atomic sequences of predicates in distributed computations

by M Hurfin, N Plouzeau, M Raynal - In Proceedings of the Workshop on Parallel and Distributed Debugging , 1993
"... ..."
Abstract - Cited by 31 (9 self) - Add to MetaCart
Abstract not found
(Show Context)

Citation Context

...? x 2 +4 is global, because it involves two different processes. Detecting such predicates with particular modalities (definitely or possibly) has been studied by Cooper and Marzullo in [3] (see also =-=[1]-=- for a nice presentation), and implies the construction of the lattice of all possible global states. This construction is very expensive but seems unavoidable when dealing with this kind of global pr...

Online Efficient Predictive Safety Analysis of Multithreaded Programs

by Koushik Sen, Grigore Rosu, Gul Agha , 2004
"... We present an automated and configurable technique for runtime safety analysis of multithreaded programs which is able to predict safety violations from successful executions. Based on a formal specification of safety properties that is provided by a user, our technique enables us to automatically i ..."
Abstract - Cited by 30 (7 self) - Add to MetaCart
We present an automated and configurable technique for runtime safety analysis of multithreaded programs which is able to predict safety violations from successful executions. Based on a formal specification of safety properties that is provided by a user, our technique enables us to automatically instrument a given program and create an observer so that the program emits relevant state update events to the observer and the observer checks these updates against the safety specification. The events are stamped with dynamic vector clocks, enabling the observer to infer a causal partial order on the state updates. All event traces that are consistent with this partial order, including the actual execution trace, are then analyzed online and in parallel. A warning is issued whenever one of these potential trace violates the specification. Our technique is scalable and can provide better coverage than conventional testing but, unlike model checking, its coverage need not be exhaustive. In fact, one can trade-o# scalability and comprehensiveness: a window in the state space may be specified allowing the observer to infer some of the more likely runs; if the size of the window is 1 then only the actual execution trace is analyzed, as is the case in conventional testing; if the size of the window is then all the execution traces consistent with the actual execution trace are analyzed, as is the case in model checking.

Distributed Algorithms for Detecting Conjunctive Predicates

by Vijay K. Garg, Craig M. Chase - In Proc. of the IEEE International Conference on Distributed Computing Systems , 1994
"... This paper discusses efficient distributed detection of global conjunctive predicates in a distributed program. Previous work in detection of such predicates is based on a checker process. The checker process requires O(n 2 m) time and space where m is the number of messages sent or received by an ..."
Abstract - Cited by 30 (7 self) - Add to MetaCart
This paper discusses efficient distributed detection of global conjunctive predicates in a distributed program. Previous work in detection of such predicates is based on a checker process. The checker process requires O(n 2 m) time and space where m is the number of messages sent or received by any process and n is the number of processes over which the predicate is defined. In this paper, we introduce token-based algorithms which distribute the computation and space requirements of the detection procedure. The distributed algorithm has O(n 2 m) time, space and message complexity, distributed such that each process performs O(nm) work. We describe another distributed algorithm with O(Nm) total work, where N is the total number of processes in the system. The relative values of n and N determine which algorithm is more efficient for a specific application. 1 Introduction Detection of a global predicate is a fundamental problem in distributed computing. This problem arises in many ...
(Show Context)

Citation Context

... contexts such as designing, testing and debugging of distributed programs. Previous work has described algorithms for detecting stable and unstable global predicates [2, 3, 5, 7, 6, 10, 11, 13]. See =-=[1, 12]-=- for surveys of stable and unstable predicate detection. This paper is most closely related to [7], [6], and [3]. Garg and Waldecker [7] present a method for detecting weak conjunctive predicates (WCP...

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University