static and dynamic processor scheduling disciplines in

43

Upload: trankhanh

Post on 26-Jan-2017

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Static and Dynamic Processor Scheduling Disciplines in

Static and Dynamic Processor Scheduling Disciplinesin Heterogeneous Parallel ArchitecturesDaniel A. Menasc�e 1Department of Computer ScienceGeorge Mason UniversityFairfax, VA 22030-4444Debanjan SahaDepartment of Computer ScienceUniversity of Maryland at College Park, MD 20742Stella C. da Silva PortoDepartamento de Inform�atica, PUC-RIO22453 Rio de Janeiro, RJ, BrazilVirgilio A. F. AlmeidaDepartamento de Ciencia da Computa�c~ao, Universidade Federal de Minas Gerais,30161 Belo Horizonte, MG, BrazilSatish K. Tripathi2Department of Computer ScienceUniversity of Maryland at College Park, MD 207421This work was performed while this author was visiting the Institute for Advanced Computer Studies, Universityof Maryland at College Park, partially supported by CAPES, the National Science Foundation under grant CCR-9002351, and IBM Brasil.2Partially supported by the National Science Foundation under grant CCR-9002351.1

Page 2: Static and Dynamic Processor Scheduling Disciplines in

Proposed Running Title: Processor Scheduling in Heterogeneous MultiprocessorsAuthor For Correspondence:Daniel A. Menasc�eDepartment of Computer Science,George Mason University,Fairfax, VA 22030-4444phone: (703) 993-1530FAX: (703) 993-3729e-mail: [email protected] AbstractMost parallel jobs cannot be fully parallelized. In a homogeneous parallel machine | one inwhich all processors are identical | the serial fraction of the computation has to be executed at thespeed of any of the identical processors, limiting the speedup that can be obtained due to parallelism.In a heterogeneous architecture, the sequential bottleneck can be greatly reduced by running thesequential part of the job or even the critical tasks in a faster processor. This paper uses Markovchain based models to analyze the performance of static and dynamic processor assignment policiesfor heterogeneous architectures. Parallel jobs are assumed to be described by acyclic directed taskgraphs. A new static processor assignment policy, called Largest Task First Minimum Finish Time(LTFMFT), is introduced. The analysis shows that this policy is very sensitive to the degreeof heterogeneity of the architecture, and that it outperforms all other policies analyzed. Threedynamic assignment disciplines are compared and it is shown that, in heterogeneous environments,the disciplines that perform better are those that consider the structure of the task graph, and notonly the service demands of the individual tasks. The performance of heterogeneous architectures iscompared with cost-equivalent homogeneous ones taking into account di�erent scheduling policies.Finally, static and dynamic processor assignment disciplines are compared in terms of performance.2

Page 3: Static and Dynamic Processor Scheduling Disciplines in

1 IntroductionA parallel system is characterized by a multiprocessor executing parallel jobs. A multiprocessorconsists of a number of co-operating processors. The great majority of multiprocessors is groupedinto two types of organizations: shared memory and distributed memory. Multiprocessors can alsobe viewed as homogeneous or heterogeneous. In the �rst case, the system is composed of a numberof identical processors. Heterogeneous multiprocessors consist of processors of di�erent speeds andcosts [5, 13, 32, 34].A parallel job is a collection of many computational tasks, possibly with some precedence con-straints. A task can be identi�ed as a computational fragment that must be sequentially executedwith no part of it executable in parallel [34].Most parallel jobs cannot be fully parallelized. In fact, the fraction of sequential processingranges from 10% to 30% in real parallel applications [14]. In a homogeneous parallel machine| one in which all processors are identical | the serial fraction of the computation has to beexecuted at the speed of any of the identical processors, limiting the speedup that can be obtaineddue to parallelism [4]. If a subset of the processors is replaced by a single cost-equivalent morepowerful processor, we have a heterogeneous architecture in which the sequential bottleneck canbe greatly reduced by running the sequential part of the job or even the critical tasks on a fasterprocessor. Menasc�e and Almeida [34, 31, 32] and Andrews and Polychronopoulos [5] presentedquantitative cost-performance analysis of heterogeneity. Freund discusses heterogeneity in looselycoupled systems and considers the case where di�erent processing paradigms (e.g., SIMD, MIMD,etc) are involved [51, 15, 16]. These results led to the notions of superconcurrency and to theoptimal selection theory. Eventhough we address heterogeneity under the notion that di�erentprocessors may have di�erent speeds, the techniques presented here can be easily extended to thecase of processors of di�erent processing paradigms. In order for the performance advantages ofheterogeneity to materialize, appropriate processor scheduling must be done.Given a multiprocessor system and a set of parallel jobs, the scheduling function is responsiblefor the exploitation of processors in the system, with the aim at some speci�c performance goals,such as minimum execution time for a single job or balanced processor utilization in a multipro-gramming environment. Scheduling has been vaguely de�ned as a function that assigns jobs toprocessors [17]. In a more precise way, as de�ned in [50], the processor scheduling problem can beviewed as a two step process, namely processor allocation and assignment. Processor allocationdeals with the determination of the number of processors allocated to a job; the assignment phaserefers to the distribution of the job's tasks to the allocated processors.One important consideration while dealing with the scheduling problem is the kind of infor-3

Page 4: Static and Dynamic Processor Scheduling Disciplines in

mation that is available to the scheduler. We assume that the scheduler has information on thestructure of the job, in the form of a task graph, as well as timing information on each of theindividual tasks. Recent work in compilation theory shows that these assumptions are reasonable.Polychronopoulos presents a technique that can be used by a compiler to generate a task graphfrom a parallel program source code [42]. This technique can also be used to generate schedulingrelated information. Program timing and program pro�ling has been the subject of many recentstudies. Park and Shaw [39] developed a tool based on the concept of timing schema that acceptsa program and bounds for each loop, and produces predictions for best and worst case executiontimes. Nirkhe and Pugh [37] developed a technique, based on partial evaluation, which accuratelyestimates the execution time of general real-time programs employing high-level constructs. Somevery recent studies have been conducted on scheduling algorithms when there is no informationavailable to the scheduler before the jobs start their execution. These algorithms are called on-linealgorithms and are reported in [46]. In these studies processors may have di�erent speeds, buttasks are independent. Nelson and Towsley [36] used analytic models to study scheduling policiesin heterogeneous environments. They consider all tasks as being independent.A performance comparison of processor assignment disciplines requires that one be able tocompute the average execution time of a parallel job described by a task graph. Simulation hasbeen used by many authors for this purpose [2, 3, 33, 45]. The other approach to obtaining theaverage execution time of a task graph is analytic modeling. Thomasian and Bay [49] used atwo-level model in which queuing networks are used to obtain the throughputs for each possiblecombination of active tasks, and a Markov Chain is used to obtain the average job execution time.States in this Markov Chain represent sets of tasks in simultaneous execution. The state transitionrates are derived from the solution of the several queuing networks. Their construction of theMarkov Chain is oriented more towards static processor assignment. Menasc�e and Barroso [30]presented analytic models to obtain the average execution time of task graphs in shared memorymultiprocessors. Their model takes into account the contention for the interconnection networkand the memory modules. Kapelnikov et al [20], Chu and Leung [9] and Chu et al [10] also presentanalytic models for task graph based parallel jobs. In [20] a combined queueing network and MarkovChain approach is used. In [9] and [10] task graphs constructs such as sequence of tasks, and-fork toand-join, or-fork to or-join and loop are successively aggregated into a single node whose executiontime is an approximation of the original graph execution time. However, not all task graphs can beaggregated in this manner. In fact, the MVA type of topology [52] and the LU decomposition, andFFT transform [45] are just a few examples of topologies which are not amenable to this aggregationapproach. In this paper, we will use Markov Chain based techniques in order to obtain the averageexecution time of task graph based jobs. For the static case, we will use Thomasian and Bay'salgorithm [49] for building and e�ciently solving the Markov Chain. For the dynamic case we willintroduce a generalization of their idea. For some particular cases, one will even be able to deriveclosed form expressions for the average execution time of a parallel job.4

Page 5: Static and Dynamic Processor Scheduling Disciplines in

This paper is organized as follows. Section 2 explores the relationship between scheduling andthe various scenarios of utilization of multiprocessors. Section 3 describes several static and dynamicprocessor assignment disciplines which are analyzed later. Section 4 presents the Markov Chainmodels used to analyze the performance of various scheduling policies. The next section presents analgorithm to automatically generate the Markov Chain and obtain the average execution time of aparallel job under each discipline. Section 6 presents a discussion of the numerical results obtainedwith the model. Appendix A presents the proofs of the theorems given in the paper. AppendixB contains the derivations of a closed form expression for the average execution time of n paralleltasks on p (p � n) processors, with one of them being faster than the remaining ones.2 Multiprocessor Scenarios and Scheduling IssuesA key dimension of scheduling policies concerns the frequency with which processor allocation andassignments are made: static vs. dynamic [11, 18, 24, 27, 41, 44]. Either one or both of the twophases of a scheduling policy can be static or dynamic.With static scheduling, the decision concerning processor allocation and task assignment is madeat the onset of the job execution. Static policies have low run-time overhead and the schedulingcosts are paid only once, during the compilation time, for instance. As a consequence, staticscheduling policies can a�ord to be based on sophisticated heuristics that lead to e�cient allocations.Parallelism can be well exploited by spreading di�erent tasks over di�erent processors statically.However, in order to be e�ective, static scheduling needs to know in advance detailed informationabout the job's run-time pro�le. Because run-time pro�le is dependent on the input data, staticscheduling carries some degree of uncertainty. The result may be an unbalanced load [41], whichleads to longer parallel execution time and low system utilization.With dynamic scheduling, the number of processors allocated to a job may vary during theexecution. Also, the task assignment to the allocated processors takes place during the executionof a job. As pointed out in [18, 27, 41], dynamic scheduling policies are complementary to staticpolicies in both their advantages and drawbacks. Because they are implemented at executiontime, dynamic policies usually incur in high run-time overhead, which may lead to a degradationof performance. Since decisions are made during job execution, scheduling should be based onsimple and constant time heuristics. On the other hand, dynamic scheduling mechanisms exhibitan adaptive behavior, which leads to a high degree of load balancing [27, 38, 40, 41].Heterogeneity in parallel systems introduces an additional degree of complexity to the schedul-ing problem. In addition to the problem of deciding when and how many processors to allocate,scheduling policies have also to deal with the choice among processors of di�erent speeds. Perfor-5

Page 6: Static and Dynamic Processor Scheduling Disciplines in

mance of static and dynamic scheduling policies for heterogeneous parallel systems are analyzedin [2, 28, 33] with the use of simulation.Multiprocessors have been utilized in two di�erent modes: monoprogramming and multipro-gramming. In this section we discuss the various scheduling mechanisms used to implement thetwo utilization scenarios.2.1 Monoprogrammed Parallel SystemsIn a monoprogramming environment, parallel jobs are executed one at a time, with each job ex-ploiting its maximum parallelism on the processors of the system. This is the desirable environmentwhen the main goal is to have the minimum job execution time [40]. This environment is typical inmany current multiprocessor installations, especially in distributed memory multiprocessors, alsocalled multicomputers [6, 38].Because the entire system is dedicated to a single job at a time, the major scheduling question inthis environment is how to distribute the tasks among the processors to achieve minimal executiontime. When a job has more tasks than processors, a scheme is needed to map tasks onto processors.The task assignment phase can be performed either dynamically or statically.In a monoprogramming environment, the execution of a single job at a time may result in anine�cient use of the system [18]. For instance, when the maximum level of logical parallelism of ajob is smaller than the physical parallelism of the system, processors will remain idle during the jobexecution. Also, the uctuation of the logical parallelism of a job during its execution contributesfor the ine�cient use of processors. This is the main motivation that leads to multiprogrammingenvironments.2.2 Multiprogrammed Parallel SystemsIn a multiprogrammed multiprocessor, multiple parallel jobs are active simultaneously. The key roleof scheduling policies in multiprogramming environments is the distribution of processing poweramong a set of parallel jobs that run at the same time. Although multiprogramming provides bettersystem utilization and allows better service to a broad user community, it also complicates resourcemanagement [19, 24]. New problems are brought out in this environment. When the number oftasks of the parallel jobs being executed simultaneously exceeds the number of processors, eachprocessor must be shared among multiple tasks. In this case, there are three factors that canadversely a�ect performance of multiprogrammed parallel systems, namely: overhead of context6

Page 7: Static and Dynamic Processor Scheduling Disciplines in

switching between multiple tasks, synchronization primitives that require spin-waiting on a variable,and low cache-hit ratio [19, 22, 27, 47, 53].In addition to being static or dynamic, scheduling disciplines for multiprogramming can beeither preemptive or non-preemptive. The utility of preemption was observed in situations when aparallel workload exhibits a high variability in processor demands and low variability in number oftasks per job [24].Scheduling for parallel processing can be performed either at one or two levels [19, 27, 47]. Atthe higher level, two-level scheduling mechanisms perform the allocation of a set of processors toa job. At the lower level, each job does the task assignment among the processors allocated to it.On the other hand, one-level scheduling, also called single queue of runnable tasks, combines at theone single level both functions of processor allocation and task assignment.Due to its simplicity, most of the current shared-memory multiprocessors base their processorscheduling functions upon a single priority queue of runnable tasks. Examples include the DYNIXoperating system which runs on the Sequent Balance machines and the Topaz, a Digital EquipmentCorporation's experimental system [8, 24, 47].A key issue for scheduling policies in multiprogramming environments is how jobs share theprocessors of a parallel system. All policies �t into two classes: time-sharing and space-sharing [19,27]. In the �rst one, the system multiplexes the time of all processors among the jobs beingmultiprogrammed. A major goal of time-sharing schedulers is allocating resources so that competingjobs receive approximately equal portions of processor time.Gupta et al. [19, 43] evaluates the co-scheduling, or gang scheduling, that schedules all executabletasks of a job to run on the processors at the same time. When a time slice ends, all runningtasks are preempted simultaneously, and all tasks from another job are scheduled for the nexttime slice. This dynamic time-sharing policy solves the problems associated with busy-waitinglocks by scheduling all related tasks at the same time. According to [25, 22], dynamic preemptivepolicies based on the job's characteristics, such as processor demand and number of tasks, performwell for multiprogrammed parallel systems. Leutenegger and Vernon [22] propose a Round RobinJob policy that allocates an equal fraction of processing power to each job in the system. Theyreport that for independent tasks or lock synchronization the RRjob policy generally has higherperformance than co-scheduling policies. Polices that reallocate processor frequently, aiming atprocessor utilization, without considering cache implications may result in a poor performance.Squillante and Lazowska [47, 48] propose dynamic policies that schedule tasks on processors forwhich the tasks have a�nity, i.e., the amount of data that a task has in a particular processor'scache. There are various factors that a�ect the e�ectiveness of a�nity [19, 47, 48]. The mostrelevant ones are: the job footprint, the number of intervening tasks that are scheduled on a7

Page 8: Static and Dynamic Processor Scheduling Disciplines in

processor between two successive times that a task is scheduled on that processor and the lengthof the period of time for which a task runs on a processor once it is scheduled. The dynamictime-sharing scheduling policies reviewed here are all based on a single shared run queue.Under space-sharing policies, an appropriate number of processors are allocated to each job.Space-sharing disciplines have a trend to provide each job a more constant allocation of a fewernumber of processor than do time-sharing ones [27]. With static scheduling policies, the numberof processors allocated to a job does not change during its execution. On the other hand, withdynamic policies the number of processors allocated to each job varies in response to changes inthe job parallelism and the system processor availability. Multicomputers, that include severalwell-known commercial hypercube computers, operate normally on a space-sharing basis [6].Space-sharing involves partitioning the processors among the parallel jobs. Partitioning schemescan be either �xed or variable. In the �rst case, the processor partitioning is divided into �xed-sized partitions. The partition sizes are set at system generation time and do not change [12]. Thisscheme is appropriate for �xed workload environments. With variable partitioning, the size of thepartition allocated to each job varies, according to the job's characteristics and scheduling policy.Variable partitioning is implemented by the allocation phase of scheduling disciplines, which canbe either static or dynamic.Dowdy [11] proposes a static allocation scheme, where the processor partitioning is based onthe execution signature of the jobs. The characteristic speedup function which relates the job'sexecution time to the number of processors allocated to it is called execution signature [11]. Tripathiet al. [18] also propose a static processor allocation discipline based on the processor working set,which is de�ned as the minimum number of processors that maximizes speedup per unit of a costfunction that incorporates the number of processors used and the associated speedup.Zahorjan et al. [27] propose two-level scheduling disciplines based on space-sharing. At thehigher level, the policies allocate processors to a job, forming a partition. At the lower level, thejob itself assigns its tasks to the processors within the partition. They propose a quasi-static space-sharing policy called Equipartition, that, to the extent possible, maintains an equal allocation ofprocessors to all jobs. Dynamic is a dynamic space-sharing discipline that reallocates processorsin response to jobs' demands. They conclude that Dynamic presents a better performance thanthat of the proposed policies. Gupta et al. [19] also study the performance of two-level schedulingdisciplines. They assume that processors are equally partitioned among the jobs. Within eachpartition, each job performs the task assignment among the processors according to some speci�cpolicy, such as priority scheduling with blocking locks. McCann and Zahorjan [26] investigate theproblem of building processor allocation policies for large scale, message-passing parallel computerssupporting a scienti�c workload. 8

Page 9: Static and Dynamic Processor Scheduling Disciplines in

3 Processor Assignment DisciplinesThe processor assignment disciplines considered in this paper fall into the category of priority listscheduling [21], which implies that the schedulable tasks are ranked in a priority list according toa given heuristic. The highest priority task in this list is assigned to a processor according to aheuristic.Let the service demand of a task t, denoted sd (t), be de�ned as the average time taken forthat task to execute on the fastest processor of the multiprocessor. Let us de�ne level 3 of taskt, denoted l (t) (similar to [1, 21, 45]) as the maximum of the sum of the service demands on allpaths that lead from the task to the �nal task in the task graph. More precisely,l (t) = max�2� (t)Xtk2� sd (tk) (1)where � (t) is the set of paths in the task graph that start at task t and go to the �nal task. Inorder to illustrate the concept, consider the task graph of �gure 1 and assume that the servicedemands of the tasks 1 through 6 are 10, 8, 3, 4, 13 and 2 time units, respectively. Then the levelof task 1 is equal to 10 + 13 + 2 = 25, the level of task 2 is equal to 8 + 4 + 2 = 14, and the levelof task 5 is equal to 13 + 2 = 15.Another dual concept is the co-level [1, 21] of a task t, denoted cl (t), which is de�ned as themaximum of the sum of the service demands among all the paths from the initial task to the taskin question. The formal de�nition of co-level can also be given by equation 1 provided the set � (t)be de�ned as the set of paths in the task graph that go from the initial task into task t. Using thesame task graph, we can see that the co-level of task 6 is 10 + 13 + 2 = 25.We de�ne the weighted level of task t, denoted wl (t) (in a similar way as in Shirazi et al. [45])as the sum of the service demand of a task with the maximum of the weighted levels of all itssuccessors plus the sum of the weighted levels of the successors of t normalized by the maximumweighted level among all successors of t. More precisely,wl (t) = sd (t) + maxti2succG (t)wl (ti) + Pti2succG (t)wl (ti)maxti2succG (t)wl (ti) (2)where succG (t) is the set of immediate successors of t in the task graph. Shirazi et al. [45] givean algorithm to �nd the weighted level of all tasks in the graph. In the example of �gure 1 theweighted level of tasks 1, 2 and 5 are 85.85, 16.86 and 16, respectively.3The word level appears emphasized throughout the paper every time it stands for the de�nition given here.9

Page 10: Static and Dynamic Processor Scheduling Disciplines in

�������� �������� ��������123 4 56Figure 1: Task Graph Example3.1 Static Processor Assignment DisciplinesIn [28, 33], Menasc�e et al presented a methodology for systematically building static heuristicprocessor assignment algorithms. An assignment algorithm was considered to be composed of twoparts: an envelope and a heuristic. The envelope is responsible for selecting, at each step, thesubset of tasks | called task domain |, and the subset of processors | called processor domain| to be considered by the heuristic. The heuristic selects a (task, processor) pair from the task andprocessor domains, respectively. So, a static heuristic processor assignment algorithm is equal toan envelope + heuristic. The large number of simulation studies reported in [28, 33] concluded thatfor heterogeneous environments, the envelope that outperformed all others was the DeterministicExecution Simulation (DES). Brie y, DES carries out a straightforward deterministic simulation ofthe execution of the parallel job considering that task execution times are deterministic and equalto their estimated average values. In this simulation, any heuristic is used to select the appropriatetask-processor pair from the domain. These pairs are selected for scheduling, at each instance of thesimulation process, until there are no more pairs left, i.e. either the task domain or the processordomain (or both) are empty. At this point, the simulation clock is set to the time of the next event:the completion of an executing task. Then, DES updates the task domain based on the precedencegraph, and the processor domain based on the set of processors which are not executing any taskat this time of the simulation process. This iterative procedure ends when all tasks have been10

Page 11: Static and Dynamic Processor Scheduling Disciplines in

scheduled, which means that they have all been executed during this simulation. Note that DES isnot a simulation, for performance analysis reasons, of the operation of a scheduling algorithm. Itis a static scheduling algorithm when combined with a task and processor selection heuristic.The three algorithms presented in [45] can be cast in terms of the envelope + heuristic approach.The envelope in that case is a modi�ed DES, referred as MDES hereafter, which only updates thetask domain when it becomes empty, as opposed to DES which updates the task domain every timea task completes in the execution simulation.All static processor assignment algorithms considered here are formed by using DES as anenvelope and any of the task and processor selection heuristics de�ned below. The heuristics aredivided into task selection and processor selection ones. The three task selection heuristics are:LTF (Largest Task First): selects the task from the task domain which has the largest valueof service demand.HLF (Highest Level First): selects the task from the task domain which has the highestlevel , as de�ned above.WLF (highest Weighted Level First): selects the task from the task domain which has thehighest value of weighted level , as de�ned above.Once a task is selected according to any one of the above heuristics, the processor is selectedusing any of the two following disciplines:SEET (Shortest Estimated Execution Time): selects the processor from the processordomain which takes less time to execute the selected task.MFT (Minimum Finish Time): selects the processor that minimizes the completion timeof the selected task in the Deterministic Execution Simulation.So, a heuristic results from the combination of a task selection policy with a processor selectionone. For instance, LTFMFT selects the task from the task domain which has the largest service de-mand (LTF), and the processor that minimizes its completion time (MFT) under the deterministicexecution simulation. The static processor assignment algorithms to be analyzed in section 6 are:DES+LTFMFT, DES+LTFSEET, DES+HLFSEET, DES+WLFSEET, and MDES+LTFSEET.It is interesting to note that Baxter et al. [7] report on an evaluation they conducted of DESand concluded that it is a viable approach for experimentation on real applications. They evenincorporated a DES based scheduler into the design tools they developed for real-time controlsystems. Menasc�e and Porto [29] extended DES based schedulers to message passing heterogeneousmultiprocessors. 11

Page 12: Static and Dynamic Processor Scheduling Disciplines in

3.2 Dynamic Processor Assignment DisciplinesWe are going to consider dynamic processor assignment disciplines which use information on tasksthat was available before the job started its execution, such as estimated service demands or thegraph topology. The following processor assignment disciplines will be considered.Fastest Processor to Largest Task First (FPLTF) This policy gives the fastest processorto the task with the highest service demand, the second fastest processor to the task with thesecond highest service demand task, and so on and so forth.Fastest Processor to Highest Level Task First (FPHLTF) This policy gives the fastestprocessor to the task, among the schedulable ones, with the highest level �rst, the second fastestprocessor to the task with the second highest level , and so on and so forth.Fastest Processor to Lowest Co-Level Task First (FPLCTF) This policy gives thefastest processor to the task, among the schedulable ones, with the lowest co-level �rst, the secondfastest processor to the task with the second lowest co-level , and so on and so forth.In order to compare the various processor assignment disciplines, we need performance modelsof parallel jobs in heterogeneous environments. Next section discusses the models used in thispaper.4 Performance Models of Processor Assignment DisciplinesThe performance models described in this section are based on Markov Chains which represent thestate of execution of a parallel job by indicating the tasks that are executing simultaneously, andin some cases the processors assigned to it. We assume throughout this paper that task executiontimes are exponentially distributed. However, we will indicate how distributions with di�erentcoe�cients of variation can be treated. We also assume the general case where the number ofprocessors allocated to the job is less than or equal to its maximum parallelism. Hence, there maybe contention for processors. The inputs for the performance model include the inputs assumed tobe available to the scheduler:� P = fP1; � � � ; Ppg is the set of processors. Processors are assumed to be numbered in decreas-ing speed order. So, P1 is the fastest processor.� G = (T; �; R) is the task graph, where T = ft1; � � � ; tng is the set of tasks; � is an n�p matrixsuch that 1=�ti;j is the average execution time of task i at processor j, for i = 1; � � � ; n and12

Page 13: Static and Dynamic Processor Scheduling Disciplines in

j = 1; � � � ; p ; and R � T � T is the precedence relation between tasks which indicates thattask tk can only start when all tasks ti, such that (ti; tk) 2 R, have �nished. Note that 1=�ti;1is the service demand of task ti. We assume, without loss of generality, that there is a task,called the initial task, which precedes every other task in the job. Let t1 be such a task. Wealso assume, that there is a task, called the �nal task, which must be executed after all othertasks have completed.The performance model also takes as input the processor assignment policy.The main performance metric we consider is the average execution time, T , of the parallel job.Other performance metrics such as Fs, the fraction of sequential processing, the average parallelism,A, de�ned as the average number of tasks concurrently in execution can be easily obtained as afunction of the state probabilities of the Markov Chain, as these probabilities are being computed.We may also compute for each processor i, its utilization Ui, as the fraction of time the processoris busy.In general, a state description for a Markov Chain that represents the execution of a parallel jobis the triple (AS;AP;ET ) where AS = fti1 ; � � � ; timg is the active set, i.e. set of tasks in executionconcurrently, AP = fPj1 ; � � � ; Pjmg is the set of processors assigned to the tasks in AS (we assumethat Pjk is assigned to task tik for all k = 1; � � � ; m), and ET is the set of tasks already completed.Our graphical representations of Markov Chains will not include the set ET since this can be easilyderived by inspection of the path from the initial state into the state in question. The followingnotation will be used, respectively, for the AS;AP ,and ET components of a state ~s: as (~s); ap (~s),and et (~s). In terms of state probabilities, Fs; A, and Ui may be computed as follows;Fs = X8~s s:t: jas (~s)j=1 p (~s) (3)A =Xk k � X8~s s:t: jas (~s)j=k p (~s) (4)Ui = X8~s s:t: Pi2ap (~s) p (~s) (5)4.1 Static Processor Assignment ModelThe state description for the Static Processor Assignment case does not need to include the setAP, since this set is the same for all states. 13

Page 14: Static and Dynamic Processor Scheduling Disciplines in

The performance model for a given Static Processor Assignment Policy (SPAP) has the followingstructure:Given the task graph G, the set of processors P , and the SPAP do:1. Apply SPAP to G and obtain a static assignment, A : T 7! P , of tasks to processors. So,A (t) is the processor assigned to task t.2. Given A and G automatically generate the Markov Chain to represent the evolution of thestate of execution of the parallel job. As the Markov Chain is generated, compute the unnor-malized sum, �P , of the steady state probabilities of all states assuming that the unnormalizedprobability of the initial state 4, ~s0, is 1. The automatic generation of this Markov Chain canbe done using the algorithm presented in [49].3. The steady state probability of the initial state, p (~s0), is simply 1=�P . The completion rateof the initial task, X, is also the completion rate of the job, and is equal to �t1;A (t1) � p(~s0).Since in every cycle there is only one job in execution, it follows by Little's Law [23] that theaverage execution time of the job, T , is given byT = 1X = 1�t1;A (t1) � p (~s0) = �P�t1;A (t1) (6)The MC model for the task graph in �gure 1, is shown in �gure 2. This model is similar tothe one proposed by Thomasian and Bay in [49]. However, their work was not aimed at studyingscheduling policies. The transition rates depend on the static assignment of tasks to processors.Di�erent assignments will result in di�erent transition rates. In general, the transition rate �tk outof a given state due to the completion of task tk is �tk = �tk;A (tk). Since the assignment is static,�tk is the same for every state where there is such a transition.4.2 Dynamic Processor AssignmentIn the dynamic case, the assignment of tasks to processors is state dependent. Let A (t; ~s) be theprocessor assigned to task t at state ~s.The performance model for a given Dynamic Processor Assignment Policy (DPAP) has thefollowing structure:Given the task graph G, the set of processors P , and the DPAP do:4State in which the only task in execution is the initial task14

Page 15: Static and Dynamic Processor Scheduling Disciplines in

�� ���� ���� �� �� ���� �� �� �� �� ���� �� �� �� �� ���� ��?? ?? ??? ? ?��������� ��������� ?XXXXXXXXXXXXXXXz --

��(1)(2,5)(3,4,5) (2)(4,5) (3,5) (3,4)(5) (3) (4) (6)�1�2 �5�3 �5�4 �3�5 �4�4�3 �5�5 �3 �4�5 �3 �4 �6Figure 2: MC for Static Processor Assignment15

Page 16: Static and Dynamic Processor Scheduling Disciplines in

1. Automatically generate the Markov Chain to represent the evolution of the state of executionof the parallel job. As the Markov Chain is generated, compute the unnormalized sum, �P ,of the steady state probabilities of all states assuming that the unnormalized probability ofthe initial state is equal to 1. The automatic generation of this Markov Chain can be doneusing the algorithm given in section 5. As indicated later, the transition rates in this MarkovChain are a function of the DPAP and are generated as the Markov Chain is generated, sincethey are state dependent.2. The steady state probability of the initial state, p (~s0), is simply 1=�P . As in the static case,the average execution time of the job, T , can be obtained by Little's Law asT = 1�t1;A (t1;~s0) � p (~s0) = �P�t1;A (t1;~s) (7)States in the Markov Chain are generated in a level by level basis as explained in what follows.Transitions from one state to another occur due to the completion of a single task. So, the numberof completed tasks at any state of a given level is one plus the number of completed tasks at anystate of the previous level. See appendix A for a formal proof of this property. Starting with theinitial state at level 0, one generates a state at level 1 due to the completion of the initial task. Thisnew state may have several tasks in its active set. The completion of each one of them will generatenew states at the next level. New states are constructed by replacing a completed task with zero ormore tasks taking into account task precedence and processor constraints. The dynamic assignmentpolicy is applied to assign new tasks to processors in each new state. A formal presentation of thealgorithm used to generate the Markov Chain and to compute the average execution time of thejob is given in section 5.Figure 3 shows the Markov Chain for the task graph of �gure 1. States are numbered foreasy reference. Moreover, the list of processors assigned to each of the active tasks is shown inparentheses outside the oval that represents the state. In this example, we assume that there are3 processors, i.e. there is no processor contention, and that we are using the FPLTF assignmentdiscipline discussed in section 3. Let tasks be ordered in decreasing order of service demand ast6; t2; t4; t5; t3, and t1. We introduced a transition from the �nal state into the initial state toindicate a situation where the parallel job is immediately restarted as soon as it is completed. Ifwe ignore this transition, the Markov Chain is acyclic which lends itself to an e�cient computationof the steady state probabilities as shown below. As we can see in the diagram, states 6 and 7 havethe same active sets but di�erent processor assignments, therefore, they have to be represented asdi�erent states in the Markov Chain. The same can be said about states 9 and 11. In the staticcase, states with the same active sets are indistinguishable.16

Page 17: Static and Dynamic Processor Scheduling Disciplines in

�� ���� ���� �� �� ���� �� �� �� �� �� �� ���� �� �� �� �� �� �� ���� ��?? ?? ?? ?? ? ? ?��������� ��������� ?XXXXXXXXXXXXXXXz ���������������9-- �

�(0; (1))(1; (2,5))(2; (3,4,5)) (3; (2))(4; (4,5)) (5; (3,5)) (6; (3,4)) (7; (3,4))(8; (5)) (9; (3)) (10; (4)) (11; (3))(12; (6))�1�2 �5�3 �5�4 �3�5 �4 �2�4�3 �5�5 �3 �4 �4�5 �3 �4 �03�6

�03(1) (1,2)(3,1,2) (1)(1,2) (3,2) (3,1) (2,1)(2) (3) (1) (2)(1)Figure 3: Markov Chain for Task Graph of Figure 117

Page 18: Static and Dynamic Processor Scheduling Disciplines in

Let �tk (~s) be a transition out of state ~s due to the completion of task tk . This transition ratedepends on the processor in which tk was assigned to, and therefore is a function of the assignmentcon�guration of this task in this state. So, the transition rate out of state ~s due to the completion oftask tk is �tk (~s) = �tk ;A (tk;~s). The di�erent transition rate values in the diagram are a function ofthe assignment of tasks to processors. So, �1 = �t1;1, �2 = �t2;1, �3 = �t3;3, �03 = �t3;2, �4 = �t4;1,�5 = �t5;2, and �6 = �t6;1.This Markov Chain has some interesting properties presented below and proved in the AppendixA. Let Lk be the set of states generated at level k.Theorem 1 states that the number of tasks that �nished at any state in level k is exactly k. Asa direct consequence of this theorem, there can be no transitions from states in Lk into states inLj for j < k, except for the transition from the �nal state to the initial state. If that were the case,one would have a transition from a state with k executed tasks into a state with fewer completedtasks, which is impossible.Theorem 1: If ~s 2 Lk then j et (~s) j= k 2Theorem 2 below is a straightforward consequence of theorem 1 and says that states generatedat di�erent levels have di�erent sets of executed tasks. Therefore, even if they have the sameset of active tasks and the same set of assigned processors, these states must be considered asdi�erent states. This important property allows for an e�cient implementation of the algorithmfor generating the Markov chain, since checking for an already existing state needs only to bedone at the level that is being generated. Therefore, the algorithm only needs to store two levelssimultaneously.Theorem 2: If ~s 2 Lk and ~s 0 2 Lj for k 6= j, then et (~s) 6= et (~s 0) 2It can also be shown (see theorem 3), that in the particular case where there is no processorcontention, if two states have the same active sets, then they have the same set of executed tasks.Theorem 3: If there is no processor contention, and if as (~s) = as (~s 0), then et (~s) = et (~s 0) 2.The usefulness of theorem 3 is to provide for an optimization on the comparison of two potentialduplicate states in the algorithm. In the no processor contention case, we check �rst for the equalityof the active sets. If they are equal we do not need to compare the sets of executed tasks.18

Page 19: Static and Dynamic Processor Scheduling Disciplines in

5 Automatic MC Generation AlgorithmWe give below the algorithm that generates automatically the MC and solves for the average paralleljob execution time T .Let us �rst start with some de�nitions:� succG (ti): set of immediate successors of task ti in the task graph G.� predG (ti): set of immediate predecessors of task ti in the task graph G.� L: set of states from which new states are going to be generated from.� L0: set of states generated from the states in L.� � 0: set of tasks assigned in state ~s 0.� � : set of tasks that become executable in state ~s 0.� p (~s): unnormalized steady state probability of state ~s.� �P : normalization constant.� proc (t; ~s): processor assigned to task t in state ~s.� ��+: summation of the transition rates out of state ~s 0.� �p��: summation of the products of rates into state ~s 0 times the probabilities of the statesfrom which the transition into ~s 0 originates.Let us also de�ne the operator � as an operator used to generate a new state ~s 0 from astate ~s by adding a set of tasks ft1; � � � ; tkg to the active set of ~s 0. This operation, denoted as~s 0 = ~s � ft1; � � � ; tmg, has the following e�ect:� as (~s 0) = as (~s) [ ft1; � � � ; tmg� proc (t; ~s 0) = proc (t; ~s) 8 t 2 (as (~s) \ as (~s 0))� proc (t; ~s 0) = A (t; ~s 0) 8 t 2 ft1; � � � ; tmg� �t (~s 0) = �t (~s) 8 t 2 (as (~s) \ as (~s 0))� �t (~s 0) = �t;A (t;~s 0) 8 t 2 ft1; � � � ; tmg 19

Page 20: Static and Dynamic Processor Scheduling Disciplines in

Let us de�ne the operator as an operator which deletes from a state a set of tasks from itsactive set. The notation used is ~s 0 = ~s ft1; � � � ; tmg meaning that as (~s 0) = as (~s)� ft1; � � � ; tmg.The algorithm is described in �gure 4.Algorithm Assign (�; ~s 0) is the part of the algorithm which is dependent on the dynamicprocessor assignment policy. As a function of the set, � , of tasks that may be assigned to processorsand as a function of the number of processors available for assignment, this function assigns tasksto processors returning a subset of tasks in � that could be assigned to processors. For each suchtask, the assignment function A is computed.The algorithm Duplicate (~s 0) returns a true value if state ~s 0 already exists, and false otherwise.As a consequence of Theorem 2 we only need to check for duplicates at the level that is currentlybeing generated. For each new state ~s 0 that is generated at level L0, one has to check whetherthere is a state in L0 with the same active set and the same set of assigned processors. In thea�rmative case, ~s 0 is not considered to be a new state. When there are more than one processorwith the same capacity, states with the same set of active tasks having processors of the same speedassigned to the same tasks, can be aggregated into a single state. This reduces considerably thetotal number of states. For instance, suppose that states ~s1 and ~s2 have tasks t1 and t2 active andlet ap (~s1) = fPi1 ; Pi2g and ap (~s2) = fPj1 ; Pj2g. If Pi1 has the same capacity as Pj1 and Pi2 hasthe same capacity as Pj2 then states ~s1 and ~s2 can be aggregated into a single state.Special attention has to be paid to the design of the data structure that represents a level sincechecking for a duplicate can involve O (n2) state comparisons, where n is the number of states in alevel, if a simple linked list of states is used to represent the set of states at the same level. We needa data structure which has very low cost for �nding an element and that allows for a sequentialscan of all the elements. The operations to be supported by this data structure are retrieval of anelement and insertion of an element. We used a B� Tree where a key is the state description. whichcan be e�ciently coded in bit vectors. This way, at each level we need to perform only O (n logd n)state comparisons, where d is the degree of the B� tree.6 Numerical ResultsThe Markov chain approach presented in the previous sections was used to study the performanceof several static and dynamic scheduling algorithms. The results of these studies are reported inthese sections. A large number of situations was analyzed with the use of the Markov chain solverthat was developed. The curves shown and discussed in this section are representatives of similarresults obtained in our extensive studies. 20

Page 21: Static and Dynamic Processor Scheduling Disciplines in

n 0;~s f~s0g; et (~s0) ;;p (~s0) 1; �P 1;L f~s0g ;while L 6= ; dobeginL0 ; ;for each ~s 2 L dobegin�p�� 0;for each ti 2 as (~s) dobeginn n+ 1 ;f delete task ti from the active set of ~s g~s 0 ~s ftig ;f add task ti to the set of executed tasks in ~s 0 get (~s 0) et (~s)Sftig ;f include in the active set of ~s 0 all tasks which canbe started due to the completion of ti. g� ft j t 2 succG (ti) ^ (predG (t) � et (~s 0))g ;� 0 Assign(�; ~s 0) ;~s 0 ~s 0 � � 0 ;f If the resulting active set of ~s 0 is not emptythen add state ~s 0 to L0 gIf as (~s 0) 6= ; & :Duplicate (~s 0)then beginL0 L0 S f~s 0g;��+ Pt2as (~s 0) �t (~s 0)end;else n n� 1;�p�� �p�� + p (~s) � �ti (~s)end;f generate all state from ~s gend; f scan all states in L gf Compute Unnormalized Probabilities of states in L0 gfor each ~s 0 2 L0 dobeginp (~s 0) �p��=��+ ;�P �P + p (~s 0)end ;L L0end; f while gf Compute the Average Execution Time gT �P=�t1;A (t1;~s0) Figure 4: Markov Chain Generation Algorithm21

Page 22: Static and Dynamic Processor Scheduling Disciplines in

In the numeric studies presented below, we assume that we have two types of processors: a fastone (P1) and m� 1 slower and identical processors.Some of the curves presented in the following subsections show a normalized execution time,Tnorm, de�ned as the ratio of the average execution time of the job on the given heterogeneousarchitecture and the average response time of the same job on a machine with an in�nite numberof processors identical to the slowest processor.The numerical cases considered in what follows explore the variation of Tnorm as a function oftwo di�erent parameters:Processor Power Ratio (�) de�ned as the ratio between the speed of the fast processor andthat of any of the slow ones. This ratio, �rst introduced in [34], measures the degree ofheterogeneity of the architecture.Fraction of Sequential Processing (Fs) de�ned as the fraction of time that the job would usea single processor if a pool of in�nite identical processors were available to it. This measureis intrinsic to the job and is not in uenced by contention for processors [44].Several types of parallel jobs were considered as a benchmark for the evaluation of the schedulingpolicies discussed here. Two of them | MVA and GRAVITY | were described in [52]. MVA,shown in �gure 5, represents several types of computation quali�ed as wave front, which exhibitan increasing parallelism in the �rst phase and a decreasing parallelism in the second phase. TheMVA job considered here has maximum parallelism equal to 6.GRAVITY represents the implementation of a clustering algorithm for the real time simulationof the interaction of a large number of stars. The topology of this job, shown in �gure 6, exhibits5 di�erent and-fork constructs of identical tasks interleaved with synchronization tasks (the blackones in the �gure), which must be executed sequentially. We assume here that all synchronizationtasks have the same service demand, 1�s , and that all parallel task have the same service demand1�p . For the GRAVITY topology, one can derive a closed form expression for Fs as a function of �s,and �p. This can be accomplished by solving a Markov Chain where the state k is the number oftasks yet to be completed. The expression for Fs for the GRAVITY job is given byFs = 5 + 4 � �5 + � � (2 �H8 +H12 +H10) (8)where � is de�ned as the ratio �s=�p and Hn is the harmonic number. From equation 8 we can seethat when � = 0, Fs is equal to 1. The minimum value of Fs is obtained when � ! 1. In this case,22

Page 23: Static and Dynamic Processor Scheduling Disciplines in

~�� @@� ���� @@ � ���� @@ increasing parallelism~�� @@� ���� @@ � ���� @@q q q - up to 6 tasks~�� @@@@ ��� ��@@@@ �� � ����@@ �� decreasing parallelism� ��@@ � ����~MVAFigure 5: MVA TopologyFs ! 42�H8+H12+H10 = 0:35. In the curves shown below, we maintained �p �xed at 1 and varied �sso that Fs would vary from its minimum value up to 1.In order to analyze the GRAVITY topology for the dynamic case, one does not need to usethe algorithm shown in section 5. In fact, it is possible to derive a closed form expression for theaverage execution time, Tgrav, of a GRAVITY type job with s synchronization tasks (the blackones) and s � 1 fork-and-join structures. Let ni be the number of tasks of the i-th fork-and-joinstructure, and let T (ni) be its average execution time. Then,Tgrav = s � 1� � �s + s�1Xi=1 T (ni) (9)Appendix B shows the derivation of a closed form expression for T (n) as a function of thenumber of processors and of the Processor Power Ratio �.For the MVA topology, we start with all tasks identical and start to increase the service demandof all tasks along the central axis (see the black tasks in �gure 5) by the same amount.23

Page 24: Static and Dynamic Processor Scheduling Disciplines in

x�� ZZhZZ 8� - h��x�� ZZhZZ 8� - h��x�� ZZhZZ12� - h��x�� ZZhZZ10� - h��x?

Figure 6: GRAVITY TopologyWe also conducted experiments with the LU decomposition and Scene Analysis task graphspresented by Shirazi et al. [45], which along with MVA and GRAVITY form a representativeworkload of actual parallel applications. Besides these, we also used an arti�cial task graph, shownin �gure 7 and called TG hereafter, in order to try to explore the di�erences among various dynamicassignment disciplines.6.1 Static PoliciesFigure 8 shows the normalized response time for GRAVITY as a function of Fs, for � = 16 and5 processors. The dashed line represents the behavior of DES+LTFMFT, while the solid curverepresents the behavior of the remaining disciplines, namely DES+LTFSEET, DES+HLFSEET,DESM+WLFSEET, and DESM+LTFSEET, which for this application should yield similar results.As it can be seen, DES+LTFMFT gives the best performance among all assignment algorithmsanalyzed. This is true for all values of � and number of processors analyzed. However, the higherthe value of �, the bigger is the di�erence between DES+LTFMFT and the other disciplines.The same kind of behavior was observed for the MVA topology (see �gure 9). As with theGRAVITY case, the DES+LTFMFT algorithm outperformed the remaining ones, specially forhigher values of �. 24

Page 25: Static and Dynamic Processor Scheduling Disciplines in

�������� ���� �������� �������� �������� ���� ���� ��������101020020

200 30010 200 103000 3000 6000 600012 3 45 6 7 89 10 11 1213Figure 7: Parallel Job TG

25

Page 26: Static and Dynamic Processor Scheduling Disciplines in

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0Fs0.00.20.40.60.81.01.21.41.61.82.02.2Tnorm

(STATIC) 5 processors - � = 16............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

DES+LTFMFTothersFigure 8: Tnorm versus Fs for GRAVITYFigure 10 depicts the variation of the normalized response time for MVA as a function of �. Asit can be seen, all disciplines, except DES+LTFMFT, behave similarly and are not very sensitiveto the degree of heterogeneity of the architecture. On the other hand, DES+LTFMFT is able totake advantage from a heterogeneous architecture by trying to assign tasks to the processors thatwould make them complete faster, which may not be the fast processor depending on its load. So,the LTFMFT heuristic tries to avoid the potential bottleneck of the fast processor by divertingsome tasks to the slow processors provided the job execution time is not increased. Actually, underLTFMFT, the load is more evenly balanced than under any other of the disciplines studied. Theresults of �gure 10 are representative of similar results we obtained with all other topologies andvalues of Fs and number of processors that we experimented with. However, it should be pointedout that as the fraction of sequential processing increases, the di�erence between the performanceof the various disciplines decreases as expected, since most of the execution time will be spent atthe sequential portion of the application. This is also illustrated in �gure 9.As a �nal remark on static disciplines, it should be noted thatMDES+LTFSEET, DES+WLFSEET,and DES+HLFSEET, correspond to the algorithms HNF, WL and CPM discussed in [45]. Our26

Page 27: Static and Dynamic Processor Scheduling Disciplines in

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0Fs0.00.10.20.30.40.50.60.70.80.91.0Tnorm

(STATIC) 6 processors - � = 32............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. .................................................................................................................................................................................................................................................................. ............................... .............................................................. ............................... ............................... ............................... ............................... ............................... ............................... ............................../

..................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DES+LTFMFTDES+LTFSEETMDES+LTFSEETDES+HLFSEETDES+WLFSEET

Figure 9: Tnorm versus Fs for MVAresults are consistent with their �ndings for homogeneous environments in that these policies havevery similar performance. Actually, of the static policies we investigated, the only one that exhibiteda signi�cant superior performance in the heterogeneous environment was DES+LTFMFT.6.2 Dynamic PoliciesThe �rst set of curves for the dynamic case, shows the variation of the normalized execution timeTnorm for GRAVITY on a machine with 5 processors. Figure 11 shows the variation of Tnorm asa function of the fraction of sequential processing for 4 di�erent values of the Processor PowerRatio �. As it can be seen, for a given value of � we obtain an improvement in the performance(i.e. a decrease in the normalized response time) as the fraction of sequential processing increases.This is expected since as we increase Fs the sequential bottleneck caused by the synchronizationtasks increases. This makes the normalization value (execution time with an in�nite pool of slowprocessors) to increase, forcing Tnorm down. Note that the rate of decrease of Tnorm versus Fs is27

Page 28: Static and Dynamic Processor Scheduling Disciplines in

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32�0.00.20.40.60.81.01.21.4Tnorm

(STATIC) 6 processors - Fs = 0:21......................................................................................................................................................................... ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. .............................................................. .............................................................. ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... .................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................DES+LTFMFTDES+LTFSEETMDES+LTFSEETDES+HLFSEETDES+WLFSEETFigure 10: Tnorm versus � for MVAlower for the smallest value of � (2) shown in the �gure than for the other values. Note also, thatafter a certain value of � the improvement in Tnorm is negligible: the curves for � = 16 and � = 32are very close to each other. This can be explained by considering the execution of tasks in thefork-and-join constructs of GRAVITY. Since we have 5 processors, 4 slow ones will start to executeone task each, while the fast processor will start to work on another task. When � is su�cientlylarge, the fast processor will be able to �nish its task as well as all other tasks in the fork-and-joinwhile the slow processors are still working on their tasks. At this point, there will not be any moretasks for the fast processor and it must remain idle until the slow processors complete their tasks.In other words, the bottleneck is the slow processors on the parallel parts of the job, since thesequential part will not be a bottleneck as � increases. Therefore, there is a point after which itdoes not pay any more to increase the speed of the fast processor.Figure 12 shows the variation of Tnorm versus � for several values of Fs. All four curvesshow more clearly the same phenomenon discussed above, namely a decreasing improvement inperformance as the Processor Power Ratio increases.28

Page 29: Static and Dynamic Processor Scheduling Disciplines in

0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0Fs0.00.10.20.30.40.50.60.70.80.91.0Tnorm

(DYNAMIC) 5 processors............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. .............. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ ....................................... ....................................... ....................................... ....................................... .................................... ... ....................................... ....................................... ...� = 2� = 4� = 16� = 32Figure 11: Tnorm versus Fs for GRAVITYAn interesting result is obtained if one compares the execution time of a given application whenit is run on a homogeneous machine, Thom, versus its execution time, Thet, on a cost-equivalentheterogeneous one. A cost function is needed to discuss cost equivalence. We use here the constantreturns cost function given in [35] which says that the cost of a given machine is proportional toits capacity. Under this assumption, a heterogeneous machine must have p�� slow processors andone fast processor in order to be cost-equivalent to a homogeneous machine with p processors, eachidentical to the slow one. Let us de�ne the architecture speedup, Sp, as the ratio Thom=Thet [32].Figure 13 shows the variation of the speedup for the MVA application as a function of the ProcessorPower Ratio, for three di�erent values of Fs. As it can be seen, the higher the value of � the higherthe speedup. Also, as the fraction of sequential processing increases, so does the speedup.A large set of case studies were analyzed with the goal of comparing the impact of the threedynamic processor assignment disciplines discussed in section 3: FPLTF, FPHLTF, and FPLCTF.The MVA, LU decomposition, and SCENE ANALYSIS jobs were analyzed for various values of thenumber of processors and various values of the Processor Power Ratio. The three policies resultedin virtually identical performance. The reason being that, in these applications, because of the task29

Page 30: Static and Dynamic Processor Scheduling Disciplines in

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32�0.00.10.20.30.40.50.60.70.80.91.0Tnorm ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ...................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .......................................................................................................................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ............................... ...........................

Fs = 0:7 Fs = 0:5Fs = 0:35 Fs = 0:95Figure 12: Tnorm versus � for GRAVITY (DYNAMIC)dependencies imposed by the task graph, the average number of ready tasks when an assignmentdecision has to be made is very low. Actually, it is close to one in many cases. This makes allassignment policies to behave similarly. In order for some di�erences to arise, we conducted someexperiments with the task graph TG shown in �gure 7. This graph, was purposely designed withthe intention to try to explore the di�erence in the behavior of the three policies. Consider forinstance the service demands shown in �gure 7 inside each task circle. As it can be seen, someof the tasks that fork simultaneously have di�erent service demands and di�erent values for leveland co-level . For instance, when tasks 2, 3 and 4 fork, the FPLTF policy would give the fastestprocessor to task 4 while FPHLTF and FPLCTF would assign it to task 3. When tasks 5, 6, 7,and 8 fork, FPLTF would give priority to either task 6 or 7, while FPHLTF would give priority totask 10, and FPLCTF would chose either task 5 or 8.In order to compare the three dynamic assignment disciplines, we used the graph of �gure 7 butwith randomly selected service demands for tasks 2 through 12. Recall that the service demandis the average task execution time at the fast processor. The actual execution time is assumed30

Page 31: Static and Dynamic Processor Scheduling Disciplines in

1 2 3 4 5 6�1.02.03.04.05.0Sp

(DYNAMIC).............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. .............. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .........................Fs = 0:83Fs = 0:34Fs = 0:21Figure 13: (MVA) Speedup .vs. �to be exponentially distributed. The service demands of tasks 2, 3 and 4 were randomly chosenbetween 10 and 300. Tasks 5 and 8 were assumed to have the same service demand randomlychosen between 10 and 200. The same is true for tasks 6 and 7. Tasks 9 and 10 were assumed tohave the same service demand randomly chosen between 3000 and 6000. The same is true for tasks11 and 12. Over 100 sets of service demands were generated in this way, and the Markov Chainalgorithm given in section 5 was used to compare the normalized execution time averaged over allrandomly generated graphs as a function of the processor power ratio. Figure 14 depicts the resultsof this comparison. As it can be seen, the two policies | FPHLTF and FPLCTF | that take intoaccount the topology of the task graph combined with values of service demands perform betterthan FPLTF which only takes into account the relative values of the service demands of the tasksthat are to be assigned, and not of their successors. It should be pointed out however, that thedi�erence in performance is not greater than 10%.Another interesting comparison can be seen in �gure 15 which shows the variation of the ratiobetween the execution time, Tdyn, of an application whose tasks are dynamically allocated, andthe execution time of the same application assuming that its tasks were statically allocated using31

Page 32: Static and Dynamic Processor Scheduling Disciplines in

2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32�0.70.80.91.0Tnorm(DYNAMIC) Random Service Demands - 8 processors................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ........ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .FPLCTFFPHLTFFPLTF

Figure 14: Normalized Response Time versus � for various DisciplinesDES+LTFMFT (the best) discipline. The topology in this case is MVA, and the dynamic assign-ment policy is FPLTF, which for MVA, gives similar results as the others. As it can be seen, onlyfor very small values (close to 2) of � the dynamic assignment disciplines outperform the staticones. For larger values of �, the static assignment discipline exhibits superior performance. Thiscan be explained by the fact that under DES+LTFMFT, it is possible for a ready task to wait fora "better", but busy, processor to run on, even though there is free processor. Under the dynamicassignment disciplines we investigated, no task waits for a busy processor if there is at least onefree processor for it to be assigned to.7 Concluding RemarksMarkov chain based models were introduced here as a convenient tool to study the performance ofstatic and dynamic processor assignment disciplines. Although we assumed task execution timesto be exponentially distributed, one can also model execution time distributions with coe�cients32

Page 33: Static and Dynamic Processor Scheduling Disciplines in

2 4 6 8 10 12 14 16�0.81.01.21.41.61.82.02.22.42.62.83.03.23.43.6Tdyn=Tstat

4 processors..................................................................................................................................................................................................................................................................................................................................................................................................................................................

..................................................................................................................................................................................................................................................................................................................................................... ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. ............. .............................................................. ...... ...... ................................................. ...... ...... ................................................. ...... ...... ................................................. ...... ...... ................................................. ...... ...... .................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fs = 0:69Fs = 0:44Fs = 0:21Figure 15: Static versus Dynamic for MVAof variation di�erent than one by using either Erlangian or hyperexponential distributions. Forinstance, a task with execution time distributed according to an Erlangian distribution should bereplaced in the task graph by the appropriate sequence of tasks with exponentially distributedservice times. Then, the Markov chain analysis algorithm is applied to this modi�ed task graph.Among the static disciplines analyzed, DES+LTFMFT exhibited much better performance thanthe others. In particular, its performance improves signi�cantly as the degree of heterogeneity of thearchitecture increases, making it particularly attractive for this kind of environment. The reason isthat LTFMFT tries to avoid the potential bottleneck of the fast processor by diverting some tasksto the slow processors provided the job execution time is not increased. Actually, under LTFMFT,the load is more evenly balanced than under any other of the static disciplines studied. However, itshould be pointed out that as the fraction of sequential processing increases, the di�erence betweenthe performance of the various disciplines decreases as expected.For the dynamic assignment case, it was shown that the normalized response time decreases withthe degree of heterogeneity of the architecture. However, after a certain value of � the improvement33

Page 34: Static and Dynamic Processor Scheduling Disciplines in

in Tnorm becomes negligible. This can be explained by considering the execution of tasks in a fork-and-join construct. All processors will start to execute a task each simultaneously. When � issu�ciently large, the fast processor will be able to �nish its task as well as all other tasks in thefork-and-join while the slow processors are still working on their tasks. At this point, there will notbe any more tasks for the fast processor and it must remain idle until the slow processors completetheir tasks. In other words, the bottleneck becomes the slow processors on the parallel parts of thejob, since the sequential part will not be a bottleneck as � increases. Therefore, there is a pointafter which it does not pay any more to increase the speed of the fast processor.Cost-equivalent homogeneous and heterogeneous architectures were compared. It was shownthat heterogeneous architectures exhibit an increasing speed with the value of �. Also, as thefraction of sequential processing increases, so does the speedup.The MVA, LU decomposition, and SCENE ANALYSIS jobs were analyzed for various valuesof the number of processors and various values of the degree of heterogeneity of the architecture.For these topologies, the three policies resulted in virtually identical performance. The reason forthat is that in these applications, because of the task dependencies imposed by the task graph, theaverage number of ready tasks when an assignment decision had to be made is very low. Actually,it is close to one in many cases. This makes all assignment policies to behave similarly.For randomly generated task graphs, it was observed that the two policies | FPHLTF andFPLCTF | that take into account the topology of the task graph combined with values of servicedemands performed better than FPLTF which only takes into account the relative values of theservice demands of the tasks that are to be assigned, and not of their successors. It should bepointed out however, that the di�erence in performance was not greater than 10%.Finally, it was found that the dynamic assignment disciplines outperform DES+LTFMFT, astatic discipline, for very small values (close to 2) of � only. For larger values of �, the staticassignment discipline exhibits superior performance. This can be explained by the fact that underDES+LTFMFT, it is possible for a ready task to wait for a "better", but busy, processor to runon, even though there is free processor. Under the dynamic assignment disciplines we investigated,no task waits for a busy processor if there is at least one free processor for it to be assigned to.AppendixA Proofs of TheoremsBefore stating and proving the following theorems, some de�nitions are in order:34

Page 35: Static and Dynamic Processor Scheduling Disciplines in

� pred�G (ti): set of all immediate and non immediate predecessors of task ti in the task graphG.� succ�G (ti): set of all immediate and not immediate successors of task ti in the task graph G.� Lk: set of states generated at level k of the algorithm.Proof of Theorem 1:Let us prove this theorem by induction on k.Basis of Induction: For k = 0, there is only one state in L0 which is the initial state. Since no taskscompleted before the initial state, the theorem holds trivially for k = 0.Induction Hypothesis: Assume the theorem is true for level k � 1.Induction Step: Let ~s be any state in Lk . By construction of the MC, state ~s is obtained fromstates in Lk�1. The transition from any state in Lk�1 into state ~s occurs due to the completion ofa single task. Then, the number of completed tasks in ~s is equal to the number of completed tasksin any of the predecessors of ~s (which by assumption is equal to k � 1) plus 1. Hence, the numberof completed tasks in state ~s is equal to k � 1 + 1 = k 2.Proof of Theorem 2:By theorem 1, j et (~s) j= k and j et (~s 0) j= j. Since j 6= k, it follows immediately that et (~s) 6=et (~s 0) 2.Proof of Theorem 3:This theorem will be proved by giving a necessary and su�cient condition for a task to be in et (~s).Since this condition only depends on the active set of ~s and since ~s 0 has the same active set, thetheorem follows immediately.Let us de�ne the following sets:1. S1 = as (~s). Clearly tasks in S1 are executing by de�nition and therefore 62 et (~s).2. S2 = Stk2as (~s) succ�G (tk). A task in S2 cannot be in et (~s) since the successors of the tasks inthe active set of ~s could not have been started already, and thus cannot be completed. Thisis recursively true for the successors of the successors of the former tasks.3. S3 = Stk2as (~s) pred�G (tk). Clearly all tasks in S3 are in et (~s) since for all tasks in the activeset of state ~s to be active, all their predecessors in G must have completed. This appliesrecursively to all predecessors of the predecessors.4. S4 = (Stk2S3 succ�G (tk)) � (S1 [ S2). This is the set of immediate and non immediatesuccessors of all the immediate and non immediate predecessors of the tasks in the active set35

Page 36: Static and Dynamic Processor Scheduling Disciplines in

of state ~s, excluding the tasks in the active set of ~s and their immediate and not immediatesuccessors. Let us prove that all tasks in S4 2 et (~s). Assume that there is a task t 2 S4 thathas not �nished. By de�nition of S4, t cannot be executing otherwise it would be in as (~s).If it is not executing, then it has a predecessor task t0 which has not �nished. t0 cannot beexecuting since if it were, it would be in as (~s) and would belong to S2, and t would not bein S4, which is a contradiction. So t0 must have at least one immediate predecessor, t00, whichdid not �nish. By the same reasoning, t00 cannot be executing. If we continue applying thisargument all the way up in the hierarchy, we will end up concluding that the initial task hasnot �nished yet. But this is a contradiction, since if the initial task had not completed, noneof the tasks in as (~s) would be executing. So, all tasks in S4 are in et (~s).So, in order for a task t to be in et (~s), it is necessary thatt 62 (S1 [ S2) ^ t 2 (S3 [ S4) (10)It remains to show that condition 10 is also su�cient for a task t to be in et (~s). Assume thatthere is a task t that completed and that did not satisfy condition 10. Then,t 2 (S1 [ S2) _ t 62 (S3 [ S4) (11)Since S1 \S2 = ;, then the left hand part of condition 11 is false. So, in order for condition 11to be true it must be true that t is neither in S3 nor in S4. Since t �nished, all of its predecessors,including the initial task, �nished. The initial task is clearly in S3. So, since task t is a successorof the initial task and it �nished (so it is neither in S1 nor in S2), it follows, by de�nition of S4,that t 2 S4. This shows that it is impossible for t to have �nished and not satisfy condition 10.Hence, condition 10 is a necessary and su�cient condition for a task t to be in et (~s). Since allthe de�nitions of sets S1; S2; S3, and S4 rely only on the active set of state ~s and since state ~s 0 hasthe same active set as state ~s, it follows immediately that et (~s) = et (~s 0) 2.B Analytic Model of a Fork-and-JoinThis appendix presents an analytic model of a fork-and-join application where n tasks fork andjoin when all of them have completed. There are p (p � n) processors, and one of them is � timesfaster than the others. Let this processor be called the fast processor and the remaining ones be36

Page 37: Static and Dynamic Processor Scheduling Disciplines in

called slow processors. It is assumed that the task service demands of all n tasks are identicallydistributed exponential random variables with mean 1� .Let us de�ne a Markov Chain whose state (i; j; k) indicates that i tasks are running on slowprocessors, j (j = 0; 1) tasks are running on the fast processor and there are k tasks yet to becompleted. Figure 16 shows the state transition diagram for this Markov Chain.� �� �� �� �� � � �� � � �� � � �� � � �� � � �???? ?? ?? ?? ?? ?

- �XXXXXXXXXXXzXXXXXXXXXXXzXXXXXXXXXXXz

p-1,1,np-1,1,n-1p-1,1,p+1p-1,1,pp-2,1,p-1p-3,1,p-2p-4,1,p-31,1,20,1,1p-1,0,p-1p-2,0,p-2p-3,0,p-32,0,21,0,1

� � �(p� 1 + �)�(p� 1 + �)�(p� 1 + �)�(p� 1)� � �(p� 2)�(p� 3)�� (p � 1)�(p � 2)�2 �� �� �� �p pp pp pppp

XXz p p pFigure 16: Markov Chain for Fork and JoinLet S be a state of this Markov Chain, and consider the following de�nitions:� Pk = Pr[S = (p� 1; 1; k)] for k = p; � � � ; n,� Qi = Pr[S = (i; 1; i+ 1)] for i = 0; � � � ; p� 2, and37

Page 38: Static and Dynamic Processor Scheduling Disciplines in

� Ri = Pr[S = (i; 0; i)] for i = 1; � � � ; p� 1.If we write the ow equilibrium equations for this Markov Chain we get thatPn = Pn�1 = � � � = Pp+1 (12)Qi = Qp�1 � p�i�1Yj=1 p� jp� j � 1 + � (13)Since Pp = Qp�1, and Pp = Pn we have thatQi = Pn � F (i) i = 1; � � � ; p� 2 (14)where F (i) = p�i�1Yj=1 p� jp� j � 1 + � (15)Now, Rp�1 = �p� 1 � Pp (16)Rp�2 = (p� 1) Rp�1 + � Qp�2p� 2 (17)Substituting 16 in 17 and noting that Pp = Qp�1 we may write thatRp�2 = � Qp�1 + Qp�2p� 2 (18)In general, we have that Ri = �i p�1Xj=i Qj i = 1; � � � ; p� 1 (19)Using 14 in 19 we have thatRi = Pn �i p�1Xj=i F (j) i = 1; � � � ; p� 1 (20)38

Page 39: Static and Dynamic Processor Scheduling Disciplines in

Also, Q0 = 1� Q1 = 1� Pn F (1) (21)So, if use the fact that all probabilities must sum to one, and use equations 12 to 21 we maysolve for Pn: Pn = [n� p+ 1 + p�2Xi=1 F (i) + F (1)� + � p�1Xj=1 1j p�1Xi=j F (i)]�1 (22)The average execution time, T , of the fork and join can be obtained by applying Little's Lawas we did in equation 6. So, T = 1(p� 1 + �) � � � Pn (23)For n = p (no processor contention) and � = 1 (homogeneous case), equation 23 reduces, asexpected, to T = 1�Hn (24)where Hn is the harmonic number.The fraction of sequential parallelism, Fs, is simply the sum of the probabilities of the stateswhere there is only one task active. So,Fs = Q0 +R1 = Pn � [F (0) + � p�1Xi=1 F (i)] (25)The average parallelism, A, is given byA = p � Pn � (n� p+ 1) + p�1Xi=1 i [Qi�1 + Ri] (26)References[1] Adam, T. L., Chandy, K. M., and Dickson, J. R. A comparison of list schedules for parallel processingsystems. JACM , Vol. 17, no. 12, Dec. 1974. 39

Page 40: Static and Dynamic Processor Scheduling Disciplines in

[2] Almeida, V. A., Vasconcelos, I. M. M., and �Arabe, J. N. C. The e�ect of heterogeneity on the perfor-mance of multiprogrammed parallel systems. Proc. Workshop on Heterogeneous Processing , Beverly Hills,California, March 23, 1992.[3] Almeida, V. A., and Vasconcelos. I. M. M. A simulation study of processor scheduling policies in amultiprogrammed parallel systems. Proc. 1991 Summer Computer Simulation Conference (SCSC 91),Baltimore, July 1991.[4] Amdahl, G. Validity of the single processor approach to achieving large scale computing capability. Proc.AFIPS Spring Joint Computer Conference 30 , 1967.[5] Andrews, J. B., and Polychronopoulos, C. D. An analytical approach to performance/cost modeling ofparallel computers. J. Parallel Distrib. Computing , Vol. 12, August 1991, pp. 343-356.[6] Athas, W., and Seitz, C. Multicomputers: message-passing concurrent computers. IEEE Computer , Vol.21, No. 8, August 1988.[7] Baxter, M.J., Tokhi, M.O., and Fleming, P.J. Heterogeneous architectures for real-time control systems:design tools and scheduling issues. Proc. 12th IFAC Workshop on Distributed Computer Control Systems,1994.[8] Black, D. Scheduling support for concurrency and parallelism in the mach operating system. IEEEComputer , Vol. 23, No. 5, May 1990.[9] Chu, W.W., and Leung, K. K. Module replication and assignment for real-time distributed processingsystems. Proc. IEEE , May 1987, pp. 547-562.[10] Chu, W.W., Sit, C., and Leung, K. K. Task response time for real-time distributed systems with resourcecontentions. IEEE Transactions on Software Engineering , Vol. 17, No. 10, October 1991.[11] Dowdy, L. W. On the partitioning of multiprocessor system. Technical Report 88-06, Department ofComputer Science, Vanderbilt University, 1988.[12] Dussa, K., Carlson, B., Dowdy, L. W., and Park, K. Dynamic partitioning in a transputer environment.Proc. ACM Sigmetrics Conference, 1990.[13] Ercegovac, M. D. Heterogeneity in supercomputer architectures. Parallel Computing , 7 (1988), North-Holland, pp 367{372.[14] Flatt, H., and Kennedy, K. Performance of parallel processors. Parallel Computing , No. 12, 1989, NorthHolland.[15] Freund, R. F. Optimal selection theory for superconcurrency. Proc. Supercomputing'89 , IEEE ComputerSociety/ACM Sigarch, Reno, NV. 1989, pp. 699-703.[16] Freund, R. R., and Conwell, D. S. Superconcurrency, a form of distributed heterogeneous supercomput-ing. Supercomputing Review , June 1990.[17] Gajski, D., and Peir, J. Essential issues in multiprocessors. IEEE Computer , Vol. 18, No. 6, June 1985.[18] Ghosal, D., Serazzi, G., and Tripathi, S. K. Processor working set and its use in scheduling multipro-cessor systems. IEEE Transactions on Software Engineering , May 1991.40

Page 41: Static and Dynamic Processor Scheduling Disciplines in

[19] Gupta, A., Tucker, A., and Urushibara, S. The impact of operating system scheduling policies andsynchronization methods of the performance of parallel applications. Proc. ACM Sigmetrics Conference,1991.[20] Kapelnikov, A., Muntz, R. R., and Ercegovac, M. D. A modeling methodology for the analysis ofconcurrent systems and computations. J. Parallel and Distrib. Computing , Vol. 6, 1989, pp. 568-597.[21] Kasahara, H., and Narita, S. Practical multiprocessor scheduling algorithms for e�cient parallel pro-cessing. IEEE Computer , Vol. 33, No. 11, Nov. 1984.[22] Leutenegger, S., Vernon, M. The Performance of multiprogrammed multiprocessor scheduling policies.Proc. ACM Sigmetrics Conference, 1990.[23] Little, J. D. C. A proof for the queuing formula: L = � W . Operations Research, Vol. 9, 1961, pp.383-389.[24] Majumdar, S., Eager, D., and Bunt, R. Scheduling in multiprogrammed parallel systems. Proc. ACMSigmetrics Conference, 1988.[25] Majumdar, S. Processor scheduling in multiprogrammed parallel systems. Ph.D. Thesis, Department ofComputational Science, Research Report 88-6, University of Saskatchewan, Canada, 1988.[26] McCann, C., and Zahorjan, J. Processor allocation policies for message-passing parallel computers.Proc. 1994 ACM Sigmetrics Conference on Measurement & Modeling of Computer Systems, Nashville,Tennessee, May 16-20, 1994.[27] McCann, C., Vaswani, R., and Zahorjan, J. A dynamic processor allocation policy for multiprogrammed,shared memory multiprocessors. Technical Report 90-03-02, Department of Computer Science and Engi-neering, University of Washington, 1991.[28] Menasc�e, D. A., da Silva Porto, S. C., and Tripathi, S. K. Static heuristic processor assignment inheterogeneous multiprocessors. International Journal of High Speed Computing , Vol. 6, No. 1 (March1994), pp. 115-137[29] Menasc�e, D. A., and da Silva Porto, S. C. Scheduling on heterogeneous message passing architectures.J. Computer and Software Engineering , Ablex Publishing Co., New Jersey, Volume 1, Number 3, 1993.[30] Menasc�e, D. A., and Barroso, L. A. A methodology for performance evaluation of parallel applicationsin shared memory multiprocessors. J. Parallel and Distrib. Comput., Vol. 14, No.1, January 1992.[31] Menasc�e, D.A., and Almeida, V. A. F. Heterogeneous supercomputing: why is it cost-e�ective? Super-computing Review , Vol. 4, No. 8, August 1991.[32] Menasc�e, D.A., and Almeida, V. A. F. Heterogeneity in high performance computing. Proc. 2nd Sym-posium on High Performance Computing , October 7-9, Montpellier, France, 1991, Elsevier Science Pub-lishers, eds. M.Durand and F. El Dabaghi.[33] Menasc�e, D. A., da Silva Porto, S. C, and Tripathi, S. K. Processor assignment in heterogeneous parallelarchitectures. Proc. International Parallel Processing Symposium (IPPS'92), Beverly Hills, California,March 23-26, 1992. 41

Page 42: Static and Dynamic Processor Scheduling Disciplines in

[34] Menasc�e, D. A., and Almeida, V. A. Cost-performance analysis of heterogeneity in supercomputerarchitectures. Proc. ACM-IEEE Supercomputing'90 Conference, New York, NY, November 12-16, 1990.[35] Mendelson, H. Economies of scale in computing: Grosh's law revisited. Communications of the ACM ,Vol. 30, No. 12, December 1987, pp. 1066-1072.[36] Nelson, R., and Towsley, D. Comparison of threshold scheduling policies for multiple server systems.IBM Research Report RC 11256 (#50704), July 1985.[37] Nirkhe, V., and Pugh, W. A partial evaluator for the maruti hard real-time system. Proc. of the IEEEReal-Time Systems Symposium, San Antonio, Texas, Dec. 1991.[38] Park, K., and Dowdy, L. W. Dynamic partitioning of multiprocessor systems. International J. of ParallelProgramming , Vol. 18, No. 2, 1989.[39] Park, C., and Shaw, A. C. Experiments with a program timing tool based on source-level timing schema.Proc. of IEEE Real-Time Systems Symposium, Lake Buena Vista, Florida, Dec. 5-7, 1990.[40] Polychronopoulos, C. D. Multiprocessing vs. multiprogramming. Proc. 1989 International Conferenceon Parallel Processing , 1989.[41] Polychronopoulos, C. D. Parallel programming issues. Proc. 9th International Conference on Computa-tional Sciences and Engineering , Paris, France, 1990.[42] Polychronopoulos, C. D. The hierarchical task graph and its use in auto-scheduling. Proc. of the 1991International Conference on Supercomputing , Cologne, Germany, June 17-21, 1991.[43] Seager, M., and Stichnoth, J. Simulating the scheduling of parallel supercomputer applications. Tech-nical Report UCRL 102059, Lawrence Livermore National Laboratory, 1988.[44] Sevcik, K. C. Characterization of parallelism in adaptation and their use in scheduling. ACM SigmetricsPerformance Review , Vol. 17, No. 1, May 1989.[45] Shirazi, B., Wang, M., and Pathak, G. Analysis and evaluation of heuristic methods for static taskscheduling. J. Parallel and Distrib. Comput., Vol. 10, November 1990, pp. 222-232.[46] Shmoys, D. B., Wein, J., and Williamson, D. P. Scheduling parallel machines on-line. Proc. of the 32ndAnnual Symposium on Foundations of Computer Science, IEEE Computer Society, San Juan, PuertoRico, October 1-4, 1991.[47] Squillante, M. Issues in Shared Memory Multiprocessor scheduling: a performance evaluation. Ph.D.Dissertation, Department of Computer Science and Engineering, University of Washington, 1990.[48] Squillante, M., and Lazowska, E. Using processor cache a�nity information in shared-memory mul-tiprocessor scheduling. Technical Report 89-06-01, Department of Computer Science and Engineering,University of Washington, 1990.[49] Thomasian, A., and Bay, P. F. Analytic queueing network models for parallel processing of task systems.IEEE Transactions on Computers, Vol. C-35, No. 12, December 1986.[50] Tripathi, S. K., and Ghosal, D. Processor scheduling in multiprocessor systems. Proc. First InternationalConference of the Austrian Center for Parallel Computation, Springer Verlag, October 1991.42

Page 43: Static and Dynamic Processor Scheduling Disciplines in

[51] Wang, M.-C, Kim, S. -D, Nichols, M. A., Freund, R. F., Siegel, H. J., and Nations, W. G. Augmentingthe optimal selection theory for superconcurrency. Proc. Workshop on Heterogeneous Processing , BeverlyHills, California, March 23, 1992.[52] Vaswani, R., and Zahorjan, J. The implications of cache a�nity on processor scheduling for multipro-grammed, shared memory multiprocessors. Technical Report No. 91-03-03, March 1991, Department ofComputer Science and Engineering, University of Washington.[53] Zahorjan, J., Lazowska, E., and Eager, D. The e�ect of scheduling discipline on spin overhead inshared memory multiprocessors. Technical Report 89-07-03, Department of Computer Science, Universityof Washington, July 1989.

43