Real-time scheduling with resource sharing on heterogeneous multiprocessors

Björn Andersson, Gurulingesh Raravi
2014 Real-time systems  
Consider the problem of scheduling a task set τ of implicit-deadline spo-radic tasks to meet all deadlines on a t-type heterogeneous multiprocessor platform where tasks may access multiple shared resources. The multiprocessor platform has mk processors of type-k, where k 1, 2 ,...,t . The execution time of a task de-pends on the type of processor on which it executes. The set of shared resources is denoted by R. For each task τi , there is a resource set Ri R such that for each job of τi ,
more » ... g one phase of its execution, the job requests to hold the resource set Ri exclusively with the interpretation that (i) the job makes a single request to hold all the resources in the resource set Ri and (ii) at all times, when a job of τi holds Ri , no other job holds any resource in Ri . Each job of task τi may request the resource set Ri at most once during its execution. A job is allowed to migrate when it requests a resource set and when it releases the resource set but a job is not allowed to migrate at other times. Our goal is to design a scheduling algorithm for this problem and prove its performance. Keywords Heterogeneous multiprocessors, Real-time scheduling, Resource sharing Introduction A real-time software system is often modeled as a set of tasks where each task generates a (potentially infinite) sequence of jobs. Each job of a task may arrive at any time once a minimum inter-arrival time has elapsed since the arrival of the previous job of the same task. Each job has an execution time and a deadline within which it has to complete its execution. Tasks typically share a processor but in many computer systems, tasks also share other resources such as data structures, sensors, etc. and tasks must operate on such resources in a mutually exclusive manner while accessing the resource, that is, at all times, when a job of a task holds a resource, no other job of any task can hold that resource. Even on a single processor, the sharing of such resources can have a profound effect on timing behavior as witnessed by the near failure of the NASA mission, Mars Pathfinder, because the resource-sharing protocol in the operating system was not enabled (Jones 1997). Scheduling real-time tasks that share resources on a multiprocessor platform is more complex. Our goal in this work is to design an algorithm for scheduling real-time tasks that share resources (apart from processors) on t-type heterogeneous multiprocessors so as to meet all the deadlines. In a t-type heterogeneous multiprocessor platform (also called unrelated parallel machine) (i) not all processors are of the same type, (ii) the execution time of a task depends on the type of processor on which it executes and (iii) the number of distinct types of processors is a constant and is given by t 2. Many manufacturers offer chips combining different types of processors (AMD Inc.
doi:10.1007/s11241-013-9195-z fatcat:suoss5yvvzcmrdv6blamvs3juu