+ All Categories
Home > Documents > A System Performance Model Static Process Scheduling Dynamic Load Sharing and Balancing Real-Time...

A System Performance Model Static Process Scheduling Dynamic Load Sharing and Balancing Real-Time...

Date post: 13-Jan-2016
Category:
Upload: shonda-fitzgerald
View: 218 times
Download: 4 times
Share this document with a friend
21
Distributed Process Scheduling Sreekanth Padidala
Transcript
Page 1: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Distributed Process

Scheduling

Sreekanth Padidala

Page 2: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Topics….

A System Performance Model

Static Process Scheduling

Dynamic Load Sharing and Balancing

Real-Time Scheduling

Page 3: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Objective….

The primary objective of scheduling is to enhance overall system performance metrics such as process completion time and processor utilization.

The existence of multiple processing nodes in distributed systems present a challenging problem for scheduling processes onto processors and vice versa.

Page 4: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

System Performance modelPartitioning a task into multiple processes for

execution can result in a speedup of the total task completion time. The speedup factor S is a function

S = F(Algorithm; System; Schedule)The unified speedup model integrates three

major Components Algorithm development System architecture Scheduling policy with the objective of minimizing the total

completion time (makespan) of a set of interacting processes

Page 5: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

System Performance model

If processes are not constrained by precedence relations and are free to be redistributed or moved around among processors in the system, performance can be further improved by sharing the workload

statically - load sharing dynamically - load balancing

Page 6: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Static Process Scheduling

Scheduling a set of partially ordered tasks on a nonpreemtive multiprocessor system of identical processors to minimize the overall finishing time (makespan)

Except for some very restricted cases scheduling to optimize makespan is NP-complete

Most research is oriented toward using approximate or heuristic methods to obtain a near optimal solution to the problem

A good heuristic distributed scheduling algorithm is one that can best balance and overlap computation and communication

Page 7: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Precedence Process Model Program is represented by a directed

acyclic graph (DAG) Computational model--this model is used

to describe scheduling for ‘program’ which consists of several sub-tasks. The schedulable unit is sub-tasks.

Primary objective of task scheduling is to achieve maximal concurrency for task execution within a program.

Scheduling goal: minimize the makespan time.

Page 8: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Precedence Process ModelAlgorithms: List Scheduling (LS): Communication overhead is

not considered. Using a simple greedy heuristic: No processor remains idle if there are some tasks available that it could process.

Extended List Scheduling (ELS): the actual scheduling results of LS with communication consideration.

Earliest Task First scheduling (ETF): the earliest schedulable task (with communication delay considered) is scheduled first.

what is the scheduling results of the above example when there are two processors? how about four processors?

Page 9: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Communicating Process Model

There are no precedence constrains among processes

Modeled by a undirected graph G, node represent processes and weight on the edge is the amount of communication messages between two connected processes.

Scheduling goal: maximize the resource utilization.

Page 10: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Dynamic Load Sharing and Balancing

No prior knowledge is assumed – Scheduling need to be dynamic – Assignment decision made locally Based on disjoint process model Performance goal for scheduling is the

high utilization of the system and equal fairness of user processes

Solutions without a centralized controller: sender- and receiver-initiated algorithms.

Page 11: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Sender-Initiated Algorithm

Activated by a sender process that wishes to offload some of its computation

Transfer policy: When does a node become the sender”

– queue size, ... Selection policy: How does a sender choose a

process for transfer” – Newly-arrived processes,... Location policy: which node should be the target

receiver? – Randomly-chosen, polling for minimal

load,... performs well on a lightly loaded system

Page 12: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Receiver-Initiated Algorithms

A receiver can pull a process from others into its site for execution

– Activates the pull operation when its queue length is shorter than RT

– Require preemption capability – Which process to remove is not

obvious Can be effective at highly-loaded systems Can be combined with sender-initiated

algo.

Page 13: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Real-Time Scheduling

Software & hardware for real systems which have real-time constraints and are interrupted often.

‘Hard’ Real-time System - Guaranteed, deterministic behavior.- Critical Jobs.- Eg. Nuclear Power Plant controller. ‘Soft’ Real-time System - High Throughput- Concurrent access, Large demand.- Eg. Airline Reservation System.

Page 14: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Real-time Scheduling Algorithms

Classification• Static vs Dynamic• Preemptive vs Non-preemptive• Global vs Local.• Static:

- Fixed-priority Rate-monotonic algorithm

- Fixed-priority Deadline-monotonic algorithm

- Graph based Approach• Dynamic:

- Earliest Deadline First

- Least Laxity

Page 15: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Research(1995)…... The problem of process distribution in a

computer network can be formulated as a distributed search process.

The goal is to find those processors which can execute the processes in the most cost-efficient way.

Present a modified version of the AO*algorithm using statistical data as a heuristic function. Based on previous observations of processors' efficiency in process execution the search will focus on the most promising search path to locate appropriate processors.(Gyires, T 1995)

Page 16: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Research(1995)…... A new process scheduling queue system called

the distributed queue tree (DQT) for a distributed memory, dynamically partitionable parallel machines was proposed.

The combination of dynamically nested partitioning and time-sharing scheduling may provide an interactive environment and higher processor utilization.

The key idea of DQT is to distribute process scheduling (Hori, A.;1995) queues to each partition.

A round-robin scheduling algorithm and several task allocation policies on DQT was proposed.

Page 17: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Research(2003)…… an approach to real-time scheduling of

processes onto a pool of general-purpose processors.

The processes are of different criticality levels; they have different start times, execution times and deadlines.

The proposed(Santiprabhob,P2003) scheduling method takes into account processes’ criticality level, processes’ urgency and load at each criticality level when making a dispatching decision by means of a fuzzy rule-based system.

Page 18: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Research(2003)…… A new generation scheduling paradigm- the Internet

scheduling environment. It is formed by a group of Internet scheduling agents

which share computational resources to solve scheduling problems in a distributed and collaborative manner.

To coordinate computational resource collaboration among agents, introducing the market-based control mechanism in which self-interested agents initiate or participate in auctions to sell or buy scheduling problems.

The experiments (Yen, B.P.-C.,2003) on the LekiNET testbed demonstrate that the agent-based market-driven Internet scheduling environment is feasible and advantageous to future scheduling research and development.

Page 19: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Research(2006)….. Process planning and scheduling are considered

as two separate and distinct phases in manufacturing. Traditional approaches to these problems do not consider the constraints of both domains simultaneously and can only result in sub-optimal solutions.

Most process planning and scheduling systems are off-line and centralized. The process plans generated off-line may become invalid at the time of plan execution. On the other hand, scheduling based on rigid process plans may have already lost the optimal options.

Page 20: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

Research(2006)….. Today, there is an increasing need for

the integration of process planning and scheduling to generate more realistic and practical solutions.

This paper(Lihui Wang,2006) provides a literature review on the integration of process planning and scheduling, particularly on agent-based approaches and overview of their approach towards distributed process planning and scheduling.

Page 21: A System Performance Model  Static Process Scheduling  Dynamic Load Sharing and Balancing  Real-Time Scheduling.

1. Systems, Man and Cybernetics, 1995. 'Intelligent Systems for the 21st Century'., IEEE International Conference A distributed process scheduling algorithm based on statistical heuristic search byGyires, T.;

2. System Sciences, 1995. Proceedings of the Twenty-Eighth Hawaii International Conference   A scalable time-sharing scheduling for partitionable distributed memory parallel machines by Hori, A.; Maeda, M.; Ishikawa, Y.; Tomokiyo, T.; Konaka, H.;

3. Aerospace Conference, 2003. Proceedings. 2003 IEEE Fuzzy rule-based process scheduling method for critical distributed computing environment by Santiprabhob, P.; Thumthawatworn, T.;

4. Systems, Man and Cybernetics, Part A, 2003 IEEE Transactions on Internet scheduling environment with market-driven agents by Yen, B.P.-C.; Wu, O.Q.;

5. International Journal of Computer Applications in Technology 2006 - Vol. 26, No.1/2  pp. 3 – 14 An overview of distributed process planning and its integration with scheduling by Lihui Wang, Weiming Shen, Qi Hao.

6. http://en.wikipedia.org/wiki/Real-time_operating_system. 7. http://www.cdot.ch/thomas/DistOS/lecture6.pdf


Recommended