TL;DR: This work defines a notion of proportionate progress, called P-fairness, and uses it to design an efficient algorithm which solves the periodic scheduling problem.
Abstract: Given a set ofn tasks andm resources, where each taskx has a rational weightx.w=x.e/x.p,0
TL;DR: It is shown that the performance-ranking of priority rules does not differ for single-pass scheduling and sampling, that sampling improves the performance of single- pass scheduling significantly, and that the parallel method cannot be generally considered as superior.
TL;DR: In this paper, the authors divide the scheduling problem between uniprocessor and multi-processor results, and divide the work between static and dynamic algorithms, and propose a taxonomy of the complexity, fundamental limits and performance bounds.
Abstract: Knowledge of complexity, fundamental limits and performance bounds-well known for many scheduling problems-helps real time designers choose a good design and algorithm and avoid poor ones. The scheduling problem has so many dimensions that it has no accepted taxonomy. We divide scheduling theory between uniprocessor and multiprocessor results. In the uniprocessor section, we begin with independent tasks and then consider shared resources and overload. In the multiprocessor section, we divide the work between static and dynamic algorithms. >
TL;DR: In this article, the authors present flexible abstractions for specifying resource management policies, together with efficient mechanisms for implementing those abstractions, including both randomized and deterministic algorithms that provide proportional-share control over resource consumption rates.
Abstract: 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 sets of tickets. Currencies can be used to isolate or group sets of clients, enabling the modular composition of arbitrary resource management policies. Two different underlying mechanisms are introduced to support these abstractions. Lottery scheduling is a novel randomized resource allocation mechanism. An allocation is performed by holding a lottery, and the resource is granted to the client with the winning ticket. Stride scheduling is a deterministic resource allocation mechanism that computes a representation of the time interval, or stride, that each client must wait between successive allocations. Stride scheduling cross-applies and generalizes elements of rate-based flow control algorithms designed for networks to dynamically schedule other resources such as processor time. A novel hierarchical stride algorithm is also introduced that achieves better throughput accuracy than prior schemes, and can reduce response-time variability for some workloads. The proposed techniques are compared and evaluated using a variety of quantitative experiments. Simulation results and prototype implementations for operating system kernels demonstrate flexible control over a wide range of resources and applications.
TL;DR: The iterative force-directed scheduling algorithm attempts to balance the distribution of operations that make use of the same hardware resources and has O(n/sup2/) complexity.
Abstract: The HAL system performs data path synthesis using a new scheduling algorithm that is part of an interdependent scheduling and allocation scheme. This scheme uses an estimate of the hardware allocation to guide and optimize the scheduling subtask. The allocation information includes the number, type, speed and cost of hardware modules as well as the associated multiplexer and interconnect costs. The iterative force-directed scheduling algorithm attempts to balance the distribution of operations that make use of the same hardware resources: * Every feasible control step assignment is evaluated at each iteration, for all operations. * The associated side-effects on all the predecessor and successor operations are taken into account. * All the decisions are global. * The algorithm has O(n/sup2/) complexity. We review and compare existing scheduling techniques. Moderate and difficult examples are used to illustrate the effectiveness of the approach.