Date post: | 13-Jan-2016 |
Category: |
Documents |
Upload: | shonda-fitzgerald |
View: | 218 times |
Download: | 4 times |
Distributed Process
Scheduling
Sreekanth Padidala
Topics….
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.
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
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
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
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.
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?
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.
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.
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
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.
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.
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
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)
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.
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.
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.
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.
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.
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