Results 1 -
9 of
9
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 ...
An object-oriented framework for modular resource management
- In IWOOOS. IEEE Computer Society
, 1996
"... We present a flexible object-oriented framework for specifying modular resource management policies in concurrent systems. The framework generalizes the basic abstractions we originally developed for lottery scheduling [16]. It is independent of the underlying proportional-share scheduler; a variety ..."
Abstract
-
Cited by 29 (2 self)
- Add to MetaCart
We present a flexible object-oriented framework for specifying modular resource management policies in concurrent systems. The framework generalizes the basic abstractions we originally developed for lottery scheduling [16]. It is independent of the underlying proportional-share scheduler; a variety of probabilistic and deterministic algorithms can be used, including a min-funding revocation algorithm that we introduce for space-shared resources. The framework supports diverse resources and policies, including both proportional shares and guaranteed reservations. A repayment mechanism prevents allocation distortions caused by transfers of resource rights. Key framework concepts are analogous to features of object-oriented languages. 1.
Wanted: Programming Support for Ensuring Responsiveness Despite Resource Variability and Volatility
, 1998
"... Applications running in networked mobile computing environments are prone to a great deal of variability in the response time they experience from system services, such as an (implicitly distributed) file system or (explicit) networking. The range of variability is much greater than in traditional c ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Applications running in networked mobile computing environments are prone to a great deal of variability in the response time they experience from system services, such as an (implicitly distributed) file system or (explicit) networking. The range of variability is much greater than in traditional computing environments and changes dynamically. Without special programming considerations, such applications will exhibit unacceptable user responsiveness when resources are slow. Therefore, applications need to be flexible about their resource demands if they are to remain usable through periods of degraded service. There exist known techniques to cope with resource variability, including incremental (multi-resolution) processing of results, concurrency, and dynamic resource allocation. However, their programming cost is substantial, and infrastructure support is weak. This raises the need for general-purpose software frameworks and mechanisms to support these techniques. The author briefly...
BTRON2 Window System: A Window System Facilitating Cooperation among GUI Applications in Distributed Environments
"... The goal of this research is to propose a software architecture of window systems that facilitate cooperative processing among graphical user interface (GUI) applications, and to implement a window system called BTRON2 window system based on the architecture. Recently, cooperation of GUI application ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
The goal of this research is to propose a software architecture of window systems that facilitate cooperative processing among graphical user interface (GUI) applications, and to implement a window system called BTRON2 window system based on the architecture. Recently, cooperation of GUI applications with other external programs is of much interest because of several reasons. First, the cooperation is necessary for supporting distributed GUI applications in distributed environments, which include Groupware and distributed implementation of GUI applications. Second, cooperation among conventional GUI applications is effective to give them high inter-operability. Application cooperation and tool integration are the topics of this issue. Lastly, dynamic integration of GUI applications with other programs by users increases extensibility and customizability of the GUI applications. This issue includes script processing and assistive technology that dynamically extends or customizes user in...
Position Paper Wanted: Programming Support for Ensuring Responsiveness Despite Resource Variability and Volatility
"... Applications running in networked mobile computing environments are prone to a great deal of variability in the response time they experience from system services, such as an (implicitly distributed) file system or (explicit) networking. The range of variability is much greater than in traditional c ..."
Abstract
- Add to MetaCart
Applications running in networked mobile computing environments are prone to a great deal of variability in the response time they experience from system services, such as an (implicitly distributed) file system or (explicit) networking. The range of variability is much greater than in traditional computing environments and changes dynamically. Without special programming considerations, such applications will exhibit unacceptable user responsiveness when resources are slow. Therefore, applications need to be flexible about their resource demands if they are to remain usable through periods of degraded service. There exist known techniques to cope with resource variability, including incremental (multi-resolution) processing of results, concurrency, and dynamic resource allocation. However, their programming cost is substantial, and infrastructure support is weak. This raises the need for general-purpose software frameworks and mechanisms to support these techniques. The author briefly...
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 t ..."
Abstract
- 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.
Improving Responsiveness of a Stripe-Scheduled Media Server
- Multimedia Computing and Networking
, 1999
"... Thrifty scheduling is an algorithm that improves the responsiveness of a stripe-scheduled multimedia server. It increases the determinism of the data-distribution service, reduces the likelihood of high startup delays, and enables an increase in the rated load of the system. A stripe-scheduled media ..."
Abstract
- Add to MetaCart
Thrifty scheduling is an algorithm that improves the responsiveness of a stripe-scheduled multimedia server. It increases the determinism of the data-distribution service, reduces the likelihood of high startup delays, and enables an increase in the rated load of the system. A stripe-scheduled media server is a distributed video-on-demand system that load-balances by striping video data across multiple computer nodes and cyclically scheduling the distribution of the data. The server displays highly variable startup delays in response to requests for data streams. These delays are due to clusters of allocated slots in the distribution schedule, which form naturally as the system load increases. Thrifty scheduling is a scalable algorithm that improves responsiveness by allocating streams to schedule slots in a way that reduces the clustering in the schedule. This algorithm has been incorporated into the Tiger video fileserver. Keywords: Video server, video-on-demand, latency reduction, ...

