An Optimal Real-Time Scheduling Approach: From Multiprocessor to Uniprocessor
aa r X i v : . [ c s . O S ] A p r An Optimal Real-Time Scheduling Approach:From Multiprocessor to Uniprocessor
Paul Regnier, George Lima, Ernesto MassaComputer Science Department – Distributed Systems Laboratory (LaSiD) – Federal University of Bahia, BrazilEmail: { pregnier, gmlima, ernestomassa } @ufba.br Abstract —An optimal solution to the problem of schedulingreal-time tasks on a set of identical processors is derived.The described approach is based on solving an equivalentuniprocessor real-time scheduling problem. Although there areother scheduling algorithms that achieve optimality, they usuallyimpose prohibitive preemption costs. Unlike these algorithms,it is observed through simulation that the proposed approachproduces no more than three preemptions points per job.
Keywords -Real-Time, Multiprocessor, Scheduling, Server
I. I
NTRODUCTION
A. Motivation
Scheduling n real-time tasks on m processors is a problemthat has taken considerable attention in the last decade. Thegoal is to find a feasible schedule for these tasks, that isa schedule according to which no task misses its deadlines.Several versions of this problem have been addressed and anumber of different solutions have been given. One of thesimplest versions assumes a periodic-preemptive-independenttask model with implicit deadlines, PPID for short. Accordingto the PPID model each task is independent of the others, jobsof the same task are released periodically, each job of a taskmust finish before the release time of its successor job, andthe system is fully preemptive.A scheduling algorithm is considered optimal if it is ableto find a feasible schedule whenever one exists. Some optimalscheduling algorithms for the PPID model have been found.For example, it has been shown that if all tasks share the samedeadline [1], the system can be optimally scheduled with avery low implementation cost. The assumed restriction on taskdeadlines, however, prevents the applicability of this approach.Other optimal algorithms remove this restriction but imposea high implementation cost due to the required number oftask preemptions [2]–[4]. It is also possible to find trade-offsbetween optimality and preemption cost [5]–[8].Optimal solutions for the scheduling problem in the PPIDmodel are able to create preemption points that make itpossible task migrations between processors allowing for thefull utilization of the system. As illustration consider thatthere are three tasks, τ , τ and τ , to be scheduled on twoprocessors. Suppose that each of these tasks requires timeunits of processor and must finish time units after theyare released. Also, assume that all three tasks have the samerelease time. As can be seen in Figure 1, if two of thesetasks are chosen to execute at their release time and they arenot preempted, the pending task will miss its deadline. As all tasks share the same deadline in this example, the approachby McNaughton [1] can be applied, as illustrated in the figure.If this was not the case, generating possibly infinitely manypreemption points could be a solution as it is shown by otherapproaches [2]–[4]. In this work we are interested in a moreflexible solution. τ τ τ (a) C misses its deadline 0 1 2 3 τ τ τ τ (b) Correct scheduleFig. 1. A deadline miss occurs in case (a), but not in case (b). B. Contribution
In the present work, we define a real-time task as an infinitesequence of jobs. Each job represents a piece of work to beexecuted on one or more processors. A job is characterizedby its release time r , time after which it can be executed,and its deadline d , time by which it must be completed inorder for the system to be correct. Also, we assume that thedeadline of a job is equal to the release time of the next jobof the same task. However, differently from the PPID model,we do not assume that tasks are necessarily periodic. Instead,we assume that tasks have a fixed-utilization, i. e. each job ofa task utilizes a fixed processor bandwidth within the intervalbetween its release time and deadline. For example, a job ofa task with utilization u ¤ of processor requires u p d (cid:1) r q execution time. Note that according to the PPID model, thevalue d (cid:1) r is equal to the period of the periodic task, whichmakes the model assumed in this paper slightly more generalthan the PPID model.The proposed approach is able to optimally schedule aset of fixed-utilization tasks on a multiprocessor system. Thesolution we describe does not impose further restrictions onthe task model and only a few preemption points per job aregenerated. The idea is to reduce the real-time multiprocessorscheduling problem into an equivalent real-time uniprocessorscheduling problem. After solving the latter, the found solutionis transformed back to a solution to the original problem. Thisapproach seems very attractive since it makes use of wellknown results for scheduling uniprocessor systems. Consider the illustrative system with 3-tasks previouslygiven. We show that scheduling this system on two processorsis equivalent to scheduling another 3-task system with tasks τ (cid:6) , τ (cid:6) and τ (cid:6) on one processor. Each star task requires oneunit of time and has the same deadline as the original task,that is the star tasks represent the slack of the original ones.As can be seen in Figure 2, the basic scheduling rule is thefollowing. Whenever the star task executes on the transformedsystem, its associated original task does not execute on theoriginal system. For example, when τ (cid:6) is executing on thetransformed system, task τ is not executing on the originalsystem. τ (cid:6) τ (cid:6) τ (cid:6) τ τ τ τ Fig. 2. Scheduling equivalence of τ (cid:6) , τ (cid:6) τ (cid:6) on one processor and τ , τ , τ on two processors. The illustrative example gives only a glimpse of the pro-posed approach and does not capture the powerfulness of thesolution described in this document. For example, if the illus-trative example had four tasks instead of three, the schedulingrule could not be applied straightforwardly. For such cases,we show how to aggregate tasks so that the reduction to theuniprocessor scheduling problem is still possible. For moregeneral cases, a series of system transformation, each onegenerating a system with fewer processors, may be applied.Once a system with only one processor is obtained, the wellknown EDF algorithm is used to generate the correct schedule.Then, it is shown that this schedule can be used to correctlygenerate the schedule for the original multiprocessor system.
C. Structure
In the remainder of this paper we detail the proposedapproach. The notation and the assumed model of computationare described in Section II. Section III presents the concept ofservers, which are a means to aggregate tasks (or servers) intoa single entity to be scheduled. In Section IV it is shown therules to transform a multiprocessor system into an equivalentone with fewer processors and the scheduling rules used. Thecorrectness of the approach is also shown in this section. Then,experimental results collected by simulations are presented inSection V. Finally, Section VI gives a brief summary on relatedwork and conclusions are drawn in Section VII.II. S
YSTEM M ODEL AND N OTATION
A. Fixed-Utilization Tasks
As mentioned earlier, we consider a system comprised of n real-time and independent tasks, each of which defines aninfinite sequence of released jobs. More generally, a job canbe defined as follows. Definition II.1 (Job) . A real-time job, or simply, job, is afinite sequence of instructions to be executed. If J is a job, itadmits a release time, denoted J.r , an execution requirement,denoted
J.c , and a deadline, denoted
J.d . In order to represent possibly non-periodic execution re-quirements, we introduce a general real-time object, calledfixed-utilization task, or task for short, whose execution re-quirement is specified in terms of processor utilization withina given interval. Since a task shall be able to execute on asingle processor, its utilization cannot be greater than one.
Definition II.2 (Fixed-Utilization Task) . Let u be a positivereal not greater than one and let D be a countable andunbounded set of non-negative reals. The fixed-utilization task τ with utilization u and deadline set D , denoted τ : p u, D q ,satisfies the following properties: (i) a job of τ is released attime t if and only if t P D ; (ii) if J is released at time r , then J.d (cid:16) min t t t P D, t ¡ J.r u ; and (iii) J.c (cid:16) u p J.d (cid:1)
J.r q . Given a fixed-utilization task τ , we denote µ p τ q and Λ p τ q its utilization and its deadline set, respectively.As a simple example of fixed-utilization task, consider aperiodic task τ characterized by three attributes: (i) its starttime s ; (ii) its period T ; and (iii) its execution requirement C . Task τ generates an infinite collection of jobs each ofwhich released at s (cid:0) p j (cid:1) q T and with deadline at s (cid:0) jT , j P N (cid:6) . Hence, τ can be seen as a fixed-utilization task withstart time at s , utilization µ p τ q (cid:16) C { T and set of deadlines Λ p τ q (cid:16) tp s (cid:0) jT q , j P N (cid:6)u , which requires exactly µ p τ q T ofprocessor during periodic time intervals r s (cid:0)p j (cid:1) q T, s (cid:0) jT q ,for j in P N (cid:6) . As will be clearer later on, the concept offixed-utilization task will be useful to represent non-periodicprocessing requirements, such as those required by groups ofreal-time periodic tasks. B. Fully Utilized System
We say that a set of n fixed-utilization tasks fully utilizesa system comprised of m identical processors if the sum ofthe utilizations of the n tasks exactly equals m . Hereafter, weassume that the set of n fixed-utilization tasks fully utilizesthe system.It is important to mention that this assumption does notrestrict the applicability of the proposed approach. For ex-ample, if a job J of a task is supposed to require J.c timeunits of processor but it completes consuming only c J.c processor units, then the system can easily simulate
J.c (cid:1) c of its execution by blocking a processor accordingly. Also, ifthe maximum processor utilization required by the task set isless than m , dummy tasks can be created to comply with thefull utilization assumption. Therefore, we consider hereafterthat the full utilization assumption holds and so each job J executes exactly for u p J.d (cid:1)
J.r q time units during r r, d q . C. Global Scheduling
Jobs are assumed to be enqueued in a global queue andare scheduled to execute on a multiprocessor platform Π ,comprised of m ¡ identical processors. We consider a global scheduling policy according to which tasks are independent,preemptive and can migrate from a processor to anotherduring their executions. There is no penalty associated withpreemptions or migrations. Definition II.3 (Schedule) . For any collection of jobs, de-noted J , and multiprocessor platform Π , the multiprocessorschedule Σ is a mapping from R (cid:0) (cid:2) J (cid:2) Π to t , u with Σ p t, J, π q equal to one if schedule Σ assigns job J to executeon processor π at time t , and zero otherwise. Note that by the above definition, the execution requirementof a job J at time t can be expressed as e p J, t q (cid:16)
J.c (cid:1) ¸ π P Π » tJ.r Σ p t, J, π q dt, Definition II.4 (Valid Schedule) . A schedule Σ of a job set J is valid if (i) at any time, a single processor executes atmost one job in J ; (ii) any job in J does not execute on morethan one processor at any time; (iii) any job J P J can onlyexecute at time t if J.r ¤ t and e p J, t q ¡ . Definition II.5 (Feasible Schedule) . Let Σ be a schedule ofa set of jobs J . The schedule Σ is feasible if it is a validschedule and if all the jobs in J finish executing by theirdeadlines. We say that a job is feasible in a schedule Σ if it finishesexecuting by its deadline, independently of the feasibility of Σ . That is, a job can be feasible in a non-feasible schedule.However, if Σ is feasible, then all jobs scheduled in Σ arenecessarily feasible. Also, we say that a job J is active attime t if J.r ¤ t and e p J, t q ¡ . As a consequence, a fixed-utilization task admits a unique feasible and active job at anytime. III. S ERVERS
As mentioned before, the derivation of a schedule for amultiprocessor system will be done via generating a schedulefor an equivalent uniprocessor system. One of the tools foraccomplishing this goal is to aggregate tasks into servers,which can be seen as fixed-utilization tasks equipped with ascheduling mechanism.As will be seen, the utilization of a server is not greaterthan one. Hence, in this section we will not deal with themultiprocessor scheduling problem. The focus here is onprecisely defining the concept of servers (Section III-A) andshowing how they correctly schedule the fixed-utilization tasksassociated to them (Section III-B). In other words, the readercan assume in this section that there is a single processor inthe system. Later on we will show how multiple servers arescheduled on a multiprocessor system.
A. Server model and notations
A fixed-utilization server associated to a set of fixed-utilization tasks is defined as follows: T p . q σ p τ q p . q σ p τ q p . q σ p τ q p . q Fig. 3. A three-server set. The utilization u of a server S or a set of server T is indicated by the notation S p u q and T p u q , respectively. Definition III.1 (Fixed-Utilization Server) . Let T be a set offixed-utilization tasks with total utilization given by µ p T q (cid:16) ¸ τ P T µ p τ q ¤ A fixed-utilization server S associated to T , denoted σ p T q , isa fixed-utilization task with utilization µ p T q , set of deadlines Λ p S q „ ” τ P T Λ p τ q , equipped with a scheduling policy usedto schedule the jobs of the elements in T . For any time interval r d, d , where d, d Λ p S q , S is allowed to execute exactly for µ p T qp d d q time units. Given a fixed-utilization server S , we denote Γ p S q theset of fixed-utilization tasks scheduled by S and we assumethat this set is statically defined before the system execution.Hence, the utilization of a server, simply denoted µ p S q , canbe consistently defined as equal to µ p Γ p S qq . Note that, sinceservers are fixed-utilization tasks, we are in condition to definethe server of a set of servers. For the of sake of conciseness,we call an element of Γ p S q a client task of S and we call ajob of a client task of S a client job of S . If S is a server and T a set of servers, then σ p Γ p S qq (cid:16) S and Γ p σ p T qq (cid:16) T .For illustration consider Figure 3, where T is a set com-prised of the three servers σ p τ q , σ p τ q and σ p τ q associatedto the fixed-utilization tasks τ , τ and τ , respectively. Thenumbers between brackets represent processor utilizations. If S (cid:16) σ p T q is the server in charge of scheduling σ p τ q , σ p τ q and σ p τ q , then we have T (cid:16) Γ p S q (cid:16) t σ p τ q , σ p τ q , σ p τ qu and µ p S q (cid:16) . .As can be seen by Definition III.1, the server S associatedto T may not have all the elements of ” τ P T Λ p τ q . Indeed,the number of elements in Λ p S q depends on a server deadlineassignment policy: Definition III.2 (Server Deadline Assignment) . A deadline ofa server S at time t , denoted λ S p t q , is given by the earliestdeadline greater than t among all client jobs of S not yetcompleted at time t . This includes those jobs active at t or thenot yet released jobs at t . More formally, λ S p t q (cid:16) min J P J t J.d, p J.r t ^ e p J, t q ¡ q _ J.r ¥ t u where J is the set of all jobs of servers in Γ p S q . Note that by Definitions II.2 and III.2, the execution require-ment of a server S in any interval p d, d equals µ p S qp d d q ,where d and d are two consecutive deadlines in Λ p S q . Asa consequence, the execution requirement of a job J of aserver S , released at time d P Λ p S q , equals J.c (cid:16) e p J, d q (cid:16) µ p S qp λ S p d q(cid:1) d q for all d P Λ p S q . The budget of S at any time t , denoted as C S p t q , is replenished to e p J, t q at all t P Λ p S q .The budget of a server represents the processing time availablefor its clients. Although a server never executes itself, we saythat a server S is executing at time t in the sense that one ofits client tasks consumes its budget C S p t q at the same rate ofits execution.Recall from Section II-A that a job of an fixed-utilizationtask is feasible in a schedule Σ if it meets its deadline. How-ever, the feasibility of a server does not imply the feasibilityof its client tasks. For example, consider two periodic tasks τ : p { , N (cid:6)q and τ : p { , N (cid:6)q , with periods equal to 2 and3 and utilizations µ p τ q (cid:16) { and µ p τ q (cid:16) { , respectively.Assume that their start times are equal to zero. Consider aserver S scheduling these two tasks on a dedicated processorand let Λ p S q (cid:16) t , , , , . . . u . Thus, the budget of S during r , q equals C S p q (cid:16) µ p S q (cid:16) { . Let Σ be a schedule of τ and τ in which S is feasible. The feasibility of server S implies that S acquires the processor for at least { units oftime during r , q , since is a deadline of S . Now, supposethat the scheduling policy used by S to schedule its client tasksgives higher priority to τ at time . Then, τ will consumeone unit of time before τ begins its execution. Therefore,the remaining budget C S p q (cid:16) { will be insufficient tocomplete τ by , its deadline. This illustrates that a servercan be feasible while the generated schedule of its clients isnot feasible. B. EDF Server
In this section, we define an EDF server and shows thatEDF servers are predictable in the following sense.
Definition III.3 (Predictable Server) . A fixed-utilization server S is predictable in a schedule Σ if its feasibility in Σ impliesthe feasibility of all its client jobs. Definition III.4 (EDF Server) . An EDF server is a fixed-utilization server S , defined according to Definitions III.1 andIII.2, which schedules its client tasks by EDF. For illustration, consider a set of three periodic tasks T (cid:16)t τ : p { , N (cid:6)q , τ : p { , N (cid:6)q , τ : p { , N (cid:6)qu . Since µ p T q (cid:16) { ¤ , we can define an EDF server S to schedule T suchthat Γ p S q (cid:16) T and µ p S q (cid:16) { . Figure 4 shows both theevolution of C S p t q during interval r , q and the schedule Σ of T by S on a single processor. In this figure, i j represents the j -th job of τ i . Observe here that Λ p S q (cid:24) t k, k, k | k P N (cid:6)u .Indeed, deadlines of and of are not in Λ p S q , since and are completed at time and , respectively.It is worth noticing that the deadline set of a server couldbe defined to include all deadlines of its clients. However, thiswould generate unnecessary preemption points. Definition III.5.
A set T of fixed-utilization tasks is a unit setif µ p T q (cid:16) . The server σ p T q associated to a unit set T isa unit server. In order to prove that EDF servers are predictable, we firstpresent some intermediate results.
Definition III.6.
Let S be a server, T a set of servers with µ p T q ¤ , and α a real such that α ¤ { µ p S q . The C s p t q (cid:0) (cid:0) Σ , , , Fig. 4. Budget management and schedule of an EDF server S with T p S q (cid:16)t τ : p { , N (cid:6)q , τ : p { , N (cid:6)q , τ : p { , N (cid:6)qu and µ p S q (cid:16) { . α -scaled server of S is the server with utilization αµ p S q anddeadlines equal to those of S . The α -scaled set of T is theset of the α -scaled servers of server in T . As illustration, consider T (cid:16) t S , S , S u a set of serverswith µ p T q (cid:16) . , µ p S q (cid:16) . , µ p S q (cid:16) . and µ p S q (cid:16) . . The -scaled set of T is T S , S , S u with µ p T
1q (cid:16) , µ p S q (cid:16) . , µ p S q (cid:16) . and µ p S q (cid:16) . . Lemma III.1.
Let T be a set of EDF servers with µ p T q ¤ and T be its α -scaled set. Define S and S as two EDFservers associated to T and T and consider that Σ and Σ are their corresponding schedules, respectively. The schedule Σ is feasible if and only if Σ is feasible.Proof: Suppose Σ feasible. Consider a deadline d in Λ p S q . Since S and S use EDF and Λ p S q (cid:16) Λ p S , S and S execute their client jobs in the same order. As a consequence,all the executions of servers in Γ p S q during r , d q must havea corresponding execution of a server in Γ p S during r , d q .Also, since S executes for µ p S q d during r , d q and α ¤ { µ p S q , the execution time µ p S d of S during r , d q satisfies αµ p S q d ¤ d . Hence, a client job of S corresponding to anexecution which completes in Σ before d , completes before d in Σ . Since Σ is feasible, this shows that Σ is feasible.To show that Σ is feasible if Σ is feasible the samereasoning can be made with a scale equal to α { α Lemma III.2.
The schedule of a set of servers T produced bythe EDF server S (cid:16) σ p T q is feasible if and only if µ p T q ¤ .Proof: The proof presented here is an adaptation of theproof of Theorem from [9]. The difference between serversand tasks makes this presentation necessary.First, assume that µ p T q ¡ . Let r d, d be a time intervalwith no processor idle time, where d and d are two deadlinesof servers in T . By the assumed utilization, this time intervalmust exist. As the cumulated execution requirement withinthis interval is µ p T qp d d q ¡ d d , a deadline miss mustoccur, which shows the necessary condition.Suppose now that d is the first deadline miss after time t (cid:16) and let S be the server whose job J misses its deadlineat d . Let t be the start time of the latest idle time intervalbefore d . Assume that t if such a time does not exist. Also, let d be the earliest deadline in Λ p S q after t . Note that d d otherwise no job would be released between t and d . If d is not equal to zero, then the processor must be idlejust before d . Indeed, if there were some job executing justbefore d , it would be released after t and its release instantwould be a deadline in Λ p S q occurring before d and after t , which would contradict the definition of d . Hence, onlythe time interval between d and d is to be considered. Thereare two cases to be distinguished depending on whether somelower priority server executes within r d , d q .idle time t d d k d k d Fig. 5. A deadline miss occurs for job J at time d and no job with lowerpriority than J executes before d a) Case 1: Illustrated by Figure 5. Assume that no jobof servers in Γ p S q with lower priority than J executes within r d , d q . Since there is no processor idle time between d and d and a deadline miss occurs at time d , it must be thatthe cumulated execution time of all jobs in Γ p S q releasedat or after d and with deadline less than or equal to d isstrictly greater than d (cid:1) d . Consider servers S k whose jobshave their release instants and deadlines within p d , d s . Let d k and d k be the first release instant and the last deadline ofsuch jobs, respectively. The cumulated execution time of suchservers during r d , d q equals C (cid:16) ° S k P Γ p S q µ p S k qp d k (cid:1) d k q .As ° S k P Γ p S q µ p S k q ¤ µ p S q ¤ , C ¤ µ p S qp d (cid:1) d
1q ¤ d (cid:1) d ,leading to a contradiction.idle time t d d r d Fig. 6. A deadline miss occurs for job J at time d and some lower priorityjob than J executes before d b) Case 2: Illustrated by Figure 6. Assume that thereexist client jobs of S with lower priority than J that executewithin r d , d q . Let d be the latest deadline after which no suchjobs execute and consider r the release instant of J . Since J misses its deadline, no job with lower priority than J canexecute after r . Thus, we must have d r d . Also, thereis no processor idle time in r d , d q . Thus, for a deadline missto occur at time d , it must be that the cumulated execution timeof all servers in Γ p S q during r d , d q is greater than d (cid:1) d .Also, it must be that a lower priority job was executing justbefore d . Indeed, if J , a job with higher priority than J , wasexecuting just before d , its release time r would be before d and no job with lower priority than J could have executed after r , contradicting the minimality of d . Thus, no job releasedbefore d and with higher priority than J executes between d and d . Hence, the jobs that contribute to the cumulatedexecution time during r d , d q must have higher priorities than J and must be released after d . The cumulated requirementof such jobs of a server S k is not greater than µ p S k qp d (cid:1) d .Henceforth, since ° S k P Γ p S q µ p S k q (cid:16) µ p S q ¤ , the cumulated execution time of all servers during r d , d q cannot be greaterthan µ p S qp d (cid:1) d
2q ¤ d (cid:1) d , reaching a contradiction. Theorem III.1.
An EDF server is predictable.Proof:
Consider a set of servers T (cid:16) t S , S , . . . , S n u such that µ p T q ¤ and assume that T is to be scheduledby an EDF server S . Let T be the { µ p T q -scaled serverset of T . Hence, by Definition III.6, we have µ p T
1q (cid:16)° ni (cid:16) µ p S i q{ µ p T q (cid:16) . Let S be the EDF server associatedto T . By Lemma III.1, the schedule Σ of T by S is feasibleif and only if the schedule Σ of T be S is feasible. But, S schedules servers as EDF. Indeed, consider a release instant r of S at which the budget of S is set to λ S r q(cid:1) r . During theentire interval r r, λ S r qq , the budget of S is strictly positive.This implies that S is not constrained by its budget duringthe whole interval r r, λ S r qq . Thus, S behaves as if it hasinfinite budget and schedules its client servers according toEDF. Since, by Lemma III.2, a server set of utilization one isfeasible by EDF, the schedule Σ produced by S is feasibleand so is Σ .It is worth saying that Theorem III.1 implicitly assumes thatserver S executes on possibly more than one processor. Theclient servers of S do not execute in parallel, though. Theassignment of servers to processors is carried out on-line andis specified in the next section.IV. V IRTUAL S CHEDULING
In this section we present two basic operations, dual andpacking, which are used to transform a multiprocessor systeminto an equivalent uniprocessor system. The schedule for thefound uniprocessor system is produced on-line by EDF and thecorresponding schedule for the original multiprocessor systemis deduced straightforwardly by following simple rules. Thetransformation procedure can generate one or more virtualsystems, each of which with fewer processors than the original(real) system.The dual operation, detailed in Section IV-A, transforms afixed-utilization task τ into another task τ (cid:6) representing theslack task of τ and called the dual task of τ . That is µ p τ (cid:6)q (cid:16) (cid:1) µ p τ q and the deadlines of τ (cid:6) are equal to those of τ . As µ p τ q ¡ . implies µ p τ (cid:6)q . , the dual operation playsthe role of reducing the utilization of the system made ofcomplementary dual tasks as compared to the original system.The packing operation, presented in Section IV-B, groupsone or more tasks into a server. As fixed-utilization taskswhose utilization do not sum up more than can be packedinto a single server, the role of the packing operation is toreduce the number of tasks to be scheduled.By performing a pair of dual and packing operations, oneis able to create a virtual system with less processor andtasks. Hence, it is useful to have both operations composedinto a single one, called reduction operation, which will bedefined in Section IV-C. As will be seen in Section IV-D,after performing a series of reduction operation, the scheduleof the multiprocessor system can be deduced from the (virtual)schedule of the transformed uniprocessor system. Althougha reduction from the original system into the virtual ones is carried out off-line, the generation of the multiprocessorschedule for the original system can be done on-line. SectionIV.E ilustrates the proposed approach with an example. A. Dual Operation
As servers are actually fixed-utilization tasks and will beused as a basic scheduling mechanism, the dual operation isdefined for servers.
Definition IV.1 (Dual Server) . Let S be a server with utiliza-tion µ p S q such that µ p S q . The dual server of S isdefined as the server S (cid:6) whose utilization µ p S (cid:6)q (cid:16) (cid:1) µ p S q ,deadlines are equal to those of S and scheduling algorithmidentical to that of S . If T is a set of servers, then the dualset T (cid:6) of T is the set of servers which are duals of the serversin T , i.e. S P T if and only if S (cid:6) P T (cid:6) . Note that servers with utilization equal to or are notconsidered in Definition IV.1. This is not a problem since inthese cases S can straightforwardly be scheduled. Indeed, if S is a server with utilization, a processor can be allocatedto S and by Theorem III.1, all clients of S meet their deadlines.In case that S is a null-utilization server, it is enough to ensurethat S never gets executing.We define the bijection ϕ from a set of non-integer (neitherzero nor one) utilization servers T to its dual set T (cid:6) as thefunction which associates to a server S its dual server S (cid:6) , i.e ϕ p S q (cid:16) S (cid:6) . Definition IV.2 (Dual Schedule) . Let T be a set of serversand T (cid:6) be its dual set. Two schedules Σ of T and Σ (cid:6) of T (cid:6) are duals if, at any time, a server S in T executes in Σ if andonly if its dual server S (cid:6) does not execute in Σ (cid:6) . The following theorem relates the feasibility of a set ofservers to the feasibility of its dual set. It is enunciatedassuming a fully utilized system. However, recall from SectionII-B that any system can be extended to a fully utilized systemin order to apply the results presented here.
Theorem IV.1 (Dual Operation) . Let T (cid:16) t S , S , . . . , S n u be a set of n (cid:16) m (cid:0) k servers with k ¥ and µ p T q (cid:16) m .The schedule Σ of T on m processors is feasible if and onlyif its dual schedule Σ (cid:6) is feasible on k processors.Proof: In order to prove the necessary condition, assumethat a schedule of T on m processors, Σ , is feasible. ByDefinition IV.2, we know that S i executes in Σ whenever S (cid:6) i does not execute in Σ (cid:6) , and vice-versa. Now, consider theexecutions in Σ (cid:2) Σ (cid:6) of a pair p S i , S (cid:6) i q and define a schedule ¯Σ for the set ¯ T (cid:16) T Y T (cid:6) as follows: S i always executes onthe same processor in ¯Σ ; S i executes in ¯Σ at time t if and onlyif it executes at time t in Σ ; and whenever S i is not executingin Σ , S (cid:6) i is executing in ¯Σ on the same processor as S i .By construction, the executions of T and T (cid:6) in ¯Σ corre-spond to their executions in Σ and Σ (cid:6) , respectively. Also, in ¯Σ , S i and S (cid:6) i execute on a single processor. Since µ p S i q (cid:0) µ p S (cid:6) i q (cid:16) and S i and S (cid:6) i have the same deadlines, thefeasibility of S i implies the feasibility of S (cid:6) i . Since this istrue for all pairs p S i , S (cid:6) i q , we deduce that both Σ (cid:6) and ¯Σ are feasible. Furthermore, as by the definition of ¯Σ , n (cid:16) m (cid:0) k processors are needed and by assumption Σ uses m processors, Σ (cid:6) can be constructed on k processors.The proof of the sufficient condition is symmetric and canbe shown using similar arguments.Theorem IV.1 does not establish any scheduling rule togenerate feasible schedules. It only states that determining afeasible schedule for a given server set on m processors isequivalent to finding a feasible schedule for the transformedset on n (cid:1) m virtual processors. Nonetheless, this theoremraises an interesting issue. Indeed, dealing with n (cid:1) m virtualprocessors instead of m can be advantageous if n (cid:1) m m .In order to illustrate this observation, consider a set of threeservers with utilization equal to { . Instead of searching fora feasible schedule on two processors, one can focus on theschedule of the dual servers on just one virtual processor, aproblem whose solution is well known. In order to guaranteethat dealing with dual servers is advantageous, the packingoperation plays a central role. B. Packing Operation
As seen in the previous section, the dual operation is apowerful mechanism to reduce the number of processors butonly works properly if n (cid:1) m m . If this is not the case,one needs to reduce the number of servers to be scheduled,aggregating them into servers. This is achieved by the packingoperation, which is formally described in this section. Definition IV.3 (Packed Server Set) . A set of non-zero utiliza-tion servers T is packed if it is a singleton or if | T | ¥ andfor any two distinct servers S and S in T , µ p S q (cid:0) µ p S
1q ¡ . Definition IV.4 (Packing Operation) . Let T be a set of non-zero utilization servers. A packing operation π associates apacked set of servers π p T q to T such that the set collection p Γ p S qq S P π p T q is a partition of T . Note that a packing operation is a projection ( π (cid:5) π (cid:16) π )since the packing of a packed set is the packed set itself.An example of partition, produced by applying a packingoperation on a set T of servers, is illustrated by the set π p T q on the top of Figure 7. In this example, the partition of T is comprised of the three sets Γ p S q , Γ p S q and Γ p S q . Asan illustration of Definition IV.4, we have, Γ p S q (cid:16) π p S q (cid:16) π p S q (cid:16) π p S q . Lemma IV.1.
Let T be a set of non-zero utilization servers.If π is a packing operation on T , then µ p π p T qq (cid:16) µ p T q and | π p T q| ¥ µ p T q .Proof: A packing operation does not change the utiliza-tion of servers in T and so µ p π p T qq (cid:16) µ p T q . To show theinequality, suppose that µ p T q (cid:16) k (cid:0) ε with k natural and ¤ ε . As the utilization of a server is not greater thanone, there must exist at least r k (cid:0) ε s servers in π p T q .The following lemma establishes an upper bound on thenumber of servers resulted from packing an arbitrary numberof non-zero utilization servers with total utilization u . Lemma IV.2. If T is a set of non-zero utilization servers and T is packed, then | T | µ p T q . π p T p qq S p . q S p . q S p . q S p . q S p . q S p . q S p . q S p . q S p . q S p . q S p . q S p . q S p . q ψ p T qp q ϕ p S qp . q ϕ p S qp . q ϕ p S qp . q Fig. 7. Partition π p T q of T (cid:16) t S , S , . . . , S u into three subsets Γ p S q (cid:16) π p S q , Γ p S q (cid:16) π p S q and Γ p S q (cid:16) π p S q and image ψ p T q of T . The utilization u of a server S or a set of server T is indicated by thenotation S p u q and T p u q , respectively. Proof:
Let n (cid:16) | T | and u i (cid:16) µ p S i q for S i P T . Since T is packed, there exists at most one server in T , say S n ,such that u n { . All other servers have utilization greaterthat { . Thus, ° n (cid:1) i (cid:16) u i ¡ p n (cid:1) q{ . As u n (cid:1) (cid:0) u n ¡ , itfollows that ° ni (cid:16) u i (cid:16) µ p T q ¡ n { . C. Reduction Operation
In this section we define the composition of the dual andpacking operations. We begin by noting that the followingrelation holds.
Lemma IV.3. If T is a packed server set with more than oneserver, then µ p ϕ p T qq p| T | (cid:0) q{ .Proof: As T is packed, at least | T | (cid:1) servers have theirutilization strictly greater than { . Thus, at least all but oneserver in ϕ p T q have utilization strictly less than { . Hence, µ p ϕ p T qq p| T | (cid:1) q{ (cid:0) .According to Lemma IV.3, the action of the dual operationapplied to a packed set allows for the generation of a set ofservers whose total utilization is less than the utilization ofthe original packed set, as illustrated in Figure 7. Consideringan integer utilization server set T , this makes it possible toreduce the number of servers progressively by carrying outthe composition of a packing operation and the dual operationuntil T is reduced to a set of unit servers. Since this servercan be scheduled on a single processor, as will be shown lateron, it is known by Theorem IV.1 that a feasible schedule forthe original multiprocessor systems can be derived. Based onthese observations it is worth defining a reduction operation asthe composition of a packing operation and the dual operation. Definition IV.5.
A reduction operation on a set of servers T , denoted ψ p T q , is the composition of the dual operation ϕ (Definition IV.2), with a packing operation π (Definition IV.4),namely ψ (cid:16) ϕ (cid:5) π . The action of the operator ψ on a set T of servers isillustrated in Figure 7. D. Reduction Correctness
The results shown in the previous sections will be usedhere to show how to transform a multiprocessor system intoan equivalent (virtual) uniprocessor system by carrying out aseries of reduction operations on the target system. First, itis shown in Lemma IV.4 that a reduction operator returns areduced task system with smaller cardinality. Then, LemmaIV.5 and Theorem IV.2 show that after performing a series ofreduction operations, a set of servers can be transformed into aunit server, which, according to Theorem IV.3, can be used togenerate a feasible schedule on a uniprocessor system. Finally,it is shown in Theorem IV.4 that time complexity for carryingout the necessary series of reduction operations is dominatedby the time complexity of the packing operation.
Lemma IV.4. If T is a packed set of non-unit servers, | π (cid:5) ϕ p T q| ¤ R | T | (cid:0) V Proof:
Let n (cid:16) | T | . By the definition of T , whichis packed, there is at most one server S i in T so that µ p S i q ¤ { . This implies that at least n (cid:1) servers in ϕ p T q have their utilizations less than { . Since servers in T arenon-unit servers, their duals are non-zero-utilization servers.Hence, those dual servers can be packed up pairwisely, whichimplies that there will be at most rp n (cid:1) q{ s (cid:0) serversafter carrying out the packing operation. Thus, we deduce that | π (cid:5) ϕ p T q| ¤ rp n (cid:0) q{ s . Lemma IV.5.
Let T be a packed set of non-unit servers. If µ p T q is an integer, then | T | ¥ .Proof: If | T | ¤ , T would contain a unit server since µ p T q is a non-null integer. Nonetheless, there exist largernon-unit server sets. For example, let T be a set of serverssuch that each server in T has utilization µ p T q{| T | and | T | (cid:16) µ p T q (cid:0) . Definition IV.6 (Reduction Level and Virtual Processor) . Let i be a natural greater than one. The operator ψ i is recursivelydefined as follows ψ p T q (cid:16) T and ψ i p T q (cid:16) ψ (cid:5) ψ i (cid:1) p T q .The server system ψ i p T q is said to be at reduction level i andis to be executed on a set of virtual processors. Table I illustrates a reduction of a system composed of fixed-utilization tasks to be executed on processors.As can be seen, two reduction levels were generated bythe reduction operation. At reduction level , three virtualprocessors are necessary to schedule the remaining servers,while at reduction level , a single virtual processor sufficesto schedule the remaining servers.The next theorem states that the iteration of the operator ψ transforms a set of servers of integer utilization into a setof unit servers. For a given set of servers T , the number ofiterations necessary to achieve this convergence to unit serversvary for each initial server in T , as shown in Table I. Theorem IV.2 (Reduction Convergence) . Let T be a set ofnon-zero utilization servers. If T is a packed set of serverswith integer utilization, then for any element S P T , π p ψ p p S qq is a unit server set for some level p ¥ . TABLE IR
EDUCTION E XAMPLE OF A S ET OF S ERVERS . Server Utilization ψ p T q .6 .6 .6 .6 .6 .8 .6 .6 .5 .5 π p ψ p T qq .6 .6 .6 .6 .6 .8 .6 .6 1 ψ p T q .4 .4 .4 .4 .4 .2 .4 .4 π p ψ p T qq .8 .8 .4 1 ψ p T q .2 .2 .6 π p ψ p T qq Proof: π p ψ p T qq can be seen as a partition comprised oftwo subsets, those that contain unit sets and those that do not.Let F and U be these sets, formally defined as follows: F (cid:16)t S P π p ψ p T qq , µ p S qq u ; U (cid:16) t S P π p ψ p T qq , µ p S qq (cid:16) u ; F Y U (cid:16) π p ψ p T qq . Also, for k ¡ define F k and U k as F k (cid:16) t S P π p ψ p F k (cid:1) qq , µ p S qq u and U k (cid:16) t S P π p ψ p F k (cid:1) qq , µ p S qq (cid:16) u . We first claim that while F k (cid:1) (cid:127)(cid:16)tu , | F k | | F k (cid:1) | and that µ p F k q is integer. We show theclaim by induction on k . c) Base case: As F Y U is a packed set with integerutilization, it follows that µ p F q is also integer since U is aunit set. Consider F and U the partition of π p ψ p F qq . As F Y U (cid:16) π p ψ p F qq and U have integer utilization, µ p F q is also integer. Also, by Lemma IV.5, | F | ¥ and F is apacked set of servers, we deduce from Lemma IV.4 that ¤ | F | ¤ R | F | (cid:0) V Therefore, | F | | F | , since rp x (cid:0) q{ s x for x ¥ . d) Induction step: Assuming the claim holds until k (cid:1) ,it can be shown that it holds for k analogously as it was donefor the base case. e) Conclusion: By the claim there must exist k such that F k (cid:16) tu since by Lemma IV.5 there is no F k such that | F k | . Hence, π p ψ p p S qq must belong to some U p for some p ¤ k ,which completes the proof. Definition IV.7 (Proper Server Set) . Let ψ (cid:16) ϕ (cid:5) π be areduction operation and T be a set of servers with µ p T q P N (cid:6) .A subset of T is proper for ψ if there exists a level p ¥ such π (cid:5) ψ p p S q (cid:16) π (cid:5) ψ p p S for all S and S in T . Table I shows three proper sets, each of which projectedto a unit server. Note that the partition of a task system inproper sets depends on the packing operation. For instance,consider T (cid:16) t τ : p { , N (cid:6)q , τ : p { , N (cid:6)q , τ : p { , N (cid:6)q , τ : p { , N (cid:6)qu . First, consider a packing operation π whichaggregates p τ , τ q and p τ , τ q into two unit servers S and S , then tt τ , τ u , t τ , τ uu is the partition of T into twoproper sets for π . In this case, unit servers are obtained withno reduction. Second, consider another packing operation π which aggregates p τ q , p τ q and p τ , τ q into three non-unitservers S , S and S . Then, tt τ u , t τ u , t τ , τ uu is thepartition of T into one proper set for π . In this latter case, onereduction is necessary to obtain a unit server at level one. Thecorrectness of the transformation, though, does not depend onhow the packing operation is implemented. Theorem IV.3 (Reduction) . Let ψ (cid:16) ϕ (cid:5) π be a reductionand T be a proper set of EDF servers with µ p T q P N (cid:6) and π (cid:5) ψ p p S q (cid:16) for some integer p ¥ . If all serversare equipped with EDF, then the schedule Σ of T is fea-sible on µ p T q processors if and only if the schedule Σ of S π (cid:5) ψ p p S q is feasible on a single virtual processor.By transitivity between reduction levels: Consider theset of servers T p k q (cid:16) ψ k p T q and its reduction ψ p T p k qq .By Theorem IV.2, µ p T p k qq P N . Thus, π p T p k qq satisfies thehypothesis of Theorem IV.1. As a consequence, the schedule Σ p k (cid:0) q of ψ p T p k qq on | π p T p k qq| (cid:1) µ p T p k qq processors isfeasible if and only if the schedule ¯Σ p k q of π p T p k qq is feasibleon µ p T p k qq processors. As all servers in π p T p k qq are EDFservers, we conclude that the schedule Σ p k (cid:0) q of ψ p T p k qq on | π p T p k qq| (cid:1) µ p T p k qq processors is feasible if and only if theschedule Σ p k q of T p k q is feasible on µ p T p k qq processors.It is worth noticing that the time complexity of a reductionprocedure is polynomial. The dual operation computes for eachtask the utilization of its dual, a linear time procedure. Also,since no optimality requirement is made for implementing thepacking operation, any polynomial-time heuristic applied topack fixed-utilization tasks/servers can be used. For example,the packing operation can run in linear time or log-linear time,depending on the chosen heuristic. As the following theoremshows, the time complexity of the whole reduction procedureis dominated by the time complexity of the packing operation. Theorem IV.4 (Reduction Complexity) . The problem ofscheduling n fixed-utilization tasks on m processors can bereduced to an equivalent scheduling problem on uniprocessorsystems in time O p f p n qq , where f p n q is the time it takes topack n tasks in m processors.Proof: Theorem IV.2 shows that a multiprocessorscheduling problem can be transformed into various unipro-cessor scheduling problems, each of which formed by a properset. Let k be the largest value during a reduction procedureso that µ p ψ k p T qq (cid:16) , where T is a proper set. Without lossof generality, assume that | T | (cid:16) n . It must be shown that k (cid:16) O p f p n qq . At each step, a reduction operation is carriedout, which costs n steps for the dual operation plus f p n q . Also,by Lemma IV.4, each time a reduction operation is applied, thenumber of tasks is divided by two. As a consequence, the time T p n q to execute the whole reduction procedure satisfies therecurrence T p n q (cid:16) T p n { q (cid:0) f p n q . Since f p n q takes at least n steps, the solution of this recurrence is T p n q (cid:16) O p f p n qq . E. Illustration
Figure 8 shows an illustrative example produced by simu-lation with a task set which requires two reduction levels tobe scheduled. Observe, for instance, that when ϕ p σ t S (cid:6) , S (cid:6) uq is executing in Σ , then both S (cid:6) and S (cid:6) do not execute in Σ , and both S and S execute in real schedule Σ . On theother hand, when ϕ p σ t S (cid:6) , S (cid:6) uq does not execute in Σ , theneither – S (cid:6) and S – or exclusive – S (cid:6) and S – executes in Σ and Σ , respectively. S , S (cid:6) S , S (cid:6) S , S (cid:6) S , S (cid:6) S , S (cid:6) ϕ (cid:5) σ t S (cid:6) , S (cid:6) u ϕ (cid:5) σ t S (cid:6) , S (cid:6) u ϕ (cid:5) σ t S (cid:6) u Σ Σ Σ Fig. 8. T (cid:16) t S , S , S , S , S u with S (cid:16) σ p τ : p { , N (cid:6)qq , S (cid:16) σ p τ : p { , N (cid:6)qq , S (cid:16) σ p τ : p { , N (cid:6)qq , S (cid:16) σ p τ : p { , N (cid:6)qq and S (cid:16) σ p τ : p { , N (cid:6)qq . Σ , Σ and Σ are the schedule on threeprocessors, two virtual processors and one virtual processor of T , ϕ p T q and ψ (cid:5) ϕ p T q , respectively. V. A
SSESSMENT
We have carried out intensive simulation to evaluate theproposed approach. We generated one thousand random tasksets with n tasks each, n (cid:16) , , , , . . . , . Hence atotal of thousands task sets were generated. Each task setfully utilizes a system with processors. Although otherutilization values were considered, they are not shown heresince they presented similar result patterns. The utilization ofeach task was generated following the procedure described in[10], using the aleatory task generator by [11]. Task periodswere generated according to a uniform distribution in theinterval r , s .Two parameters were observed during the simulation, thenumber of reduction levels and the number of preemptionpoints occurring on the real multiprocessor system. Job com-pletion is not considered as a preemption point. The resultswere obtained implementing the packing operation using thedecreasing worst-fit packing heuristic.Figure 9 shows the number of reduction levels. It is interest-ing to note that none of the task sets generated required morethan two reduction levels. For tasks, only one level wasnecessary. This situation, illustrated in Figure 2, is a specialcase of Theorem IV.1. One or two levels were used for n in r , s . For systems with more than tasks, the averagetask utilization is low. This means that the utilization of eachserver after performing the first packing operation is probablyclose to one, decreasing the number of necessary reductions.The box-plot shown in Figure 10 depicts the distributionof preemption points as a function of the number of tasks.The number of preemptions is expected to increase with thenumber of levels and with the number of tasks packed intoeach server. This behavior is observed in the figure, which F r a c t i on o f T a sk S e t n (Number of Tasks) Fig. 9. Fraction of task sets which requires 1 (crosshatch box) and 2 (emptybox) reduction levels. 1000 task sets were generated for each point. N u m be r o f P r eee m p t i on s n (Number of Tasks) Fig. 10. Distributions of the average number of preemptions per job, theirquartiles, and their minimum and maximum values. shows that the number of levels has a greater impact. Indeed,the median regarding scenarios for n in r , s is below . and for those scenarios each server is likely to contain a highernumber of tasks. Further, observe that the maximum valueobserved was . preemption points per job on average, whichillustrates a good characteristic of the proposed approach.VI. R ELATED W ORK
Solutions to the real-time multiprocessor scheduling prob-lem can be characterized according to the way task migrationis controlled. Approaches which do not impose any restrictionon task migration are usually called global scheduling. Thosethat do not allow task migration are known as partitionscheduling. Although partition-based approaches make it pos-sible using the results for uniprocessor scheduling straightfor-wardly, they are not applicable for task sets which cannot becorrectly partitioned. On the other hand, global scheduling canprovide effective use of a multiprocessor architecture althoughwith possibly higher implementation overhead.There exist a few optimal global scheduling approaches forthe PPID model. If all tasks share the same deadline, it hasbeen shown that the system can be optimally scheduled with avery low implementation cost [1]. Removing this restriction ontask deadlines, optimality can be achieved by approaches thatapproximate the theoretical fluid model, according to which alltasks execute at the steady rate proportional to their utilization[2]. However, this fluid approach has the main drawback that itpotentially generates an arbitrary large number of preemptions. Executing all tasks at a steady rate is also the goal of otherapproaches [3], [12]. Instead of breaking all task in fixed-size quantum subtasks, such approaches define schedulingwindows, called T-L planes, which are intervals betweenconsecutive task deadlines. The T-L plane approach has beenextended recently to accommodate more general task models[13]. Although the number of generated preemptions hasshown to be bounded within each T-L plane, the number ofT-L planes can be arbitrarily high for some task sets.Other approaches which control task migration have beenproposed [5], [6], [14], [15]. They have been called semi-partition approaches. The basic idea is to partition some tasksinto disjunct subsets. Each subset is allocated to processorsoff-line, similar to the partition-based approaches. Some tasksare allowed to be allocated to more than one processor andtheir migration is controlled at run-time. Usually, these ap-proaches present a trade-off between implementation overheadand achievable utilization, and optimality can be obtained ifpreemption overhead is not bounded.The approach presented in this paper lie in between partitionand global approaches. It does not assign tasks to processorsbut to servers and optimality is achieved with low preemptioncost. Task migration is allowed but is controlled by therules of both the servers and the virtual schedule. Also, asthe scheduling problem is reduced from multiprocessor touniprocessor, well known results for uniprocessor systems canbe used. Indeed, optimality for fixed-utilization task set onmultiprocessor is obtained by using an optimal uniprocessorscheduler, maintaining a low preemption cost per task.It has recently been noted that if a set with m (cid:0) tasks havetheir total utilization exactly equal to m , then a feasible sched-ule of these tasks on m identical processors can be produced[16]. The approach described here generalizes this result. Theuse of servers was a key tool to achieve this generalization. Theconcept of task servers has been extensively used to providea mechanism to schedule soft tasks [17], for which timingattributes like period or execution time are not known a priori.There are some server mechanisms for uniprocessor systemswhich share some similarities with one presented here [18],[19]. To the best of our knowledge the server mechanismpresented here is the first one designed with the purposes ofsolving the real-time multiprocessor scheduling problem.VII. C ONCLUSION
An approach to scheduling a set of tasks on a set ofidentical multiprocessors has been described. The novelty ofthe approach lies in transforming the multiprocessor schedul-ing problem into an equivalent uniprocessor one. Simulationresults have shown that only a few preemption points per jobon average are generated.The results presented here have both practical and theo-retical implications. Implementing the described approach onactual multiprocessor architectures is among the practical is-sues to be explored. Theoretical aspects are related to relaxingthe assumed task model, e.g. sporadic tasks with constraineddeadlines. Further, interesting questions about introducingnew aspects in the multiprocessor schedule via the virtual uniprocessor schedule can be raised. For example, one maybe interested in considering aspects such as fault tolerance,energy consumption or adaptability. These issues are certainlya fertile research field to be explored.R
EFERENCES[1] R. McNaughton, “Scheduling with deadlines and loss functions,”
Man-agement Science , vol. 6, no. 1, pp. 1–12, 1959.[2] S. Baruah, N. K. Cohen, C. G. Plaxton, and D. A. Varvel, “Proportionateprogress: A notion of fairness in resource allocation,”
Algorithmica ,vol. 15, no. 6, pp. 600–625, 1996.[3] H. Cho, B. Ravindran, and E. D. Jensen, “An optimal real-time schedul-ing algorithm for multiprocessors,” in , 2006, pp. 101–110.[4] G. Levin, S. Funk, C. Sadowski, I. Pye, and S. Brandt, “DP-FAIR: Asimple model for understanding optimal multiprocessor scheduling,” in
Euromicro Conf. on Real-Time Systems , 2010, pp. 3–13.[5] B. Andersson, K. Bletsas, and S. Baruah, “Scheduling arbitrary-deadlinesporadic task systems on multiprocessors,” in , 2008, pp. 385–394.[6] E. Massa and G. Lima, “A bandwidth reservation strategy for multipro-cessor real-time scheduling,” in , april 2010, pp. 175 –183.[7] B. Andersson and K. Bletsas, “Sporadic multiprocessor scheduling withfew preemptions,” in , July2008, pp. 243–252.[8] K. Bletsas and B. Andersson, “Notional processors: An approach formultiprocessor scheduling,” in , April 2009, pp. 3–12.[9] C. L. Liu and J. W. Layland, “Scheduling algorithms for multiprogramin a hard real-time environment,”
Journal of ACM , vol. 20, no. 1, pp.40–61, 1973.[10] P. Emberson, R. Stafford, and R. I. Davis, “Techniques for the synthesisof multiprocessor tasksets,” in
Proc. of 1st Int. Workshop on AnalysisTools and Methodologies for Embedded and Real-time Systems (WA-TERS 2010) , 2010, pp. 6–11.[11] ——, “A taskset generator for experiments with real-time task sets,”http://retis.sssup.it/waters2010/data/taskgen-0.1.tar.gz, Jan. 2011.[12] K. Funaoka, S. Kato, and N. Yamasaki, “Work-conserving optimal real-time scheduling on multiprocessors,” in , 2008, pp. 13–22.[13] S. Funk, “An optimal multiprocessor algorithm for sporadic task setswith unconstrained deadlines,”
Real-Time Systems , vol. 46, pp. 332–359,2010.[14] A. Easwaran, I. Shin, and I. Lee, “Optimal virtual cluster-based multi-processor scheduling,”
Real-Time Syst. , vol. 43, no. 1, pp. 25–59, 2009.[15] S. Kato, N. Yamasaki, and Y. Ishikawa, “Semi-partitioned scheduling ofsporadic task systems on multiprocessors,” in , 2009, pp. 249–258.[16] G. Levin, C. Sadowski, I. Pye, and S. Brandt, “S N S: A simple modelfor understanding optimal hard real-time multi-processor scheduling,”Univ. of California, Tech. Rep., 2009.[17] J. W. S. Liu,
Real-Time Systems . Prentice-Hall, 2000.[18] Z. Deng, J. W.-S. Liu, and J. Sun, “A scheme for scheduling hardreal-time applications in open system environment,” in , 1997, pp. 191–199.[19] M. Spuri and G. Buttazzo, “Scheduling aperiodic tasks in dynamicpriority systems,”