Efficient Scheduling Algorithms for resource management Denis Trystram ID-IMAG CSC, Toulouse, june 23, 2005.

Slides:



Advertisements
Similar presentations
CPU Scheduling.
Advertisements

On the Complexity of Scheduling
Operations Scheduling
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Load Balancing Parallel Applications on Heterogeneous Platforms.
© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
Hadi Goudarzi and Massoud Pedram
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
A system Performance Model Instructor: Dr. Yanqing Zhang Presented by: Rajapaksage Jayampthi S.
K-means clustering Hongning Wang
Towards Feasibility Region Calculus: An End-to-end Schedulability Analysis of Real- Time Multistage Execution William Hawkins and Tarek Abdelzaher Presented.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Distributed Combinatorial Optimization
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
On the Task Assignment Problem : Two New Efficient Heuristic Algorithms.
Scheduling Parallel Task
Elements of the Heuristic Approach
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
1 Distributed Process Scheduling: A System Performance Model Vijay Jain CSc 8320, Spring 2007.
© 2009 IBM Corporation 1 Improving Consolidation of Virtual Machines with Risk-aware Bandwidth Oversubscription in Compute Clouds Amir Epstein Joint work.
Performance Model & Tools Summary Hung-Hsun Su UPC Group, HCS lab 2/5/2004.
임규찬. 1. Abstract 2. Introduction 3. Design Goals 4. Sample-Based Scheduling for Parallel Jobs 5. Implements.
A Survey of Distributed Task Schedulers Kei Takahashi (M1)
Scheduling policies for real- time embedded systems.
BOF: Megajobs Gracie: Grid Resource Virtualization and Customization Infrastructure How to execute hundreds of thousands tasks concurrently on distributed.
1 Andreea Chis under the guidance of Frédéric Desprez and Eddy Caron Scheduling for a Climate Forecast Application ANR-05-CIGC-11.
LogP and BSP models. LogP model Common MPP organization: complete machine connected by a network. LogP attempts to capture the characteristics of such.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
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.
6. Application mapping 6.1 Problem definition
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Multi-users, multi-organizations, multi-objectives : a single approach Denis Trystram (Grenoble University and INRIA) Collection of results of 3 papers.
MROrder: Flexible Job Ordering Optimization for Online MapReduce Workloads School of Computer Engineering Nanyang Technological University 30 th Aug 2013.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Static Process Scheduling
Analysis of cooperation in multi-organization Scheduling Pierre-François Dutot (Grenoble University) Krzysztof Rzadca (Polish-Japanese school, Warsaw)
Scheduling MPI Workflow Applications on Computing Grids Juemin Zhang, Waleed Meleis, and David Kaeli Electrical and Computer Engineering Department, Northeastern.
Introduction to Real-Time Systems
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
A stochastic scheduling algorithm for precedence constrained tasks on Grid Future Generation Computer Systems (2011) Xiaoyong Tang, Kenli Li, Guiping Liao,
© P. Pongcharoen CCSI/1 Scheduling Complex Products using Genetic Algorithms with Alternative Fitness Functions P. Pongcharoen, C. Hicks, P.M. Braiden.
Scheduling in computational grids with reservations Denis Trystram LIG-MOAIS Grenoble University, France AEOLUS, march 9, 2007.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Efficient Scheduling Algorithms for resource management
Some Topics in OR.
Introduction | Model | Solution | Evaluation
CHAPTER 8 Operations Scheduling
Parallel Programming By J. H. Wang May 2, 2017.
Parallel Programming in C with MPI and OpenMP
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Introduction to Scheduling Chapter 1
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Parallel Programming in C with MPI and OpenMP
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Efficient Scheduling Algorithms for resource management Denis Trystram ID-IMAG CSC, Toulouse, june 23, 2005

General Context Recently, there was a rapid and deep evolution of execution supports: super- computers, clusters, grid computing, global computing… Need of efficient tools for resource management for dealing with these new systems. This talk will investigate some of the related problems and discuss new solutions

Parallel computing today. Different kinds Clusters, collection of clusters, grid, global computing Set of temporary unused resources Autonomous nodes (P2P) Our view of grid computing (reasonable trade-off): Set of computing resources under control (no hard authentication problems, no random addition of computers, etc.)

Content Goal: to illustrate the scheduling problem in grids A first report of experiences in Grenoble Intra-clusters scheduling On-line Multi-criteria Inter-cluster scheduling. How to deal with more complex actual problems?

CiGri: a regional grid It comes from the project CIMENT whose aim was to create new meso-computing facilities (alternative to national computing centers) in the late 90ties. Our view of grids: collection of clusters. Equipment of 5 clusters in different places around Grenoble, local autonomy, but shared experiences and tools (more than 600 connected machines!).

CiGri Starting in november 2002 (national programme ACI). observatory PhyNum icluster IA64 Hospital DELL ID

Output Models of applications coming form the real-life. Synthetic workload generation Practical tools (OAR + batch scheduling system).

Brief example: Analysis of job characteristics by logs of Icluster Icluster is a 225 PCs machine from HP with a rather slow hierarchical interconnection module (5x45machines) – fast Ethernet. Processors are PIII 733Mhz it was replaced in 2003 by a 104 dual- processors cluster. Objectives of the study: Better understanding of the behaviour Build a Workload generator

Data (one year) submissions of all kind of jobs (interactive ones or not, mono and multi-processors). 85 users. About 10% of these jobs are coming from the system team and were removed from the analysis.

Synthetic Generation of workloads Based on these logs, we derived the probabilistic laws of arrivals. Percentage of jobs using power of 2 (23) or multiple of ten (17) processors. Workload characterization using Dowley’s model.

A new national french initiative: GRID5000

Target Applications New execution supports created new applications (data-mining, bio-computing, coupling of codes, interactive, virtual reality, …). Interactive computations (human in the loop), adaptive algorithms, etc..

J1

Users queue time job

J1 users time

J1J2 users time

J1J2J3… users time

representant J1J2J3…… …

J1J2J3…… … …… … …

Scheduling: kind of jobs Execution time Number of processors Parallelism overhead due to communications Profitable part moldable rigid malleable

Basics in scheduling Central scheduling problem Parameters: number and types of processors, structure of the application, criterion to optimize.

Central Scheduling Problem P | prec, pj | Cmax is NP-hard [Ulmann75] Thus, we are looking for good heuristics. Analysis using Competitive ratio r: maximum over all instances of The schedule  is said -competitive iff

Formal Definition The problem of scheduling graph G = (V,E) weighted by function t on m processors: (with communication delays) Determine the pair of functions (date,proc) subject to: respect of precedence constraints Usual objective: to minimize the makespan

L Trivial remark: allocation is important even while scheduling on identical processors… If L is large, the problem is very hard (no approximation) Taking into account heterogeneity

More complicated models: LogP Tentative of designing new computational models closer to the actual parallel systems [Culler et al.]: 4 parameters. L latency o overhead g gap P number of processors

Alternative models: LogP No overlap. O + L + O

Alternative models: LogP No overlap. g

Alternative models: LogP No overlap. The delay model is a LogP-system where o=g=0 g

Need to simplify the model The game becomes too complicated No way for finding good approximation algorithms (more and more negative results are available…): Parallel tasks focus on key optimization parameters… No need of sophisticated analysis at the finest grain!

Level2 … … … … … … Level1 Level0 3 processors

Intra-Cluster Scheduling Context : On-line scheduling independent jobs (applications represented as moldable – non rigid - tasks) are submitted to the scheduler at any time on a queue.

(strip) Packing problems The schedule is divided into two successive steps: 1.Allocation problem and 2.Scheduling with preallocation (NP- hard in general [Rayward-Smith 95]).

Scheduling: on-line vs off-line On-line: no knowledge about the future We take the scheduling decision while other jobs arrive

Scheduling: on-line vs off-line Off-line: we have a finite set of works We try to find a good arrangement

Off-line scheduler Problem: Schedule a set of independent moldable jobs (clairvoyant). Penalty functions have somehow to be estimated (using complexity analysis or any prediction-measurement method like the one obtained by the log analysis).

Classical approach using combinatorial optimization Design fast algorithms with performance guaranty On-line algorithms One or several objective functions

k-dual Approximation [Shmoys, Hochbaum] Let us guess a value of the objective Cmax:. Apply an algorithm, if the obtained a guaranty worse than k, then, refine the value of (by dichotomic search).

Dual approximation W/m (=1) Estimated a target using a lower bound

Canonical allotment maximal number of processors for executing a task in time lower than 1 unit (normalized). Jobs are assumed to be monotonic. 1 m

HINT: analyze the optimal structure Long Jobs (whose execution times are greater than 1/2) may not use more than m processors

Thus, we are looking for a schedule in two shelves 3/2 1 m

2 shelves partitioning Knapsack problem: minimizing the global surface under the constraint of using less than m processors in the first shelf. 1 m 1/2

Dynamic programming For i = 1..n // # of tasks for j = 1..m // #proc. Wi,j = min( –Wi,j-minalloc(i,1) + work(i,minalloc(i,1)) –Wi,j + work(i,minalloc(i,1)) ) work Wn,m <= work of an optimal solution but the half-sized shelf may be overloaded

2 shelves partitioning 1 m 1/2

Drop down 1 m 1/2

1 m Insertion of small tasks

Analysis These transformations donot increase the work If the 2nd shelf is used more than m, it is always possible to do one of the transformations (using a global surface argument) It is always possible to insert the « small » sequential tasks (again by a surface argument)

Guaranty The 2-shelves algorithm has a performance guaranty of 3/2+  We will use it as a basis for an on-line version (batch scheduling).

Batch scheduling Principle: several jobs are treated at once using off-line scheduling.

Principle of batch jobs arrival time

Start batch 1

Batch chaining Batch iBatch i+1

Constructing a batch scheduling Analysis: there exists a result which gives a guaranty for an execution in batch using the guaranty of the scheduling policy inside the batches.

Analysis [Shmoys] previous last batch last batch Cmaxr (last job) n

previous last batch last batch Cmaxr n T k D k D K-1

Proposition

Analysis Tk is the duration of the last batch On another hand, and Thus:

Application Applied to the previous 3/2-approximation algorithm, we obtain a 3-approximation on-line batch algorithm for Cmax.

Multi criteria The Makespan is not always the adequate criterion. User point of view: Average completion time (weighted or not) Other criteria: Stretch, Asymptotic throughput

How to deal with this problem? Hierachy: one after the other (Convex) combination of criteria Transform one criterion in a constraint Ad hoc algorithms

A first solution Construct a feasible schedule from two schedules of guaranty r for minsum and r’ for makespan with a guaranty (2r,2r’) [Stein et al.]. Instance: 7 jobs (moldable tasks) to be scheduled on 5 processors.

Schedules s and s’ Schedule s (minsum) Schedule s’ (makespan)

New schedule r’Cmax

New schedule

r’Cmax

New schedule r’Cmax Similar bound for the first criterion

Analysis The best known schedules are: 8 [Schwiegelsohn] for minsum and 3/2 [Mounie et al.] for makespan leading to (16;3). Similarly for the weighted minsum (ratio 8.53).

Improvement We can improve this result by determining the Pareto curves (of the best compromises): (1+ )/ r and (1+ )r’ Idea: take the first part of schedule s up to r’Cmax

Pareto curve

Another way for designing better schedules We proposed a new solution for a better bound which has not to consider explicitly the schedule for minsum (based on a dynamic framework). Principle: recursive doubling with smart selection (using a knapsack) inside of each interval. Starting from the previous algorithm for Cmax, we obtain a (6;6) approximation.

Reservations On-going work: packing with constraints q m

Inter-Cluster Scheduling Context Load-balancing problem independent jobs (moldable – non rigid - tasks) are submitted to local schedulers at any time. Each cluster has its own managing internal rule.

How to manage?

Need of alternative approaches Too many parameters… Game theory (prisonner dilema) Analogy with economy (auctions)

To open the discussion New execution supports are more and more complex, need of multi-criteria results. Ex: quality of service, reliability, etc.. Need of robust approaches, able to remain efficient if the instances are disturbed…