Results 1 - 10
of
18
Improving the reliability of commodity operating systems
, 2003
"... drivers remain a significant cause of system failures. In Windows XP, for example, drivers account for 85 % of recently reported failures. This article describes Nooks, a reliability subsystem that seeks to greatly enhance operating system (OS) reliability by isolating the OS from driver failures. T ..."
Abstract
-
Cited by 192 (14 self)
- Add to MetaCart
drivers remain a significant cause of system failures. In Windows XP, for example, drivers account for 85 % of recently reported failures. This article describes Nooks, a reliability subsystem that seeks to greatly enhance operating system (OS) reliability by isolating the OS from driver failures. The Nooks approach is practical: rather than guaranteeing complete fault tolerance through a new (and incompatible) OS or driver architecture, our goal is to prevent the vast majority of driver-caused crashes with little or no change to the existing driver and system code. Nooks isolates drivers within lightweight protection domains inside the kernel address space, where hardware and software prevent them from corrupting the kernel. Nooks also tracks a driver’s use of kernel resources to facilitate automatic cleanup during recovery. To prove the viability of our approach, we implemented Nooks in the Linux operating system and used it to fault-isolate several device drivers. Our results show that Nooks offers a substantial increase in the reliability of operating systems, catching and quickly recovering from many faults that would otherwise crash the system. Under a wide range and number of fault conditions, we show that Nooks recovers automatically from 99 % of the faults that otherwise cause Linux to crash.
Software Prefetching and Caching for Translation Lookaside Buffers
, 1994
"... A number of interacting trends in operating system structure, processor architecture, and memory systems are increasing both the rate of translation lookaside buffer (TLB) misses and the cost of servicing a miss. This paper presents two novel software schemes, implemented under Mach 3.0, to decrease ..."
Abstract
-
Cited by 48 (3 self)
- Add to MetaCart
A number of interacting trends in operating system structure, processor architecture, and memory systems are increasing both the rate of translation lookaside buffer (TLB) misses and the cost of servicing a miss. This paper presents two novel software schemes, implemented under Mach 3.0, to decrease both the number and the cost of kernel TLB misses (i.e., misses on kernel data structures, including user page tables). The first scheme is a new use of prefetching for TLB entries on the IPC path, and the second scheme is a new use of software caching of TLB entries for hierarchical page table organizations. For a range of applications, prefetching decreases the number of kernel TLB misses by 40% to 50%, and caching decreases TLB penalties by providing a fast path for over 90% of the misses. Our caching scheme also decreases the number of nested TLB traps due to the page table hierarchy, reducing the number of kernel TLB miss traps for applications by 20% to 40%. Prefetching and caching, ...
Efficient Support for Multicomputing on ATM Networks
, 1993
"... The emergence of a new generation of networks will dramatically increase the attractiveness of loosely-coupled multicomputers based on workstation clusters. The key to achieving high performance in this environment is efficient network access, because the cost of remote access dictates the granulari ..."
Abstract
-
Cited by 45 (3 self)
- Add to MetaCart
The emergence of a new generation of networks will dramatically increase the attractiveness of loosely-coupled multicomputers based on workstation clusters. The key to achieving high performance in this environment is efficient network access, because the cost of remote access dictates the granularity of parallelism that can be supported. Thus, in addition to traditional distribution mechanisms such as RPC, workstation clusters should support lightweight communication paradigms for executing parallel applications. This paper describes a simple communication model based on the notion of remote memory access. Applications executing on one host can perform direct memory read or write operations on user-defined remote memory buffers. We have implemented a prototype system based on this model using commercially available workstations and ATM networks. Our prototype uses kernel-based emulation of remote read and write instructions, implemented through unused processor opcodes; thus, applica...
A Survey of Multiprocessor Operating System Kernels
, 1993
"... Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel hardware introduce new challenges to operating system design ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
Multiprocessors have been accepted as vehicles for improved computing speeds, cost/performance, and enhanced reliability or availability. However, the added performance requirements of user programs and functional capabilities of parallel hardware introduce new challenges to operating system design and implementation. This paper reviews research and commercial developments in multiprocessor operating system kernels from the late 1970's to the early 1990's. The paper first discusses some common operating system structuring techniques and examines the advantages and disadvantages of using each technique. It then identifies some of the major design goals and key issues in multiprocessor operating systems. Issues and solution approaches are illustrated by review of a variety of research or commercial multiprocessor operating system kernels. College of Computing Georgia Institute of Technology Atlanta, Georgia 30332--0280 Contents 1 Introduction 1 2 Structuring an Operating System 4 2....
Optimizing IPC Performance for Shared-Memory Multiprocessors
- In Proc. 1994 ICPP
, 1994
"... We assert that in order to perform well, a shared-memory multiprocessor inter-process communication (IPC) facility must avoid a) accessing any shared data, and b) acquiring any locks. In addition, such a multiprocessor IPC facility must preserve the locality and concurrency of the applications thems ..."
Abstract
-
Cited by 12 (9 self)
- Add to MetaCart
We assert that in order to perform well, a shared-memory multiprocessor inter-process communication (IPC) facility must avoid a) accessing any shared data, and b) acquiring any locks. In addition, such a multiprocessor IPC facility must preserve the locality and concurrency of the applications themselves so that the high performance of the IPC facility can be fully exploited. In this paper we describe the design and implementation of a new shared-memory multiprocessor IPC facility that in the common case internally requires no accesses to shared data and no locking. In addition, the model of IPC we support and our implementation ensure that local resources are made available to the server to allow it to exploit any locality and concurrency available in the service. To the best of our knowledge, this is the first IPC subsystem with these attributes. The performance data we present demonstrates that the endto -end performance of our multiprocessor IPC facility is competitive with the fas...
The Persistent Relevance of IPC Performance: New Techniques for Reducing the IPC Penalty
, 1993
"... ..."
Quantitative Analysis of Protection Options
, 1996
"... Various mechanisms are available for protecting software services. Some rely on software protection, some on hardware and some on both. There has been much discussion about protection options, but there is surprising little hard data on relative costs. This paper provides detailed measurements of ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Various mechanisms are available for protecting software services. Some rely on software protection, some on hardware and some on both. There has been much discussion about protection options, but there is surprising little hard data on relative costs. This paper provides detailed measurements of five different protection schemes and quantifies their impact on performance.
Service without Servers
- In Workshop on Workstation Operating Systems IV
, 1993
"... We propose a new style of operating system architecture appropriate for microkernel-based operating systems: services are implemented as a combination of shared libraries and dedicated server processes. Shared libraries implement performance critical portions of each system service, while dedicated ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
We propose a new style of operating system architecture appropriate for microkernel-based operating systems: services are implemented as a combination of shared libraries and dedicated server processes. Shared libraries implement performance critical portions of each system service, while dedicated servers implement the parts of each service that do not require high performance or that are difficult to implement in an application. Our initial experiments show that this approach to operating system structure can yield performance that is comparable to monolithic kernel systems while retaining all the modularity advantages of microkernel technology. Since services reside in libraries, an application is free to use the library that is most appropriate. This approach can even yield better performance than monolithic kernel systems by allowing the shared libraries to be closely coupled with the applications, thereby exploiting application-specific knowledge in policy decisions. This researc...
The Impact of Software Structure and Policy on CPU and Memory System Performance
, 1994
"... Operating systems, when compared to application programs, have received disappointingly little benefit from the performance improvements of the most recent generation of microprocessors. This thesis used complete traces of software activity from a RISCbased uniprocessor to expose the dynamic behavio ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Operating systems, when compared to application programs, have received disappointingly little benefit from the performance improvements of the most recent generation of microprocessors. This thesis used complete traces of software activity from a RISCbased uniprocessor to expose the dynamic behavior of operating system execution and explore the sources of poor performance. Traces from both Mach 3.0 and Ultrix implementations of UNIX permitted a study of performance differences between microkernel and monolithic implementations of the same operating system interface. The comparison showed that both system structure and policy implemented in the system have a significant impact on performance. Measurements of X11 workloads showed that memory system behavior for these large workloads differs significantly from the kinds of workloads traditionally used for performance analysis. Structural and behavioral similarities between large X11 workloads and the operating system are reflected in the...
The Universal Transport System: An Adaptive End-to-End Protocol Analysis and Design
, 1995
"... xx 1 Introduction 1 1.1 Network Evolution : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.1.1 Legacy Local Area Networks : : : : : : : : : : : : : : : : : : : 2 1.1.2 High Speed Networks : : : : : : : : : : : : : : : : : : : : : : : 4 1.1.3 ATM -- Unifying LANs and WANs : : : : : : : : : ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
xx 1 Introduction 1 1.1 Network Evolution : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2 1.1.1 Legacy Local Area Networks : : : : : : : : : : : : : : : : : : : 2 1.1.2 High Speed Networks : : : : : : : : : : : : : : : : : : : : : : : 4 1.1.3 ATM -- Unifying LANs and WANs : : : : : : : : : : : : : : : 8 1.1.4 Wireless Networks : : : : : : : : : : : : : : : : : : : : : : : : 9 1.2 Host System Evolution : : : : : : : : : : : : : : : : : : : : : : : : : : 10 vii CONTENTS viii 1.3 Network Application Evolution : : : : : : : : : : : : : : : : : : : : : 12 1.4 Consequences for Current Protocols : : : : : : : : : : : : : : : : : : : 13 1.5 Partial Solutions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18 1.6 Generic Solution : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21 1.7 Specifying Protocol Requirements : : : : : : : : : : : : : : : : : : : : 22 1.8 The Proposal in this Thesis : : : : : : : : : : : : : : : : : : : : : : : 24 1.9 Organisation of this T...

