Results 1 - 10
of
14
Lottery Scheduling: Flexible Proportional-Share Resource Management
, 1994
"... This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations. Such control is beyond the capabilities of conventional schedulers, and is desirable in systems that ..."
Abstract
-
Cited by 374 (4 self)
- Add to MetaCart
This paper presents lottery scheduling, a novel randomized resource allocation mechanism. Lottery scheduling provides efficient, responsive control over the relative execution rates of computations. Such control is beyond the capabilities of conventional schedulers, and is desirable in systems that service requests of varying importance, such as databases, media-based applications, and networks. Lottery scheduling also supports modular resource management by enabling concurrent modules to insulate their resource allocation policies from one another. A currency abstraction is introduced to flexibly name, share, and protect resource rights. We also show that lottery scheduling can be generalized to manage many diverse resources, such as I/O bandwidth, memory, and access to locks. We have implemented a prototype lottery scheduler for the Mach 3.0 microkernel, and found that it provides flexible and responsive control over the relative execution rates of a wide range of applications. The overhead imposed by our unoptimized prototype is comparable to that of the standard Mach timesharing policy.
Lottery and Stride Scheduling: Flexible Proportional-Share Resource Management
-
, 1995
"... This thesis presents flexible abstractions for specifying resource management policies, together with efficient mechanisms for implementing those abstractions. Several novel scheduling techniques are introduced, including both randomized and deterministic algorithms that provide proportional-share c ..."
Abstract
-
Cited by 129 (4 self)
- Add to MetaCart
This thesis presents flexible abstractions for specifying resource management policies, together with efficient mechanisms for implementing those abstractions. Several novel scheduling techniques are introduced, including both randomized and deterministic algorithms that provide proportional-share control over resource consumption rates. Such control is beyond the capabilities of conventional schedulers, and is desirable across a broad spectrum of systems that service clients of varying importance. Proportional-share scheduling is examined for several diverse resources, including processor time, memory, access to locks, and disk bandwidth. Resource rights are encapsulated by abstract, first-class objects called tickets. An active client consumes resources at a rate proportional to the number of tickets that it holds. Tickets can be issued in different amounts and may be transferred between clients. A modular currency abstraction is also introduced to flexibly name, share, and protect ...
Supporting Automatic Configuration of Component-Based Distributed Systems
, 1999
"... Recent developments in Component technology enable the construction of complex software systems by assembling together off-the-shelf components. However, it is still difficult to develop efficient, reliable, and dynamically configurable component based systems. Components are often developed by diff ..."
Abstract
-
Cited by 43 (3 self)
- Add to MetaCart
Recent developments in Component technology enable the construction of complex software systems by assembling together off-the-shelf components. However, it is still difficult to develop efficient, reliable, and dynamically configurable component based systems. Components are often developed by different groups with different methodologies. Unspecified dependencies and behavior lead to unexpected failures. Component-based software systems must maintain explicit representations of inter-component dependence and component requirements. This provides a common ground for supporting fault-tolerance and automating dynamic configuration. In this paper, we present a generic model for reifying dependencies in distributed component systems and discuss how it can be used to support automatic configuration. We describe our experience deploying the framework in a CORBA-compliant reflective ORB and discuss the use of this model in a new distributed operating system.
RT-IPC: An IPC Extension for Real-Time Mach
, 1993
"... Interprocess communication (IPC) provides the fundamental mechanism for the Mach microkernel to be extensible and flexible. Mach IPC provides efficient communication mechanisms for many applications. However, it does not provide sufficient functionality for real-time applications which have rigid ti ..."
Abstract
-
Cited by 20 (6 self)
- Add to MetaCart
Interprocess communication (IPC) provides the fundamental mechanism for the Mach microkernel to be extensible and flexible. Mach IPC provides efficient communication mechanisms for many applications. However, it does not provide sufficient functionality for real-time applications which have rigid timing constraints among threads. In RealTime Mach (RT-Mach), we have extended Mach IPC to be priority inversion free for real-time applications. This paper describes the Real-Time IPC (RT-IPC) facilities, its implementation, and the evaluation results. We used the Distributed Hartstone (DHS) real-time benchmark for the evaluation and the results show that RT-IPC can reduce priority inversion and improve CPU utilization for real-time applications. 1. Introduction In traditional operating systems, it is difficult to support real-time applications such as continuous media applications and mobile computing, due to the lack of facilities which can manage time constrained resources, such as proce...
Data Movement in Kernelized Systems
- In Proc. USENIX Workshop on Micro-kernels and Other Kernel Architectures
, 1992
"... ions The Mach 3.0 Microkernel and the CHORUS Nucleus supply a similar set of abstractions for building systems servers [10, 17]. Unfortunately, for historical reasons, the two systems often use different names to describe the same thing. The remainder of this section describes the abstractions of M ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
ions The Mach 3.0 Microkernel and the CHORUS Nucleus supply a similar set of abstractions for building systems servers [10, 17]. Unfortunately, for historical reasons, the two systems often use different names to describe the same thing. The remainder of this section describes the abstractions of Mach 3.0 and CHORUS relevant for understanding the rest of the paper using either the common name or both when necessary. . A Task [4] or Actor [8] is an execution environment and the basic unit of resource allocation. Both include virtual memory and threads. The Mach task also includes port rights. An actor includes ports as communication resources. A task or actor can either be in kernel or user space. . Threads are the basic unit of execution. A task or actor can have multiple simultaneous threads of execution. Threads may communicate via Ports. . Both systems are built around Interprocess Communication or IPC. . Mach ports are protected communication channels [12] managed by the kerne...
Managing Contention and Timing Constraints in a Real-Time Database System
- In Procs. of the 16th IEEE Real-Time Systems Symposium
, 1995
"... Previous work in real-time database management systems (RT-DBMS) has primarily based on simulation. This paper discusses how current real-time technology has been applied to architect an actual RTDBMS on a real-time microkernel operating system. A real RT-DBMS must confront many practical issues whi ..."
Abstract
-
Cited by 15 (3 self)
- Add to MetaCart
Previous work in real-time database management systems (RT-DBMS) has primarily based on simulation. This paper discusses how current real-time technology has been applied to architect an actual RTDBMS on a real-time microkernel operating system. A real RT-DBMS must confront many practical issues which simulations typically ignore: race conditions, concurrency, and asynchrony. The challenge of constructing a RT-DBMS is divided into three basic problems: dealing with resource contention, dealing with data contention, and enforcing timing constraints. In this paper, we present our approaches to each problem. 1 Introduction As real-time applications grow more and more complex, so do the ways in which they maintain and access data. As programs are required to manage larger and large volumes of data, they typically turn away from application-specific solutions and seek general, adaptable, modular ways to manage data. Conventional systems use Database Management Systems (DBMS) to achieve th...
On the Role of Inter-Component Dependence in Supporting Automatic Reconfiguration
, 1998
"... Recent developments in Component technology enable the construction of complex software systems by assembling together off-the-shelf components. However, it is still difficult to develop efficient, reliable, and dynamically con gurable component-based systems. Components are often developed by diffe ..."
Abstract
-
Cited by 4 (3 self)
- Add to MetaCart
Recent developments in Component technology enable the construction of complex software systems by assembling together off-the-shelf components. However, it is still difficult to develop efficient, reliable, and dynamically con gurable component-based systems. Components are often developed by different groups with different methodologies. Unspecified dependencies and behavior lead to unexpected failures. We argue that component-based software systems must maintain explicit representations of inter-component dependence and component requirements. This provides a common ground for supporting fault-tolerance and automating dynamic reconfiguration. In this paper, we present a generic model for reifying dependencies in distributed component systems. We describe our experience deploying our framework in a reective ORB and discuss the use of this model in a new distributed operating system.
A Framework for Customizing Coherence Protocols of Distrbuted File Caches in Lucas File System
, 1994
"... In cooperative applications such as group CAD and group software development systems, multiple processes communicate with each other by sharing complex data consisting of nested structures and pointers. Although the sharing of complex data structures in the distributed environment is achieved throug ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
In cooperative applications such as group CAD and group software development systems, multiple processes communicate with each other by sharing complex data consisting of nested structures and pointers. Although the sharing of complex data structures in the distributed environment is achieved through the technology of distributed shared memory, a single cache coherence protocol cannot efficiently serve various access patterns generated by cooperative applications. By having a framework for allowing cooperative applications to customize coherence protocols according to their behaviors, hence, significant improvement of run-time efficiency is expected. This paper describes a framework of protocol customization for the sharing of volatile and persistent data in cooperative applications. The major obstacle in user-level customization of protocols is that there are too many states and state transitions in an unabstracted protocol to enable average users to describe them. The protocol custom...
Kernel Support For Recoverable-Persistent Virtual Memory
, 1993
"... The buffering facilities typically provided by operating systems are not powerful enough to support the performance and consistency requirements of database systems. As a result, most database systems are structured as Buffer Pool Database (BPDB) systems, providing their own buffering facilities, wi ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
The buffering facilities typically provided by operating systems are not powerful enough to support the performance and consistency requirements of database systems. As a result, most database systems are structured as Buffer Pool Database (BPDB) systems, providing their own buffering facilities, with their own paging policies and recovery schemes. The emergence of operating systems with very large address spaces and flexible memory management makes Virtual Memory Database (VMDB) systems feasible. In such systems, the database is mapped into virtual memory and the buffering facilities of the underlying virtual memory system are used. VMDB systems do not experience many of the problems faced by BPDB systems. To support the consistency and recoverability requirements of VMDB systems, we have proposed that the virtual memory system be extended to support the Recoverable-Persistent Updates (RPU) model. This model is powerful and general enough to support a wide variety of policies for ensu...
Dynamic Kernel Modification and Extensibility
- Stockholm International Peace Research Institute (SIPRI
, 1973
"... Today, one finds a plethora of computer programs that are designed to run without interruption. Common examples include financial transaction systems (e.g. the VISA computer system), telephone switches, certain web services, and air traffic control systems. Such systems are typically dubbed “mission ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Today, one finds a plethora of computer programs that are designed to run without interruption. Common examples include financial transaction systems (e.g. the VISA computer system), telephone switches, certain web services, and air traffic control systems. Such systems are typically dubbed “mission critical, ” suggesting that a temporary faltering in their operation is

