Abstract
This paper studies evenly distributed sets of natural numbers and their applications to scheduling in a distributed 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 π,Δ ∈ R a set A of natural numbers is (π, Δ)-smooth if abs(&vbar;I&vbar; · π-- &vbar;I∩A&vbar;) 9 Δ for any interval I ⊂ N.
The current paper studies scheduling <i>persistent clients</i> on a single slot-oriented <i>resource</i> in a flexible, predictable and distributed manner. Each client γ has a given <i>rate</i> ρ<sub>γ</sub> 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 ρ<sub>γ</sub>,Δ)-smooth set of slots (natural numbers). The paper focuses on a <i>distributed environment</i> where each client by itself (without any inter-client communication) <i>resolves</i> (computes), slot after slot, whether or not it owns this slot. The paper presents extremely efficient schedules under which a client resolves each slot in a constant time.
The paper considers two scheduling frameworks. The first one, the <i>Flat Scheduling Framework</i>, is the common problem where the rates of the clients are given a priori. In the second and novel framework, the <i>Open-Market Scheduling Framework</i>, fractions of the resource are bought and sold by <i>dealers</i>. Each dealer, upon receiving his set of slots, may choose either to become a client and use his share, or to remain a dealer and sell fractions of his share to other dealers. In this framework, the allocation process is highly distributed; moreover, fractions of several resources can be combined into a single virtual resource of new capabilities.
The paper presents two scheduling techniques. Both techniques, in both frameworks, produce smooth schedules with highly efficient distributed resolutions --- a client resolves each slot in <i>O</i>(1) time on a RAM with a moderate number of memory words, all of a small size. Each technique has its pros and cons. For example, one technique utilizes 100% of the resource but its resolution algorithm requires a number of words which is linear in the number of clients; the other technique utilizes only 99% of the resource but its resolution algorithm requires just <i>O</i>(1) words.
One of these techniques yields a solution to Tijdeman's Hierarchial Chairman Assignment Problem which outperforms prior solutions. The other technique naturally extends to the problem of scheduling multiple resources, under the restriction that a client may be served concurrently by at most one resource. The extension yields the first solution to this problem having efficient distributed resolution. Prior solutions produce a special type of smooth scheduling called <i>P-fair scheduling</i>, are centralized, and are less efficient than ours.