Results 1 - 10
of
13
Process migration
- ACM Computing Surveys
, 2000
"... A process is an operating system abstraction representing an instance of a running computer program. Process migration is the act of transferring a process between two machines during its execution. Several implementations ..."
Abstract
-
Cited by 62 (1 self)
- Add to MetaCart
A process is an operating system abstraction representing an instance of a running computer program. Process migration is the act of transferring a process between two machines during its execution. Several implementations
Availability in the Sprite Distributed File System
- ACM Operating Systems Review
, 1990
"... In the Sprite environment, tolerating faults means recovering from them quickly. Our position is that performance and availability are the desired features of the typical locally-distributed office/engineering environment, and that very fast server recovery is the most cost-effective way of providin ..."
Abstract
-
Cited by 17 (2 self)
- Add to MetaCart
In the Sprite environment, tolerating faults means recovering from them quickly. Our position is that performance and availability are the desired features of the typical locally-distributed office/engineering environment, and that very fast server recovery is the most cost-effective way of providing such availability. Mechanisms used for reliability can be inappropriate in systems with the primary goal of performance, and some availability-oriented methods using replicated hardware or processes cost too much for these systems. In contrast, availability via fast recovery need not slow down a system, and our experience in Sprite shows that in some cases the same techniques that provide high performance also provide fast recovery. In our first attempt to reduce file server recovery times to less than 90 seconds, we take advantage of the distributed state already present in our file system, and a high-performance log-structured file system currently under implementation. As a long-term go...
CuriOS: Improving Reliability through Operating System Structure
"... An error that occurs in a microkernel operating system service can potentially result in state corruption and service failure. A simple restart of the failed service is not always the best solution for reliability. Blindly restarting a service which maintains client-related state such as session inf ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
An error that occurs in a microkernel operating system service can potentially result in state corruption and service failure. A simple restart of the failed service is not always the best solution for reliability. Blindly restarting a service which maintains client-related state such as session information results in the loss of this state and affects all clients that were using the service. CuriOS represents a novel OS design that uses lightweight distribution, isolation and persistence of OS service state to mitigate the problem of state loss during a restart. The design also significantly reduces error propagation within client-related state maintained by an OS service. This is achieved by encapsulating services in separate protection domains and granting access to client-related state only when required for request processing. Fault injection experiments show that it is possible to recover from between 87 % and 100 % of manifested errors in OS services such as the file system, network, timer and scheduler while maintaining low performance overheads. 1
A Comparison of three Distributed File System Architectures: Vnode, Sprite, and Plan 9
- Sprite, and Plan 9. Computing Systems
, 1994
"... This paper compares three distributed file system architectures: the vnode architecture found in SunOS, the architecture used in the Sprite distributed file system, and the architecture used in the Plan 9 distributed file system. The emphasis of the comparison is on generalized support for remote ac ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
This paper compares three distributed file system architectures: the vnode architecture found in SunOS, the architecture used in the Sprite distributed file system, and the architecture used in the Plan 9 distributed file system. The emphasis of the comparison is on generalized support for remote access to file system resources, which include peripheral devices and IPC communication channels as well as regular files. The vnode architecture is an evolution of structures and interfaces used in the original, stand-alone UNIX file system. The Sprite architecture provides a network-wide shared name space and emphasizes a strong separation of the internal naming and I/O interfaces to easily provide remote access to a variety of resources. The Plan 9 architecture relies on per-process name spaces and is organized around a single file system protocol, 9P, through which a variety of devices and system services are accessed. 1 Introduction This paper compares three approaches to distributed fi...
The Substrate Object Model and Architecture
, 1993
"... Operating system kernels are difficult to build, hard to change and a problem to adapt to new hardware. This is particularly true when an operating system tries to simulate a general-purpose multiprocessor on a cluster of workstations. The substrate architecture presented here uses lessons from lang ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Operating system kernels are difficult to build, hard to change and a problem to adapt to new hardware. This is particularly true when an operating system tries to simulate a general-purpose multiprocessor on a cluster of workstations. The substrate architecture presented here uses lessons from language design to facilitate the evolution of existing operating systems. A reflective object-model that clearly separates instances, interfaces and implementations is the basis of this architecture. The object-model implementation allows flexible and dynamic composition of interfaces and implementations. The language environment and object model is used to create substrates, building block components of a multiprocessor environment. 1. Motivation Adapting commercial operating systems to match ever-changing hardware is a continuing problem. In particular, building proper operating system support so that a set of workstations connected through high-speed links can be used as a scalable general-...
Experiences with Load Distribution on top of the Mach Microkernel
, 1993
"... The paper describes our experiences in the design, implementation and use of load distribution on top of Mach. As a #rst step towards load distribution, we provided task migration which is our base mechanism for distributed scheduling. We compared task migration with initial placement. In order t ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The paper describes our experiences in the design, implementation and use of load distribution on top of Mach. As a #rst step towards load distribution, we provided task migration which is our base mechanism for distributed scheduling. We compared task migration with initial placement. In order to make more accurate scheduling decisions, we instrumented Mach to account for network IPC and network paging. Processing is still the prevailing factor, but we also consider information on VM and IPC. Wehave conducted experiments with well-known distributed scheduling strategies in order to prove our assumptions. We are primarily interested in #kernel aspects of load distribution. We report on the lessons learned while dealing with the Machinterface and on task migration relationship to process migration and the #le system. 1 Introduction Load Distribution #LD# has always attracted the interest of the research community. Unfortunately, it has never been widely used, despite many suc...
Operating System and File System Monitoring: A Comparison of Passive Network Monitoring with Full Kernel Instrumentation Techniques
, 1995
"... viii Acknowledgements x 1 ..."
The Role of Distributed State
- In CMU Computer Science: a 25th Anniversary Commemorative
, 1991
"... Distributed state offers the potential for improving the performance, coherency, and reliability of distributed systems. Unfortunately, distributed state also introduces consistency problems, crash sensitivity, time and space overheads, and complexity; these problems make it difficult to achieve the ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Distributed state offers the potential for improving the performance, coherency, and reliability of distributed systems. Unfortunately, distributed state also introduces consistency problems, crash sensitivity, time and space overheads, and complexity; these problems make it difficult to achieve the potential benefits. This paper describes the advantages and disadvantages of distributed state, and presents the NFS and Sprite file systems as examples of different tradeoffs. It does not appear possible to achieve all the advantages of distributed state and also avoid all the problems; rather, system designers must make compromises based on the needs of their individual environments.
Old Wine in New Bottles - Applying OS Process Migration Technology to Mobile Agents
- In ECOOP 97 workshop on Mobile Object Systems
, 1997
"... We describe how our experience with classic operating system level process migration mechanisms influenced the design of MOA, a mobile agents project. A case is presented for implementing mobile agents using language environments and overcoming the limitations of those environments by employing mech ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We describe how our experience with classic operating system level process migration mechanisms influenced the design of MOA, a mobile agents project. A case is presented for implementing mobile agents using language environments and overcoming the limitations of those environments by employing mechanisms adapted from classic process migration implementations. 1 Introduction In this paper, we describe how we have applied our experience with classic operating system level process migration mechanisms to mobile agents. The need to have agents that migrate between nodes with different architectures and operating systems favors moving support for mobility from the operating system level up to the language environment levels, but the wealth of experience with the operating system level mechanisms should be used to guide these higher level implementations. The particular area of mobile agents is but one example of operating system functionality moving to other system levels. The operating s...
Information Access in Mobile Computing Environments
, 1993
"... Accessing a rich set of information repositories in a mobile computing environment is difficult because the data resources change dynamically, physical resources are constrained and the information has diverse forms and sources. We propose a new virtual repository, which we call the Pi repository, t ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Accessing a rich set of information repositories in a mobile computing environment is difficult because the data resources change dynamically, physical resources are constrained and the information has diverse forms and sources. We propose a new virtual repository, which we call the Pi repository, to address this problem. The Pi repository will provide generic access interfaces for a variety of information resources, such as files and email, in a highly dynamic environment, while allowing application and object-specific customizations. Its application programming interfaces for such accesses is much like those provided by file systems for file access. A framework for such a repository which allows generation of customized instances is described. The framework decomposes elements of information access like naming (names, attributes, namespaces, binding, resolution), access interface and caching. Further, each component provides explicit control over its implementation. The framework defines a second interface that allows application programmers to fine-tune the virtual repository implementation according to the needs of the application and to the changes in resource constraints. It provides a set of information access and management tools to application programmers who may be the direct users of data objects or providers of further services to browse, filter and modify those objects. Information Access in Mobile Computing Environments 1 1.

