In the design of real-time systems, it is often the case that certain process parameters, such as the execution time of a job are not known precisely. The challenge in real-time system design then, is to develop techniques that efficiently meet the requirements of impreciseness, while simultaneously guaranteeing safety. In a traditional scheduling model, such as the one discussed in [M. Pinedo, Scheduling: Theory, Algorithms, and Systems, Prentice-Hall, Englewood Cliffs, 1995. [23]]; [P. Brucker, Scheduling Algorithms, second ed., Springer, 1998. [3]], the tendency is to either overlook the effects of impreciseness or to simplify the issue of impreciseness by assuming worst-case values. This assumption is unrealistic and at the same time, may cause certain timing constraints to be violated at run-time. Further, depending on the nature of the constraints involved, it is not immediately apparent, what the worst-case value for a given parameter is. Whereas, in traditional scheduling, constraints among jobs are no more complex than those that can be represented by a precedence graph, in case of real-time scheduling, complicated constraints such as relative timing constraints are commonplace. Additionally, the purpose of scheduling is to achieve a schedule that optimizes some performance metric, whereas in real-time scheduling the goal is to ensure that the imposed constraints are met at run-time. In this paper, we study the problem of scheduling a set of ordered, non-preemptive jobs under non-constant execution times. Typical applications for variable execution time scheduling include process scheduling in Real-Time Operating Systems such as Maruti, compiler scheduling, database transaction scheduling and automated machine control. An important feature of application areas such as robotics is the interaction between execution times of various processes. We explicitly model this interaction through the representation of execution time vectors as points in convex sets. This modeling vastly extends previous models of execution times as either single points or range-bound intervals. Our algorithms do not assume any knowledge of the distributions of execution times, i.e. they are Zero-Clairvoyant. We present both sequential and parallel algorithms for determining the existence of a Zero-Clairvoyant schedule. To the best of our knowledge, our techniques are the first of their kind.
Read full abstract