James J. Kistler
Carnegie Mellon University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by James J. Kistler.
ACM Transactions on Computer Systems | 1992
James J. Kistler; Mahadev Satyanarayanan
Disconnected operation is a mode of operation that enables a client to continue accessing critical data during temporary failures of a shared data repository. An important, though not exclusive, application of disconnected operation is in supporting portable computers. In this paper, we show that disconnected operation is feasible, efficient and usable by describing its design and implementation in the Coda File System. The central idea behind our work is that caching of data, now widely used for performance, can also be exploited to improve availability.
IEEE Transactions on Computers | 1990
Mahadev Satyanarayanan; James J. Kistler; Puneet Kumar; Maria E. Okasaki; Ellen H. Siegel; David C. Steere
The design and implementation of Coda, a file system for a large-scale distributed computing environment composed of Unix workstations, is described. It provides resiliency to server and network failures through the use of two distinct but complementary mechanisms. One mechanism, server replication, stores copies of a file at multiple servers. The other mechanism, disconnected operation, is a mode of execution in which a caching site temporarily assumes the role of a replication site. The design of Coda optimizes for availability and performance and strives to provide the highest degree of consistency attainable in the light of these objectives. Measurements from a prototype show that the performance cost of providing high availability in Coda is reasonable. >
symposium on operating systems principles | 1994
Mahadev Satyanarayanan; Henry H. Mashburn; Puneet Kumar; David C. Steere; James J. Kistler
Recoverable virtual memory refers to regions of a virtual address space on which transactional guarantees are offered. This paper describes RVM, an efficient, portable, and easily used implementation of recoverable virtual memory for Unix environments. A unique characteristic of RVM is that it allows independent control over the transactional properties of atomicity, permanence, and serializability. This leads to considerable flexibility in the use of RVM, potentially enlarging the range of applications than can benefit from transactions. It also simplifies the layering of functionality such as nesting and distribution. The paper shows that RVM performs well over its intended range of usage even though it does not benefit from specialized operating system support. It also demonstrates the importance of intra- and intertransaction optimizations.Recoverable virtual memory refers to regions of a virtual address space on which transactional guarantees are offered. This paper describes RVM, an efficient, portable, and easily used implementation of recoverable virtual memory for Unix environments. A unique characteristic of RVM is that it allows independent control over the transactional properties of atomicity, permanence, and serializability. This leads to considerable flexibility in the use of RVM, potentially enlarging the range of applications than can benefit from transactions. It also simplifies the layering of functionality such as nesting and distribution. The paper shows that RVM performs well over its intended range of usage even though it does not benefit from specialized operating system support. It also demonstrates the importance of intra- and intertransaction optimizations.
MLCS Mobile & Location-Independent Computing Symposium on Mobile & Location-Independent Computing Symposium | 1993
Mahadev Satyanarayanan; James J. Kistler; Lily B. Mummert; Maria R. Ebling; Puneet Kumar; Qi Lu
In this paper we present qualitative and quantitative data on file access in a mobile computing environment. This information is based on actual usage experience with the Coda File System over a period of about two years. Our experience confirms the viability and effectiveness of disconnected operation. It also exposes certain deficiencies of the current implementation of Coda, and identifies new functionality that would enhance its usefulness for mobile computing. The paper concludes with a description of what we are doing to address these issues.
Archive | 1995
James J. Kistler
From the Publisher: The focus of this work is on the issue of availability in distributed file systems. It presents the important new technique called disconnected operation, in which clients mask failures and voluntary network detachments by emulating the functionality of servers where actual server-oriented solutions are inadequate. This permits client operation even under complete isolation from the server; the clean integration of mobile computers into the system is an important side-effect of the new technique. The design and implementation of disconnected file service in a working system, the Coda file system, is described in detail.
workshop on management of replicated data | 1990
James J. Kistler
High availability in the Coda file system is achieved through two types of data replication: first-class replication, in which entire servers are replicated, and second-class replication, otherwise known as client caching. The two are complementary: server replication increases the availability of the entire file store, whereas caching permits operation in the event of total disconnection. A particularly valuable use of disconnected operation is the graceful integration of portable computers into the system. The use of second-class replication and its contribution to the system availability and disconnected operation are discussed. Transparent disconnected operation dictates a much-expanded role for client cache managers, effectively turning them into pseudoservers. Three phases of pseudoserver operation-hoarding, server emulation and reintegration-are described.<<ETX>>
workshop on hot topics in operating systems | 1992
Mahadev Satyanarayanan; James J. Kistler; Puneet Kumar; Hank Mashburn
It is argued that logging should be at the forefront of techniques considered by a system designer when implementing a distributed file system. The use of logging in different guises in the Coda file system is described. Coda is a distributed file system whose goal is to provide highly available, scalable, secure and efficient shared file access in an environment of Unix workstations. High availability is achieved through two complementary mechanisms, i.e., server replication and disconnected operation. Logging is used in at least three distinct ways in the current implementation of Coda. First, value logging forms the basis of the recovery technique for recoverable virtual memory (RVM), a transactional virtual memory package. Second, operating logging is used in the replay log that records update activity made by a client while disconnected from all servers. Third, operation logging is used in resolution logs on severs to allow transparent resolution of directory updates made to partitioned server replicas.<<ETX>>
international parallel processing symposium | 1991
James J. Kistler; Jon A. Webb
The split and merge model is a reasonable method for architecture-independent programming of global image processing operations on parallel architectures. The authors consider image connected components from the point of view of this programming model, and develop split and merge algorithms that implement various connected components algorithms that have appeared in the literature. The algorithms are implemented in two architectures independent languages they have developed, namely Apply and Adapt. Performance of the algorithms on the Sun, the Carnegie Mellon Warp, and the Carnegie Mellon Nectar architectures is compared.<<ETX>>
acm sigops european workshop | 1990
James J. Kistler; Mahadev Satyanarayanan
In this position paper we describe an important component of our overall approach to achieving high availability in the Coda file system. Coda, a descendant of the Andrew file system (AFS) [4], provides users with shared file access in a large-scale Unix I workstation environment. Our philosophy is to provide users with the benefits of a shared data repository without the negative consequences of total dependence on that repository.
USENIX Summer | 1990
David C. Steere; James J. Kistler; Mahadev Satyanarayanan