Scheduling in Distributed Systems Gurmeet Singh CS 599 Lecture.

Slides:



Advertisements
Similar presentations
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Advertisements

Load Balancing Parallel Applications on Heterogeneous Platforms.
U of Houston – Clear Lake
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
LIBRA: Lightweight Data Skew Mitigation in MapReduce
CPE555A: Real-Time Embedded Systems
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
A Dynamic World, what can Grids do for Multi-Core computing? Daniel Goodman, Anne Trefethen and Douglas Creager
By: Chris Klumph and Kody Willman. Types of Heuristics References Terminology Static Mappings 6 Example mappings 4 Graph chromosome mappings 1 Tree mapping.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
CSE 160/Berman Programming Paradigms and Algorithms W+A 3.1, 3.2, p. 178, 6.3.2, H. Casanova, A. Legrand, Z. Zaogordnov, and F. Berman, "Heuristics.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
21st European Conference on Operational Research Algorithms for flexible flow shop problems with unrelated parallel machines, setup times and dual criteria.
L i a b l eh kC o m p u t i n gL a b o r a t o r y Performance Yield-Driven Task Allocation and Scheduling for MPSoCs under Process Variation Presenter:
Security-Driven Heuristics and A Fast Genetic Algorithm for Trusted Grid Job Scheduling Shanshan Song, Ricky Kwok, and Kai Hwang University of Southern.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
Ant Colony Optimization Optimisation Methods. Overview.
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
1 Chapter 15 Scheduling. 2 Scheduling: Establishing the timing of the use of equipment, facilities and human activities in an organization Answering “when”
CONDOR DAGMan and Pegasus Selim Kalayci Florida International University 07/28/2009 Note: Slides are compiled from various TeraGrid Documentations.
Authors: Weiwei Chen, Ewa Deelman 9th International Conference on Parallel Processing and Applied Mathmatics 1.
A Budget Constrained Scheduling of Workflow Applications on Utility Grids using Genetic Algorithms Jia Yu and Rajkumar Buyya Grid Computing and Distributed.
Of 21 1 Low-Cost Task Scheduling for Distributed-Memory Machines Andrei Radulescu and Arjan J.C. Van Gemund Presented by Bahadır Kaan Özütam.
1 Distributed Operating Systems and Process Scheduling Brett O’Neill CSE 8343 – Group A6.
 Escalonamento e Migração de Recursos e Balanceamento de carga Carlos Ferrão Lopes nº M6935 Bruno Simões nº M6082 Celina Alexandre nº M6807.
Optimal Scheduling of File Transfers with Divisible Sizes on Multiple Disjoint Paths Mugurel Ionut Andreica Polytechnic University of Bucharest Computer.
Fault-Tolerant Workflow Scheduling Using Spot Instances on Clouds Deepak Poola, Kotagiri Ramamohanarao, and Rajkumar Buyya Cloud Computing and Distributed.
ROBUST RESOURCE ALLOCATION OF DAGS IN A HETEROGENEOUS MULTI-CORE SYSTEM Luis Diego Briceño, Jay Smith, H. J. Siegel, Anthony A. Maciejewski, Paul Maxwell,
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
A Survey of Distributed Task Schedulers Kei Takahashi (M1)
Stochastic DAG Scheduling using Monte Carlo Approach Heterogeneous Computing Workshop (at IPDPS) 2012 Extended version: Elsevier JPDC (accepted July 2013,
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Static Process Scheduling Section 5.2 CSc 8320 Alex De Ruiter
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Chapter 17 Scheduling. Management 3620Chapter 17 Schedule17-2 Overview of Production Planning Hierarchy Capacity Planning 1. Facility size 2. Equipment.
CSC 8420 Advanced Operating Systems Georgia State University Yi Pan.
Real-Time Support for Mobile Robotics K. Ramamritham (+ Li Huan, Prashant Shenoy, Rod Grupen)
A Hyper-heuristic for scheduling independent jobs in Computational Grids Author: Juan Antonio Gonzalez Sanchez Coauthors: Maria Serna and Fatos Xhafa.
Advanced Operating Systems - Spring 2009 Lecture 14 – February 25, 2009 Dan C. Marinescu Office: HEC 439 B. Office.
Click to edit Master text styles Second level Third level Fourth level Fifth level Sucha Smanchat, PhD 1.
CHAPTER SEVENTEEN SCHEDULING Chapter 17 Scheduling.
Data Structures and Algorithms in Parallel Computing Lecture 7.
Static Process Scheduling
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Nov 3, 2005.
A Fast Genetic Algorithm Based Static Heuristic For Scheduling Independent Tasks on Heterogeneous Systems Gaurav Menghani Department of Computer Engineering,
CS 420 Design of Algorithms Parallel Algorithm Design.
Review for E&CE Find the minimal cost spanning tree for the graph below (where Values on edges represent the costs). 3 Ans. 18.
A stochastic scheduling algorithm for precedence constrained tasks on Grid Future Generation Computer Systems (2011) Xiaoyong Tang, Kenli Li, Guiping Liao,
Genetic algorithms for task scheduling problem J. Parallel Distrib. Comput. (2010) Fatma A. Omara, Mona M. Arafa 2016/3/111 Shang-Chi Wu.
1 Job Shop Scheduling. 2 Job shop environment: m machines, n jobs objective function Each job follows a predetermined route Routes are not necessarily.
Name : Mamatha J M Seminar guide: Mr. Kemparaju. GRID COMPUTING.
Resource Allocation and Scheduling for Workflows Gurmeet Singh, Carl Kesselman, Ewa Deelman.
1 Performance Impact of Resource Provisioning on Workflows Gurmeet Singh, Carl Kesselman and Ewa Deelman Information Science Institute University of Southern.
- DAG Scheduling with Reliability - - GridSolve - - Fault Tolerance In Open MPI - Asim YarKhan, Zhiao Shi, Jack Dongarra VGrADS Workshop April 2007.
Scheduling Algorithms Performance Evaluation in Grid Environments R, Zhang, C. Koelbel, K. Kennedy.
Semi-Supervised Clustering
Some Topics in OR.
Introduction | Model | Solution | Evaluation
Conception of parallel algorithms
New Workflow Scheduling Techniques Presentation: Anirban Mandal
VGrADS Tools Activities
Load Balancing and It’s Related Works in Cloud Computing
A Dynamic Critical Path Algorithm for Scheduling Scientific Workflow Applications on Global Grids e-Science IEEE 2007 Report: Wei-Cheng Lee
On Scheduling in Map-Reduce and Flow-Shops
Namyoon Woo and Heon Y. Yeom
Hyunchul Park, Kevin Fan, Manjunath Kudlur,Scott Mahlke
Introduction to Scheduling Chapter 1
R, Zhang, A. Chien, A. Mandal, C. Koelbel,
Presentation transcript:

Scheduling in Distributed Systems Gurmeet Singh CS 599 Lecture

General Scheduling refers to assigning a resource and a start time end to a task Much of scheduling research has been done in Operations Research Community e.g Job Shop, Flow shop scheduling etc. Scheduling is often an overloaded term in Grids. A related term is mapping that assigns a resource to a task but not the start time.

Systems taxonomy Parallel Systems Distributed Systems Dedicated Systems Shared Systems –Time Shared e.g. aludra –Space Shared e.g. HPCC cluster Homogeneous Systems Heterogeneous Systems

Scheduling Regimens Online/Dynamic Scheduling Offline/Static Scheduling Resource level Scheduling Application level Scheduling

Applications taxonomy Bag of tasks – Independent tasks Workflows – dependent tasks –Generally Directed Acyclic Graphs (DAGs) Performance criteria –Completion time (makespan), reliability etc.

Scheduling Bag of Tasks on Dedicated Systems Min-Min Max-Min Sufferage

Min-Min Heuristic For each task determine its minimum completion time over all machines Over all tasks find the minimum completion time Assign the task to the machine that gives this completion time Iterate till all the tasks are scheduled

Example of Min-Min T1T2T3 M M Stage 1: Stage 2: Stage 3: T1-M2 = 100 T1-M2 = 100 T1-M1 = 160 T2-M1 = 20 T3-M2 = 70 T3-M1 = 60 Assign T2 to M1 Assign T3 to M2 Assign T1 to M1 T1T3 M M T1 M1160 M2170 T2 T3 T1 M1 M

Max-Min Heuristic For each task determine its minimum completion time over all machines Over all tasks find the maximum completion time Assign the task to the machine that gives this completion time Iterate till all the tasks are scheduled

Example of Max-Min T1T2T3 M M Stage 1: Stage 2: Stage 3: T1-M2 = 100 T2-M1 = 20 T2-M1 = 80 T2-M1 = 20 T3-M1 = 60 T3-M1 = 60 Assign T1 to M2 Assign T3 to M1 Assign T2 to M1 T2T3 M12060 M T2 M180 M2200 T3 T1 T2 M1 M

Sufferage Heuristic For each task determine the difference between its minimum and second minimum completion time over all machines (sufferage) Over all tasks find the maximum sufferage Assign the task to the machine that gives this sufferage Iterate till all the tasks are scheduled

Example of Sufferage T1T2T3 M M Stage 1: Stage 2: Stage 3: T1 = 40 T1 = 60 T3 = 90 T2 = 80 T3 = 10 T3 = 10 Assign T2 to M1 Assign T1 to M2 Assign T3 to M1 T1T3 M M T3 M180 M2170 T2 T1 T3 M1 M

Grid Environments Time-shared resources Heterogeneous resources Tasks require input files that might be shared Data transfer times are important

Application Model

System Model

Scheduling Heuristic Schedule() 1.Compute the next Scheduling event 2.Create a Gantt Chart G 3.For each computation and file transfer underway 1.Compute an estimate of its completion time 2.Update the Gantt Chart G 4.Select a subset of tasks that have not started execution: T 5.Until each host has been assigned enough work 1.Heuristically assign tasks to hosts 6.Convert G into a plan

Sample Gantt Chart

Possible Variations Schedule() 1.Compute the next Scheduling event 2.Create a Gantt Chart G 3.For each computation and file transfer underway 1.Compute an estimate of its completion time 2.Update the Gantt Chart G 4.Select a subset of tasks that have not started execution: T 5.Until each host has been assigned enough work 1.Heuristically assign tasks to hosts 6.Convert G into a plan

XSufferage Tasks may have little intra-cluster Completion time (CT) variation and large inter-cluster CT variation. Cluster-level MCT for Sufferage. T1 C1 H15 H26 C2 H330 H432 T1 C1 H15 5 H26 C2 H330 H432

Simulations 1000 Simulated Grids, U(2,12)xU(2,32) 2000 applications, U(2,10)xU(20x1000) Task runtime U(100,300) Large Input File, U(400,100000) KBytes Small Input File, 1 KB One Output File, 10 KB Background load on the host machines and network links based on NWS traces Results over 1000 random Grid/application pairs.

Results Geometric mean (sec) Average Degradation from Best (%) Average Rank Max-min Min-min Sufferage XSufferage

Scheduling Task Graphs Task Graphs have dependencies between the tasks in the Application Scheduling methods for bag of task applications cannot be directly applied

Graph Scheduling Algorithms Heuristic Based Guided Random Search Based List Scheduling Heuristics Clustering Heuristics Level-by-level Heuristics Task Duplication Heuristics

Guided Random Search Based Genetic Algorithms –A chromosome is an ordering of tasks –A rule is required to convert it to a schedule Simulated Annealing Local Search Techniques, taboo etc

List Scheduling Heuristics An ordered list of tasks is constructed by assigning priority to each task Tasks are selected on priority order and scheduled in order to minimize a predefined cost function Tasks have to be in a topologically sorted order T1 T2 T3 T4 T5 T6 T7 T1T2T4T3T5T6T7 T1T2T4T3T5T6T7 T1T2T4T3T5T6T7 T1T2T4T3T5T6T7 T1T2T4T3T5T6T7

Level by Level Scheduling Partition a DAG into multiple levels such that task in each level are independent. Apply Min-Min, Max- Min or other heuristics to tasks at each level

Clustering Heuristics Clustering heuristics cluster tasks together Tasks in the same cluster are scheduled on the same processor T1 T2 T3 T4 T5 T6 T7 T1 T2 T3 T4 T5 T6 T7 T1 T2 T3 T4 T5 T6 T7 T1 T2 T5 T3 T4 T6 T 7 Time P0 P1

Heterogeneous Earliest Finish Time List scheduling based heuristic Do a bottom up traversal of the graph and assign ranks to each task

HEFT- contd Compute rank for all tasks in the graph Sort the tasks by non-increasing rank values (ensures topological sort) While there are unscheduled tasks –Select the first task in the list –Assign the task to the processor/machine that minimizes its completion time using insertion based scheduling endWhile

T1 T2T3T4T5T6 T7T8T9 T10 T1T3T4T2T5T6T7T8T9 T10 HEFT Order HEFT Schedule Priority T1108 T277 T380 T480 T569 T T T T T

Critical Path on a Processor (CPOP) Upward ranking Downward ranking

CPOP |CP| = priority(n entry ) SET CP = {n entry } n k ← n entry While n k is not the exit task do Select n j where ((n j Є succ(n k ) and priority(n j ) == |CP| SET CP = {SET CP U n j } n k ← n j endWhile Select the Critical Path processor p cp that minimizes the sum of runtimes of tasks on the critical path Go through the task list in priority order, assign tasks in SET CP to p cp and other tasks to any processor that minimizes its finish time

Priority T1108 T2108 T3105 T4102 T593 T T7105 T T9108 T10108 T1 T2T3T4T5T6 T7T8T9 T10

Conclusions Heuristics for scheduling independent and dependent tasks on distributed systems Rescheduling in order to adapt to dynamic Grid conditions Partitioning in case of task graphs Future lecture (Nov 27 th ) on resource provisioning for applications.