{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

ch5 - CHAPTER 5 DISTRIBUTED PROCESS SCHEDULING Chapter...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
CHAPTER 5: DISTRIBUTED PROCESS SCHEDULING Chapter outline Three process models: precedence communication disjoint System performance model that illustrates the relationship among algorithm, scheduling, and architecture Scheduling: Static scheduling: precedence model, communication model Dynamic scheduling: load sharing, load balancing disjoint process model interacting process model Implementation: remote service and execution process migration Real-time scheduling and synchronization basic RTS Priority Inversion Blocking 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Process models process model process model process model (a) Precedence (b) Communication (c) Disjoint Note: Dashed lines represent processor boundaries Precedence Process Model Precedence relationship represented best by DAG Suitable for Fork/Join or CoBegin/CoEnd code Communication costs incurred if arc crosses processor boundary Goal: Minimize makespan Interacting Process Model Persistent processes that exhange messages asynchronously Represented by graph showing processes and communication paths Communication costs incurred if message crosses processor bound- ary Goal: Minimize computation and communication costs Disjoint Process Model Processes can run independently Processes arrive independently Queuing time and service time Goal: Minimize turnaround time/processor idle time If process migration, get load sharing/balancing at migration cost 2
Background image of page 2
A system performance model Speed-up factor S = F ( Algorithm, System, Schedule ) S = OSPT CPT = OSPT OCPT ideal × OCPT ideal CPT = S i × S d S = actual speedup on an n processor sytem OSPT = Optimal Sequential Processing Time CPT = Actual Concurrent Processing Time OCPT ideal = Optimal Concurrent Processing Time S i = ideal speedup S d = degradation due to actual implementation 3
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Ideal speed-up S i = RC RP × n RP = m i =1 P i OSPT RC = m i =1 P i OCPT ideal × n S i = ideal speedup on an n processor sytem RC = Relative Concurrency (processor utilization) 1 RP = Relative Processing requirement 1 n = number of processors m = number of tasks P i = Computation time of task i 4
Background image of page 4
System degradation S d = 1 1 + ρ ρ = CPT OCPT ideal OCPT ideal S d = System degradation ρ = loss of parallelism on a real machine optimal scheduling ρ ρ sched ρ ρ syst syst sched ρ nonoptimal nonoptimal ideal system with real system with scheduling real system with optimal scheduling ideal system with scheduling Finally, S = RC RP × 1 1 + ρ × n 5
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Amdahl’s Law Speed-up is limited intrinsically by parallelizability of program. If P is the parallelizable fraction of a program (in running time), and that part can be sped up a factor of S p , then S tot = 1 (1 P ) + P/S Even if P can be sped up arbitrarily fast, depending only on the number N of processors used, the maximum speedup is still limited by S tot = 1 (1 P ) + P/N 6
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}