Scheduling Lecture 1: Introduction

Similar documents
Classification - Examples

Scheduling Shop Scheduling. Tim Nieberg

Introduction to Scheduling Theory

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Algorithm Design and Analysis

Duplicating and its Applications in Batch Scheduling

Scheduling Single Machine Scheduling. Tim Nieberg

Single machine parallel batch scheduling with unbounded capacity

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

11. APPROXIMATION ALGORITHMS

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Introducción a Calendarización en Sistemas Paralelas, Grids y Nubes

How To Find An Optimal Search Protocol For An Oblivious Cell

The Goldberg Rao Algorithm for the Maximum Flow Problem

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Real Time Scheduling Basic Concepts. Radek Pelánek

Applied Algorithm Design Lecture 5

Scheduling a sequence of tasks with general completion costs

List Scheduling in Order of α-points on a Single Machine

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Completion Time Scheduling and the WSRPT Algorithm

Scheduling Parallel Jobs with Linear Speedup

Scheduling Parallel Jobs with Monotone Speedup 1

Periodic Task Scheduling

Approximation Algorithms

An improved on-line algorithm for scheduling on two unrestrictive parallel batch processing machines

Batch Scheduling for Identical Multi-Tasks Jobs on Heterogeneous Platforms

Offline sorting buffers on Line

Notes on Complexity Theory Last updated: August, Lecture 1

A binary search algorithm for a special case of minimizing the lateness on a single machine

Ph.D. Thesis. Judit Nagy-György. Supervisor: Péter Hajnal Associate Professor

A Linear Programming Based Method for Job Shop Scheduling

Load Balancing. Load Balancing 1 / 24

CS 3719 (Theory of Computation and Algorithms) Lecture 4

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

School Timetabling in Theory and Practice

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Distributed Load Balancing for Machines Fully Heterogeneous

Aperiodic Task Scheduling

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

5.1 Bipartite Matching

Approximability of Two-Machine No-Wait Flowshop Scheduling with Availability Constraints

THE SCHEDULING OF MAINTENANCE SERVICE

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

A Note on the Bertsimas & Sim Algorithm for Robust Combinatorial Optimization Problems

OHJ-2306 Introduction to Theoretical Computer Science, Fall

Arithmetic Coding: Introduction

NP-Completeness and Cook s Theorem

University Dortmund. Robotics Research Institute Information Technology. Job Scheduling. Uwe Schwiegelshohn. EPIT 2007, June 5 Ordonnancement

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

Lecture 7: NP-Complete Problems

Lecture 2: August 29. Linear Programming (part I)

Scheduling Real-time Tasks: Algorithms and Complexity

Factoring & Primality

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

How To Solve A K Path In Time (K)

Dimensioning an inbound call center using constraint programming

HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

CHAPTER 1. Basic Concepts on Planning and Scheduling

CMPSCI611: Approximating MAX-CUT Lecture 20

Fairness in Routing and Load Balancing

Class constrained bin covering

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015

Techniques algébriques en calcul quantique

Batch Scheduling of Deteriorating Products

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

Clustering and scheduling maintenance tasks over time

Objective Criteria of Job Scheduling Problems. Uwe Schwiegelshohn, Robotics Research Lab, TU Dortmund University

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Near Optimal Solutions

Load Balancing and Switch Scheduling

Learning Example. Machine learning and our focus. Another Example. An example: data (loan application) The data and the goal

Embedded Systems 20 BF - ES

Algebraic Computation Models. Algebraic Computation Models

Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Minimal Cost Reconfiguration of Data Placement in a Storage Area Network

A Working Knowledge of Computational Complexity for an Optimizer

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

Diversity Coloring for Distributed Data Storage in Networks 1

Parallel machines scheduling with applications to Internet ad-slot placement

Literature Review of Single Machine Scheduling Problem with Uniform Parallel Machines

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

Lecture 4 Online and streaming algorithms for clustering

Embedded Systems 20 REVIEW. Multiprocessor Scheduling

CSC2420 Spring 2015: Lecture 3

Problem Set 7 Solutions

Integrating job parallelism in real-time scheduling theory

Load balancing of temporary tasks in the l p norm

Stiffie's On Line Scheduling Algorithm

14.1 Rent-or-buy problem

Lecture 1: Course overview, circuits, and formulas

CS/COE

Transcription:

Scheduling Lecture 1: Introduction Loris Marchal CNRS INRIA GRAAL project-team Laboratoire de l Informatique du Parallélisme École Normale Supérieure de Lyon, France January 28, 2009 1/ 43

Welcome Who am I?: CNRS researcher at LIP, used to be a student of ENS Lyon, and a PhD student at LIP. Any information about the class: loris.marchal@ens-lyon.fr + website (google me) Mosty on the board, but slides will be available on the website Outline of the class: today: introduction to scheduling after: study of particular scheduling problems focus on scheduling for large-scale platforms at the end: more on-going research stuff evaluations: research papers Slides and documentation source: myself (a little bit) Frédéric Vivien http://graal.ens-lyon.fr/ ~fvivien/ EPIT school http: //graal.ens-lyon.fr/~fvivien/epit2007.html, forthcoming book 2/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 3/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 4/ 43

What is scheduling? allocation of limited resources to activities over time activities: tasks in computer environment, steps of a construction project, operations in a production process, lectures at the University, etc. resources: processors, workers, machines, lecturers, rooms, etc. Many variations on the model, on the resource/activity interaction and on the objective. 5/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 6/ 43

Basic complex scheduling problem Resource-constrained project scheduling problem: Schedule activities over time on scarce resources, such that some constraints are satisfied and some objective function is optimized n activities (jobs) j = 1,... n, r renewable resources i = 1,..., r R k : amounts of resource k available at any time activity j processed for p j time units, using an amount r j,k of resource k Integer numbers R k = 1 resource disjunctive (0 resource cumulative) Precedence constraints: i j j cannot start before i is completed Precedence constraint graph: DAG (directed acyclic graph) 7/ 43

Basic complex scheduling problem Objective: find starting time S j for each activity, such that At each time, the total resource demand is less than (or equal to) the resource availability for each resource Precedence constraints are satisfied: S i + p i S j if i j conceptmakespan C max = max C j is minimized, with C j = S j + p j C j = S j + p j implies no preemption (activity splitting). Dummy starting activity 0 + dummy termination activity n + 1, with S 0 = 0 and C max = C n+1 Without preemption, vector S defines a schedule S is called feasible if all resource and precedence constraints are fulfilled 8/ 43

Basic complex scheduling problem Example j 1 2 3 4 p j 4 3 5 8 r j,1 2 1 2 2 r j,2 3 5 2 4 R 1 = 5 4 1 1 2 3 R 2 = 7 4 1 1 2 3 0 4 7 12 15 (a) A feasible schedule R 1 = 5 4 1 2 3 1 R 2 = 7 4 1 2 3 1 0 4 7 12 (b) An optimal schedule 9/ 43

Generalization of precedence relations Generalize precedence relation: S i + d i,j S j different cases + models all relations between start/finish times Release times r j and deadlines d j : S 0 + r j S j, S j (d j p j ) S 0 Communication delays c i,j i d ij i d ij (a) positive time-lag j j (b) negative time-lag 10/ 43

Other objectives Total flow time: n j=1 C j Weighted (total) flow time: n j=1 w jc j With due dates d j : lateness: Lj = C j d j tardiness: Tj = max{0, C j d j } unit penalty: Uj = 0 if C j d j, 1 otherwise maximum lateness: L mathrmmax = max L j total tardiness T j total weighted tardiness w j T j number of late activities U j weighted number of late activities w j U j 11/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 12/ 43

Single processor scheduling n jobs J 1,..., J n with processing times p j 1 processor precedence constraint Example: 5 jobs, with processing times 3, 2, 4, 2, 5 precedence constraints: 1 3, 2 4, 4 5 1 2 3 4 5 0 3 5 9 11 14 t 13/ 43

Parellel processor scheduling m identical processors P 1,..., P m all tasks have the same processing time P j on all processors RCPSP with one machine, R 1 = m 3 2 5 8 1 1 4 3 7 5 2 7 4 2 3 6 7 1 P 1 P 2 P 3 2 6 7 1 3 5 4 8 0 1 3 4 5 7 8 9 Variants: unrelated processors: p j,k depends on P k and J j uniform processors: p j,k = P j /s k, s k is the speed of processor P k 14/ 43

Multi-processor task scheduling jobs J 1,... J n processors P 1,..., P m each job J j has processing time p j, and makes use of a subset of processor µ j {P 1,..., P m } + precedence constraints another variant: identical processors, and each job J j makes us of any subset of size j processors 15/ 43

Shop scheduling Jobs consist in several operations, to be processed on different resources. General shop scheduling problem: jobs J 1,... J n processors P 1,..., P m J j consists in n j operation O 1,j,..., O nj,j two operations of the same job cannot be processed at the same time a processor can process one operation at a time operations O i,j has processing time p i,j and makes use of processor µ i,j arbitrary precedence pattern 16/ 43

Shop scheduling job-shop scheduling problem: chain of precedence constraints: O 1,j O 2,j O nj,j flow-shop scheduling problem: special job-shop scheduling problem n j = m for all j, and µ i,j = P i for all i, j: operation O i,j must be processed by P i open-shop scheduling problem like a flow-shop, but no precedence constraints 17/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 18/ 43

Graham notation Classes of scheduling problems can be specified in terms of the three-field classification α β γ where α specifies the machine environment, β specifies the job characteristics, γ and describes the objective function(s). 19/ 43

Graham notation machines To describe the machine environment the following symbols are used: 1 single machine P parallel identical Q uniform machines R unrelated machines MPM multi-purpose machines J job-shop F flow-shop O open-shop The above symbols are used if the number of machines is part of the input. If the number of machines is fixed to m we write Pm, Qm, Rm, MPMm, Jm, Fm, Om. 20/ 43

Graham notation Job characteristics pmtn preemption r j release times d j deadlines p j = 1 or p j = p or p j 1, 2: restricted processing times prec : arbitrary precedence constraints intree: (outtree) intree (or outtree) precedences chains: chain precedences series-parallel: a series- parallel precedence graph 21/ 43

Graham notation Objectives makespan C max maximum lateness: L max mean flow-time C i mean weighted flow-time w i C i sum of tardiness T j sum of weighted tardiness w j T j number of late jobs U j weighted number of late activities w j U j ( lateness: L j = C j d j, tardiness: T j = max{0, C j d j }, unit penalty: U j = 0 if C j d j, 1 otherwise) 22/ 43

Graham notation Examples 1 r j ; pmtn L max P 2 p j = p; r j ; tree C max Jm p i,j = 1 w j U j 23/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 24/ 43

Polynomial problems a solution to a scheduling problem is a function h: x is the input (parameters) h(x) is the solution (starting times, etc.) x defined as the length of some encoding of x usually, binary encoding: integer a encoded in log2 a bits Complexity of an algorithm computing h(x) for all x: running time An algorithm is called polynomial, if it computes h(x) for all x it at most O(p( x ) steps, where P is a polynomial A problem is called polynomial if it can be solved by a polynomial algorithm 25/ 43

Pseudo-polynomial problems If we replace the binary encoding by an unary encoding (integer a encoded with size a): we can solve more difficult problems in time polynomial with x. An algorithm is pseudo-polynomial if it solves the problem for all x with a number of steps at most O(p( x ) steps, where P is a polynomial and x the size of of an unary encoding of x. Example: An algorithm for a scheduling problem, whose running time is O(p j ) is pseudo-polynomial. 26/ 43

P and NP Decision problems To each optimization problem, we can define a decision problem P: class of polynomially solvable decision problems NP: class of polynomially checkable decision problems for each yes -answer, a certificate exists which can be used to check the answer in polynomial time Decisions problems of scheduling problems belongs to NP P NP. P? = NP still open 27/ 43

NP-complete problems a decision problem Q is NP-complete if all problems in NP can be polynomially reduced to Q if any single NP-complete decision problem Q could be solved in polynomial time then we would have P = NP. To prove that a problem is NP-complete: reduction to a well-known NP-complete problem Weakly NP-complete (or binary NP-complete): strongly depends on the binary coding of the input. If unary coding is used, the problem might become polynomial (pseudo-polynomial). 2-Partition vs 3-Partition 28/ 43

How to solve NP-complete problems? Exact methods: Mixed integer linear programming Dynamic programming Branch and bound methods (usually limited to small instances) Approximate methods: Heuristics (no guarantee) Approximation algorithms 29/ 43

Approximation algorithms Consider a minimization problem. On a given instance x, f(x): value of the objective in the solution given by the algorithm f (x): optimal value of the objective An algorithm is a ρ-approximation if for any instance x, f(x) ρ f (x) APX class: problems for which there exists a polynomial-time ρ-approximation algorithm, for some ρ > 0 An algorithm is a PTAS (Polynomial Time Approximation Scheme) if for any instance x and any ɛ > 0, the algorithm computes a solution f(x) with f(x) (1 + ɛ) f (x) in time polynomial in the problem size. An algorithm is a FPTAS (Fully Polynomial Time Approximation Scheme) if for any instance and any ɛ > 0, it produces a solution f(x) such that f(x) (1 + ɛ) f (x), in time polynomial in the problem size and in 1ɛ. 30/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 31/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 32/ 43

1 w i C i, or the Smith-ratio Objective: weighted sum of completion times Intuitions: put high weight first put longer tasks last Order task by non-increasing Smith ratio: w 1 /p 1 w 2 /p 2 w n /p n Proof: Consider a different optimal schedule S Let i and j be two consecutive tasks in this schedule such that w i /p i < w j /p j contribution of these tasks in S: S i = (w i + w j )(t + p i ) + w j p j contribution of these tasks if switched: S j = (w i + w j )(t + p j ) + w i p i we have S i S j w i w j = p i w i p j w j Thus we decrease the objective by switching these tasks. 33/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 34/ 43

P prec C max, Graham 2-approx NP-complete reduction to 2-partition (or 3-partition, unary NP-complete) 35/ 43

Graham list scheduling approximation Theorem: Any list scheduling heuristic gives a schedule, whose makespan is at most 2 1/p times the optimal. Lemma: there exists a precedence path Ψ such that Idle (p 1) w(ψ) Consider the task with maximum termination time T1 Let t 1 be the last moment (strictly) before σ(t 1 ) when a processor is not active Since a processor is inactive at time t1, there exists a task T 2, finishing at time t 1, which is an ancestor of T 1 (unless T 1 would be free and scheduled at time t 1 or before) Iterate the process All idle times occur during the processing of these tasks, at most on p 1 processors Notice that pc max = Idle + Seq, with Seq = w(t i ) We also have Seq pcmax, opt thus C max ( (p 1) w(ψ) ) + ( pcmax opt ) We also have w(ψ) Cmax, opt qed. 36/ 43

The approximation bound is tight T (1) p T (K(p 1)) 1 T (K(p 1)) 2 T (K(p 1)) p 1 T (K) p+1 T (K) p+2 T (K) 2p C list C opt max = Kp + K(p 1) = K(2p 1) max = 1 + K + K(p 1) = Kp + 1 T (K(p 1)) 2p+1 C list max C opt max K(2p 1) Kp + 1 = 2p 1 p 2p 1 p(kp + 1) = (2 1 p ) ɛ(k), 37/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 38/ 43

1 U i, Moore-Hodgson algorithm One machine, minimize the number of late jobs Example: job 1 2 3 4 5 d j 6 7 8 9 11 p j 4 3 2 5 6 Tasks are sorted by non-decreasing d i : d 1 d n A := For i = 1... n Ifp(A) + p i d i, then A := A {i} Otherwise, Let j be the longest task in A {i} A := A {i} {j} Optimal solution : A = {2, 3, 5} 39/ 43

Feasibility We first prove that the algorithm produces a feasible schedule: By induction: if not task is rejected, ok Assume that A is feasible, prove that A {i} {j} is feasible too all tasks in A before j: no change all tasks in A after j: shorter completion task i: let k be the last task in A: p(a) dk since task j is the longest: p i p j, thus p {i} {j} p(a) d k d i (because tasks are sorted) 40/ 43

Optimality Assume that there exist an optimal set O different from the set A f output by the Moore-Hodgson algorithm Let j be the first task rejected by the algorithm We prove that there exists an optimal solution without j We consider the set A = {1,..., i 1} at the moment when task j is rejected from A, and i the task being added at this moment A + i is not feasible, thus O does not contain {1,..., i} Let k be a task of {1,..., i} which is not in O Since the algorithm rejects the longest task, p(o {k} {j}) p(o), and by the same arguments than before, O {k} {j} is feasible We can suppress j from the problem instance, without modifying the behavior of the algorithm or the objective We can repeat this process, until we get the set of tasks scheduled by the algorithm. 41/ 43

Outline Vocabulary Basic complex scheduling problem Processor scheduling Graham classification Types of results: easy and hard problems Some scheduling problems 1 w i C i, polynomial (Smith-ratio) P prec C max, NP-hard, Graham 2-approx 1 U i, Moore-Hodgson algorithm Other types of scheduling problems? 42/ 43

Other types of scheduling problems Online problems contrarily to offline, information about future jobs is not known in advance competitive ratio: ratio to the optimal offline algorithm Distributed scheduling use only local information Multi-criteria scheduling several objectives to optimize simultaneously and/or several users, link with game theory Cyclic scheduling infinite but regular pattern of tasks 43/ 43