A Best-Response Algorithm for Multiprocessor Periodic Scheduling

The problem of scheduling strictly periodic tasks, that is tasks that have to be executed at constant time intervals over an infinite time horizon, naturally arises in real-time video signal processing and in the design of critical embedded systems. We address this problem assuming that the objective is to find a schedule that maximizes the idle times between the task executions while ensuring that they do not overlap in time. This will allow an evolution margin for task budget times, should it be required in the future. We first consider the uniprocessor scheduling problem for which we propose an approximation algorithm inspired from Game Theory. In this algorithm, tasks take turns in some fixed order and at its turn a task selects its offset to maximize its own utility function which is related to evolution margins of the tasks. We prove the convergence of the algorithm to an equilibrium point where no task has any incentive to unilaterally deviate. Although the equilibrium point need not necessarily be unique, we prove that there exists at least one equilibium point that is also optimal. We also provide an efficient scheme to compute the best-response offset of a task. We then show that this best-response algorithm can be naturally extended to the multiprocessor case by allowing tasks to select a processor in addition to an offset on this processor. Numerical experiments show that this algorithm is much quicker than an exact algorithm presented in prior work while at the same time it generates periodic schedules with modest relative errors.

[1]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[2]  Martin Skutella,et al.  Scheduling Periodic Tasks in a Hard Real-Time Environment , 2010, ICALP.

[3]  W. Marsden I and J , 2012 .

[4]  Paul Muhlethaler,et al.  Optimality and non-preemptive real-time scheduling revisited , 1995 .

[5]  Jan Karel Lenstra,et al.  Periodic Multiprocessor Scheduling , 1991, PARLE.

[6]  Christos H. Papadimitriou,et al.  Worst-case Equilibria , 1999, STACS.

[7]  Olivier Brun,et al.  Partition Scheduling on an IMA Platform with Strict Periodicity and Communication Delays , 2010 .

[8]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[9]  Drew Fudenberg,et al.  Game theory (3. pr.) , 1991 .

[10]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

[11]  Yves Sorel,et al.  Schedulability conditions for non-preemptive hard real-time tasks with strict period , 2010 .

[12]  Jan Korst,et al.  Scheduling Periodic Tasks with Slack , 1997, INFORMS J. Comput..

[13]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[14]  Patrick Meumeu Yomsi,et al.  Non-Schedulability Conditions for Off-line Scheduling of Real-Time Systems Subject to Precedence and Strict Periodicity Constraints , 2006, 2006 IEEE Conference on Emerging Technologies and Factory Automation.

[15]  Martin Skutella,et al.  Solving an Avionics Real-Time Scheduling Problem by Advanced IP-Methods , 2010, ESA.

[16]  C.B. Watkins,et al.  Transitioning from federated avionics architectures to Integrated Modular Avionics , 2007, 2007 IEEE/AIAA 26th Digital Avionics Systems Conference.

[17]  Christos H. Papadimitriou,et al.  Worst-case equilibria , 1999 .

[18]  Jan Karel Lenstra,et al.  Scheduling Periodic Tasks , 1996, INFORMS J. Comput..