150 likes | 358 Views
Chapter – 5.2 Static Process Scheduling. Pradeep Konduri pkonduri1@student.gsu.edu. Outline:. Static Process Scheduling: Proceedance process model Communication system model Application Dicussion References. Static Process Scheduling.
E N D
Chapter – 5.2 Static Process Scheduling PradeepKonduri pkonduri1@student.gsu.edu
Outline: Static Process Scheduling: • Proceedance process model • Communication system model • Application • Dicussion • References
Static Process Scheduling • Static process scheduling: deterministic scheduling policy • Scheduling a set of partially ordered tasks on a non-preemptive multi-processor system of identical processors to minimize the overall finishing time (makespan) • Optimize makespan NP-complete • Need approximate or heuristic algorithms… • Attempt to balance and overlap computation and communication • Mapping processes to processors is determined before the execution • Once a process starts, it stays at the processor until completion • Need prior knowledge about process behavior (execution time, precedence relationships, communication patterns) • Scheduling decision is centralized and non-adaptive
Precedence Process and Communication System Models Communication overhead for A(P1) and E(P3)= 4 * 2 = 8 Execution time Communication overhead for one message No. of messagesto communicate
Static Process Scheduling Proceedance Process model: • Static multiprocessor scheduling • Represented by DAG • Minimize overall makespan • Nodes : Task with known execution time • Edges : Weight showing message units to be transferred • Weights • Hides the details of hardware architecture • NP-Complete
Static Process Scheduling Communication system model: • Scheduling strategies • List Scheduling (LS): no processor remains idle if there are some tasks available that it could process (no communication overhead) • Extended List Scheduling (ELS): LS first + communication overhead • Earliest Task First (ETF) scheduling: the earliest schedulable task is scheduled first • Critical path: longest execution path • Lower bound of the makespan • Try to map all tasks in a critical path onto a single processor
Communication Process Model • Communication process model: • Maximize resource utilization and minimize inter-process communication • Undirected graph G=(V,E) • V: Processes • E: weight = amount of interaction between processes • Cost equation Cost(G,P) = E ej(pi) + E ci,j(pi,pj) • e = process execution cost (cost to run process j on processor i) • C = communication cost (C==0 if i==j) • NP-Complete
Stone’s two-processor model to achieve minimum total execution and communication cost • Example: • Partition the graph by drawing a line cutting through some edges • Result in two disjoint graphs, one for each process • Set of removed edges cut set • Cost of cut set sum of weights of the edges • Total inter-process communication cost between processors • Of course, the cost of cut sets is 0 if all processes are assigned to the same node • Computation constraints (no more k, distribute evenly…) • Example: • Maximum flow and minimum cut in a commodity-flow network • Find the maximum flow from source to destination
Minimum-Cost Cut Only the cuts that separate A and Bare feasible
Application: There are many applications that are developed and being developed using these models. Some of them are: • System-level design methods for MPSoC [1] • Functional Validation of System Level Static Scheduling [2] • Battery-aware static scheduling for distributed real-time embedded systems [3] • Static scheduling algorithms for allocating directed task graphs to multiprocessors [4]
Discussion • Once a process is assigned to a processor, it remain there until its execution has been completed • Need prior knowledge of execution time and communication behavior • Not effective • Not realistic • We need a dynamic scheduling algorithm
References: [1] Chengmo Yang, Alex Orailoglu; System-level design methods for MPSoC: Predictable execution adaptivity through embedding dynamic reconfigurability into static MPSoC schedules; Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis CODES+ISSS '07; September 2007 [2] Samar Abdi, Daniel Gajski; Functional Validation of System Level Static Scheduling; Proceedings of the conference on Design, Automation and Test in Europe - Volume 1 DATE '05; March 2005 [3] JiongLuo, Niraj K. Jha; Battery-aware static scheduling for distributed real-time embedded systems; Proceedings of the 38th conference on Design automation DAC '01; June 2001 [4] Yu-Kwong Kwok, Ishfaq Ahmad; Static scheduling algorithms for allocating directed task graphs to multiprocessors; ACM Computing Surveys; December 1999