Abstract
This paper studies evenly distributed sets of natural numbers and their applications to scheduling in a centralized environment. Such sets, called smooth sets, have the property that their quantity within each interval is proportional to the size of the interval, up to a bounded additive deviation; namely, for ź,Δźź a set A of natural numbers is (ź,Δ)-smooth if abs(|I|źźź|IźA|)<Δ for any interval Iźź.
The paper studies scheduling persistent clients on a single slot-oriented resource in a flexible and predictable manner. Each client ź has a given rateźź that defines the share of the resource he is entitled to receive and the goal is a smooth schedule in which, for some predefined Δ, each client ź is served in a (źź,Δ)-smooth set of slots (natural numbers).
The paper considers a centralized environment where a single algorithm computes the user of the current slot. It constructs a smooth schedule with a very efficient algorithm that computes the user of each slot in O(logźlogźq) time and O(n) space, where n is the number of clients and qźmaxź{źź/źźź | ź,źźźΓ}; in many practical applications this O(logźlogźq) value is actually a small constant.
Our scheduling technique is based on a reduction from allocation of slots to allocation of sub-intervals of the unit interval. This technique naturally extends to the problem of scheduling multiple resources, even under the restriction that a client can be served concurrently by at most one resource. This paper constructs such a schedule in which the users of each slot are computed very fast--in O(mlogźlogźq) time per slot and O(n) space where m is the number of resources; this result is a significant improvement on the prior fastest algorithm that produces such a schedule (actually of a special type--a P-fair schedule) in O(mlogźn) time per slot and O(n) space.
Moreover, the paper introduces a novel approach to multi-resource scheduling in which each resource independently computes, slot after slot, what client to serve in this slot. Under this approach the paper constructs a smooth schedule which is computed in O(n) space and O(logźlogźq) time per slot.