Partitioned Fixed-Priority Preemptive Scheduling for Multi-core Processors

  • Authors:
  • Karthik Lakshmanan;Ragunathan Rajkumar;John Lehoczky

  • Affiliations:
  • -;-;-

  • Venue:
  • ECRTS '09 Proceedings of the 2009 21st Euromicro Conference on Real-Time Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Energy and thermal considerations are increasingly driving system designers to adopt multi-core processors. In this paper, we consider the problem of scheduling periodic real-time tasks on multi-core processors using fixed-priority preemptive scheduling. Specifically, we focus on the partitioned (static binding) approach, which statically allocates tasks to processing cores. The well-established 50% bound for partitioned multiprocessor scheduling [10] can be overcome by task-splitting (TS) [19], which allows a task to be split across more than one core. We prove that a utilization bound of 60% per core can be achieved by the partitioned deadline-monotonic scheduling (PDMS) class of algorithms on implicit-deadline task sets, when the highest-priority task on each processing core is allowed to be split (HPTS). Given the widespread usage of fixed-priority scheduling in commercial real-time and non real-time operating systems (e.g. VxWorks, Linux), establishing such utilization bounds is both relevant and useful. We also show that a specific instance of PDMS HPTS, where tasks are allocated in the decreasing order of size, called PDMS HPTS DS, has a utilization bound of 65% on implicit deadline task-sets. The PDMS HPTS DS algorithm also achieves a utilization bound of 69% on lightweight implicit-deadline task-sets where no single task utilization exceeds 41.4%. The average-case behavior of PDMS HPTS DS is studied using randomly generated task-sets, and it is seen to have an average schedulable utilization of 88%. We also characterize the overhead of task-splitting using measurements on an Intel Core 2 Duo processor.