Results 11 -
17 of
17
Output-driven distributed optimistic message logging and checkpointing
- Department of Computer Science, Rice University
, 1990
"... Although optimistic fault-tolerance methods using message logging and checkpointing have the potential to provide highly e cient, transparent fault tolerance in distributed systems, existing methods are limited byseveral factors. Coordinating the asynchronous message logging progress among all proce ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Although optimistic fault-tolerance methods using message logging and checkpointing have the potential to provide highly e cient, transparent fault tolerance in distributed systems, existing methods are limited byseveral factors. Coordinating the asynchronous message logging progress among all processes of the system may cause signi cant overhead, limiting their ability to scale to large systems and o setting some of the performance gains over simpler pessimistic methods. Furthermore, logging all messages received by each process may place a substantial load on the network and le server in systems with high communication rates. Finally, existing methods do not support nondeterministic process execution, such as occurs in multithreaded processes and those that handle asynchronous interrupts. This paper presents a new method using optimistic message logging and checkpointing that addresses these limitations. Any fault-tolerance method must delay output from the system to the outside world until it can guarantee that no future failure can force the system to roll back to a state before the output was sent. With this new method, only this need to commit output forces any process to log received messages or to checkpoint. Each process commits its own output, with the cooperation of the minimum number of other processes, and any messages not needed to allow pending output to be committed need not be logged. Individual processes may also dynamically switch tocheckpointing without message logging, to avoid the expense of logging a large number of messages or to support their own nondeterministic execution. 1
The Recoverable-Persistent Virtual Memory Paradigm
, 1993
"... The lack of suitable buffering support in most operating systems for ensuring the performance and consistency requirements of database applications has resulted in most database systems providing their own buffering facilities. With the recent emergence of new technologies and application domains th ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The lack of suitable buffering support in most operating systems for ensuring the performance and consistency requirements of database applications has resulted in most database systems providing their own buffering facilities. With the recent emergence of new technologies and application domains that place new requirements on buffering techniques, this approach is no longer adequate. An attractive alternative is to improve the file memory-mapping facilities of operating systems in order to allow database systems to exploit them by directly map their databases into virtual memory [5,10] without compromising performance and consistency requirements. In particular, to fully realize all the benefits of this memory-mapped buffering approach, support for the consistency and recoverability requirements of database systems needs to be provided. In this paper, we propose that operating systems be extended to support Recoverable-Persistent Virtual Memory (RPVM). This involves extending virtual ...
Distributed Smalltalk: Inheritance and Reactiveness in Distributed Systems
, 1988
"... Smalltalk is an object-oriented programming language and highly interactive uniformly object-structured programming environment, originally developed for the Xerox family of personal workstations. The Smalltalk programming environment supports a single user on a single processor in a single object ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Smalltalk is an object-oriented programming language and highly interactive uniformly object-structured programming environment, originally developed for the Xerox family of personal workstations. The Smalltalk programming environment supports a single user on a single processor in a single object address space. This thesis describes the design and implementation of Distributed Smalltalk. Distributed Smalltalk extends the Smalltalk system to support the interaction of many users on many machines. It provides communication and interaction among geographically remote Smalltalk users, direct access to remote objects, the ability to construct distributed applications in the Smalltalk environment, and a degree of object sharing among users. Applications of Distributed Smalltalk include mail systems, remote computation servers, remote file servers, and collaborative software development. The distributed aspects of the system are largely user transparent and preserve the reactive quality of Smalltalk objects. A system is reactive to the degree that objects in the system can be easily presented for inspection or modification. Smalltalk is highly reactive in that all objects in the system can be so presented. Inheritance is a fundamental property of Smalltalk that allows objects to acquire behavior from other objects. In designing Distributed Smalltalk, we found that the interaction of inheritance and reactiveness was a major source of difficulty and that this interaction had significant impact on the design of a distributed system. Neither inheritance or reactiveness scaled well fro...
d i g i t a l A Simple and Efficient Implementation
, 1987
"... work may not be copied or reproduced in whole or in part for any commercial ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
work may not be copied or reproduced in whole or in part for any commercial
Modelling Recovery in Database Systems
, 1997
"... The execution of modern database applications requires the co-ordination of a number of components such as: the application itself, the DBMS, the operating system, the network and the platform. The interaction of these components makes understanding the overall behaviour of the application a complex ..."
Abstract
- Add to MetaCart
The execution of modern database applications requires the co-ordination of a number of components such as: the application itself, the DBMS, the operating system, the network and the platform. The interaction of these components makes understanding the overall behaviour of the application a complex task. As a result the effectiveness of optimisations are often difficult to predict. Three techniques commonly available to analyse system behaviour are empirical measurement, simulation-based analysis and analytical modelling. The ideal technique is one that provides accurate results at low cost. This thesis investigates the hypothesis that analytical modelling can be used to study the behaviour of DBMSs with sufficient accuracy. In particular the work focuses on a new model for costing recovery mechanisms called MaStA and determines if the model can be used effectively to guide the selection of mechanisms. To verify the effectiveness of the model a validation framework is developed. Datab...
Concurrent Shadow Paging in the Flask Architecture
- In Atkinson et al
, 1994
"... The differing requirements for concurrency models in programming languages and databases are widely diverse and often seemingly incompatible. The rigid provision of a particular concurrency control scheme in a persistent object system limits its usefulness to a particular class of application, i ..."
Abstract
- Add to MetaCart
The differing requirements for concurrency models in programming languages and databases are widely diverse and often seemingly incompatible. The rigid provision of a particular concurrency control scheme in a persistent object system limits its usefulness to a particular class of application, in contrast to the generality intended by the provision of persistence. One solution is to provide a flexible system in which concurrency control schemes may be specified according to the particular task in hand, allowing the same data to be used in conjunction with different concurrency control schemes according to the needs of the application. A major difficulty in the engineering of such a system lies in the building of generic mechanisms to provide the facilities of data visibility restriction, stability, and atomicity, independently of the combination of these employed by a particular concurrency control scheme. Flask is a architecture which is designed to achieve this goal by d...
Laboratory For
"... in multiprocessor systems. Pipes allow a sequence of remote invocations to be performed in order, but asynchronously with respect to the calling thread. Using pipes results in programs that are easier to understand and debug than those with explicit synchronization between asynchronous invocations. ..."
Abstract
- Add to MetaCart
in multiprocessor systems. Pipes allow a sequence of remote invocations to be performed in order, but asynchronously with respect to the calling thread. Using pipes results in programs that are easier to understand and debug than those with explicit synchronization between asynchronous invocations.

