A System Performance Model Distributed Process Scheduling

Preview:

DESCRIPTION

For concurrent execution of interacting processes:- Communication and Synchronization between processes are the two essential system components Before processes can execute, they need to be:- Scheduled and Allocated with resources.

Citation preview

A System Performance Model

Distributed Process Scheduling

Outline

• Overview

• Process Interaction Models

• A System Performance Model

• Efficiency Loss

• Processor Pool and Workstation Queuing Models

• Comparison of Performance for Workload Sharing

• References

For concurrent execution of interacting processes:-• Communication and

• Synchronization between processes

are the two essential system components

Before processes can execute, they need to be:-

• Scheduled and

• Allocated with resources.

Why scheduling?

1.To enhance overall system performance metrices like:

• Process completion time and

• Processor utilization.

2. To achieve location and performance transparencies by distributed process scheduling.

Why scheduling in distributed systems is of special interestThis is so because of the issues that are different

from those in traditional multiprocessor systems: • The communication overhead is significant.

• The effect of underlying architecture cannot be ignored.

• And the dynamic behaviour of the system must be addressed.

Process Models(in brief)

1. Precedence Process Model

• Processes are represented by a DAG.

• Nodes- sequential processes

• Arcs- eg: i to j requires that process I completes before j can start executing.

Communication Process Model• Processes are created to coexist and

communicate synchronously.

• So we have undirected edges.

Disjoint Process Model

• We assume that processes can be run independently of each other.

• So order in which processes are executed is not important.

System Performance

• Speedup

• -What are the factors on which it depends

• How to calculate speedup when we apply these factors

Speedup depends on three factors• The design of the algorithm

• The efficiency of the scheduling algorithm

• The underlying system architecture.

• So if we take ‘S’ as the speedup factor then the above dependencies can be represented as

• S= F(Algorithm, System, Schedule)

• Where• OSPT= optimal sequential processing time; the

best time that can be achieved on a single processor using the best sequential algorithm.

• CPT= concurrent processing time; actual time achieved with the concurrent algorithm on an ideal n-processor system using an optimal scheduling policy.

• OCPTideal =optimal concurrent processing time on an ideal system;

• Si =ideal speedup obtained by using a multiple processor system over the best sequential time

• Sd = the degradation of the system due to actual implementation compared to an ideal system

Refined formula for speedup…..

• n – number of processors

• RP- Relative Processing requirement,

• RC- Relative Concurrency

…. Refined formula for speedup• Sd- degradation of parallelism due to algorithm

implementation.

Final formula for speedup

- Efficiency Loss, loss of parallelism when

implemented on a real machine. can be decomposed into two terms:

= sched + syst

Efficiency Loss

Efficiency Loss (Cont.)

'

)()()',(

)',(

schedsyst

ideal

idealideal

ideal

ideal

ideal

ideal

OCPTOCPTYCPT

OCPTYCPTYXCPT

OCPTOCPTYXCPT

'

)()(),(

),(

systsched

ideal

ideal

ideal

ideal

ideal

OCPTOCPTXOCPT

OCPTXOCPTZXCPT

OCPTOCPTZXCPT

Workload Distribution• Performance can be further improved by

workload distribution

• Load sharing: static workload distribution• Dispatch process to the idle processors

statically upon arrival• Corresponding to processor pool model

• Load balancing: dynamic workload distribution• Migrate processes dynamically from heavily

loaded processors to lightly loaded processors• Corresponding to migration workstation model

18

Processor-Pool and Workstation Queueing Models

Static Load SharingDynamic Load Balancing

M for Markovian distribution

Comparison of Performance for Workload Sharing

References• “Distributed Operating Systems and Algorithms”

by Randy Chow and Theodore Johnson

• “Operating System Concepts” by Silberschatz, Galvin and Gagne

Recommended