CPU reservations and time constraints: efficient, predictable scheduling of independent activities
Proceedings of the sixteenth ACM symposium on Operating systems principles
Guaranteeing Fair Service to Persistent Dependent Tasks
SIAM Journal on Computing
Proceedings of the seventeenth ACM symposium on Operating systems principles
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Dynamic- and Static-priority Scheduling of Recurring Real-time Tasks
Real-Time Systems
Fast scheduling of periodic tasks on multiple resources
IPPS '95 Proceedings of the 9th International Symposium on Parallel Processing
Integrating Aperiodic and Recurrent Tasks on Fair-Scheduled Multiprocessors
ECRTS '02 Proceedings of the 14th Euromicro Conference on Real-Time Systems
The Case for Fair Multiprocessor Scheduling
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
RTAS '01 Proceedings of the Seventh Real-Time Technology and Applications Symposium (RTAS '01)
Stride Scheduling: Deterministic Proportional- Share Resource Management
Stride Scheduling: Deterministic Proportional- Share Resource Management
Optimizing the migration of virtual computers
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
The eclipse operating system: providing quality of service via reservation domains
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Scheduling periodic tasks on uniform multiprocessors
Euromicro-RTS'00 Proceedings of the 12th Euromicro conference on Real-time systems
Partition oriented frame based fair scheduler
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Suppose that we are given n persistent tasks (jobs) that need to be executed in an equitable way on m processors (machines). Each machine is capable of performing one unit of work in each integral time unit and each job may be executed on at most one machine at a time. The schedule needs to specify which job is to be executed on each machine in each time window. The goal is to find a schedule that minimizes job migrations between machines while guaranteeing a fair schedule. We measure the fairness by the drift d defined as the maximum difference between the execution times accumulated by any two jobs. As jobs are persistent we measure the quality of the schedule by the ratio of the number of migrations to time windows. We show a tradeoff between the drift and the number of migrations. Let n = qm + r with 0 r m (the problem is trivial for n 驴 m and for r = 0). For any d 驴 1, we show a schedule that achieves a migration ratio less than r(m 驴 r)/(n(q(d 驴 1)) + 驴 0; namely, it asymptotically requires r(m 驴 r) job migrations every n(q(d 驴 1) + 1) time windows. We show how to implement the schedule efficiently. We prove that our algorithm is almost optimal by proving a lower bound of r(m 驴 r)/(nqd) on the migration ratio. We also give a more complicated schedule that matches the lower bound for a special case when 2q 驴 d and m = 2r. Our algorithms can be extended to the dynamic case in which jobs enter and leave the system over time.