# Pinwheel scheduling with two distinct numbers

## Abstract

“The Pinwheel” is a real-time scheduling problem based on a problem in scheduling satellite ground stations but which also addresses scheduling preventive maintenance. Given a multiset of positive integers *A* = {*a*_{1}, *a*_{2}, ..., *a*_{ n }}, a schedule *S* for *A* is an infinite sequence over {1, 2, ..., *n*} such that any subsequence of length *a*_{ i } (1 ≤ *i* ≤ *n*) contains at least one *i*. Schedules can always be made cyclic; that is, a segment can be found that can be repeated indefinitely to form an infinite schedule. Interesting questions include determining whether schedules exist, determining the minimum cyclic schedule length, and creating an online scheduler. The “density” of an instance is defined as \(d = \sum\nolimits_{i = 1}^n {1/a} _i\). It has been shown that any instance with *d* > 1.0 cannot be scheduled. In the present paper we limit ourselves to instances in which A contains elements having only two distinct values. We prove that all such instances with *d* ≤ 1.0 can be scheduled, using a scheduling strategy based on balancing. The schedule so created is not always of minimum length, however. We use a related but more complicated method to create a minimum-length cyclic schedule, and prove its correctness. The former is computationally easier to obtain but not necessarily minimal. The latter, although still obtainable in polynomial time, requires significantly more computation. In addition, we show how to use either method to produce a fast online scheduler. Thus, we have solved completely the three major problems for this class of instances.

## Keywords

Schedule Problem Schedule Algorithm Integer Linear Programming Schedule Strategy Periodic Maintenance## Preview

Unable to display preview. Download preview PDF.

## References

- [1]R. Holte, A. Mok, L. Rosier, I. Tulchinsky, D. Varvel, “The Pinwheel: A Real-Time Scheduling Problem,”
*Proceedings of the 22nd Hawaii International Conference on System Science*, pp. 693–702, Kailua-Kona, January 1989.Google Scholar - [2]R. Holte, L. Rosier, I. Tulchinsky, D. Varvel, “Pinwheel Scheduling With Two Distinct Numbers,” submitted for publication.Google Scholar
- [3]H. Lenstra, “Integer Programming with a Fixed Number of Variables,”
*Mathematics of Operations Research*, Vol. 8, No. 4, pp. 538–548, November 1983.Google Scholar - [4]J. Y-T. Leung and M. L. Merrill, “A Note on Preemptive Scheduling of Periodic, Real-Time Tasks,”
*Information Processing Letters*, Vol. 11, pp. 115–118.Google Scholar - [5]C. L. Liu and J. W. Layland, “Scheduling Algorithms for Multiprogramming Systems in a Hard-Real-Time Environment,”
*JACM*, Vol. 20, pp. 46–61, January 1973.Google Scholar - [6]A. K. Mok, “Fundamental Design Problems of Distributed Systems for the Hard-Real-Time Environment,”
*Ph.D thesis*, MIT Laboratory for Computer Science, May 1983.Google Scholar - [7]A. Mok, L. Rosier, I. Tulchinsky, D. Varvel, “Algorithms and Complexity of the Periodic Maintenance Problem,”
*EUROMICRO '89*, September, 1989.Google Scholar - [8]A. K. Mok and S. Sutanthavibul, “Modeling and Scheduling of Dataflow Real-Time Systems,”
*Proceedings of the IEEE Real-Time Systems Symposium*, pp. 178–187, December 1985.Google Scholar - [9]W. D. Wei and C. L. Liu, “On a Periodic Maintenance Problem,”
*Operations Research Letters*, Vol. 2, No. 2, pp. 90–93, June 1983.Google Scholar