1 Online Scheduling With Precedence Constraints Yumei Huo Department of Computer Science College.

Slides:



Advertisements
Similar presentations
On the Complexity of Scheduling
Advertisements

ECE 667 Synthesis and Verification of Digital Circuits
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
A 2 L Heuristic Algorithm for Scheduling Tasks on Non-Identical Machines Alexander C. Tubbs Alison L. Steppig Laura A. Hemker Southern Illinois University.
CSE 522 Real-Time Scheduling (4)
Mehdi Kargahi School of ECE University of Tehran
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
Lateness Models Contents
Spring, Scheduling Operations. Spring, Scheduling Problems in Operations Job Shop Scheduling. Personnel Scheduling Facilities Scheduling.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Chapter 3: CPU Scheduling
1 IOE/MFG 543 Chapter 3: Single machine models (Sections 3.1 and 3.2)
1 Single Machine Deterministic Models Jobs: J 1, J 2,..., J n Assumptions: The machine is always available throughout the scheduling period. The machine.
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.
1 IOE/MFG 543* Chapter 1: Introduction *Based in part on material from Izak Duenyas, University of Michigan, Scott Grasman, University of Missouri, Rakesh.
UET Multiprocessor Scheduling Problems Nan Zang
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
Online Scheduling of Precedence Constrained Tasks Yumei Huo Department of Computer Science New Jersey Institute.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 IOE/MFG 543 Chapter 10: Single machine stochastic models Sections 10.1 and 10.4 You may skip Sections
Scheduling Parallel Task
Scheduling Master - Slave Multiprocessor Systems Professor: Dr. G S Young Speaker:Darvesh Singh.
Minimizing Makespan and Preemption Costs on a System of Uniform Machines Hadas Shachnai Bell Labs and The Technion IIT Tami Tamir Univ. of Washington Gerhard.
INTRODUCTION TO SCHEDULING
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Basic Concepts Maximum CPU utilization.
CPU-Scheduling Whenever the CPU becomes idle, the operating system must select one of the processes in the ready queue to be executed. The short term scheduler.
Job-shop Scheduling n jobs m machines No recirculation – Jobs do not revisit the same machine (i, j) is referred to as an operation in which job j is processed.
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
EHSAN KHODDAM MOHAMMADI MILAD GANJALIZADEH BABAK YADEGARI First Steps to Study SCHEDULING بسم الله الرحمن الرحيم.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
1 Server Scheduling in the L p norm Nikhil Bansal (CMU) Kirk Pruhs (Univ. of Pittsburgh)
Operational Research & ManagementOperations Scheduling Introduction Operations Scheduling 1.Setting up the Scheduling Problem 2.Single Machine Problems.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
An Efficient Algorithm for Scheduling Instructions with Deadline Constraints on ILP Machines Wu Hui Joxan Jaffar School of Computing National University.
3.1 : Resource Management Part2 :Processor Management.
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
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
6. Application mapping 6.1 Problem definition
Outline Introduction Minimizing the makespan Minimizing total flowtime
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Scheduling. Scheduling: The allocation of resources over time to accomplish specific tasks. Demand scheduling: A type of scheduling whereby customers.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 03, 2005 Session 15.
Parallel Machine Scheduling
Common Approaches to Real-Time Scheduling Clock-driven (time-driven) schedulers Priority-driven schedulers Examples of priority driven schedulers Effective.
© The McGraw-Hill Companies, Inc., Chapter 12 On-Line Algorithms.
11 -1 Chapter 12 On-Line Algorithms On-Line Algorithms On-line algorithms are used to solve on-line problems. The disk scheduling problem The requests.
Spring 2008The Greedy Method1. Spring 2008The Greedy Method2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1)
Preemptive Scheduling of Intrees on Two Processors Coffman, E. G., Jr., Columbia University Matsypura, D., Oron, D., Timkovsky, V. G., University of Sydney.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
1 Chapter 5: CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms.
Single Machine Scheduling Problem Lesson 5. Maximum Lateness and Related Criteria Problem 1|r j |L max is NP-hard.
Approximation Algorithms for Scheduling Lecture 11.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Classification of Scheduling Problems
Some Topics in OR.
Chapter 5a: CPU Scheduling
Design and Analysis of Algorithm
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Introduction to Scheduling Chapter 1
Planning and Scheduling in Manufacturing and Services
Topic 15 Job Shop Scheduling.
György Dósa – M. Grazia Speranza – Zsolt Tuza:
Single Machine Deterministic Models
Presentation transcript:

1 Online Scheduling With Precedence Constraints Yumei Huo Department of Computer Science College of Staten Island, CUNY Feb. 26, 2008

2 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work

3 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work

4 What is Scheduling ? Resource: machines, runways, CPUs Jobs: operations, takeoffs and landings, programs Constraints: priority, release date, due date, preemption Objectives: –minimize total completion time –minimize the maximum completion time –maximize the number of on-time jobs Scheduling deals with the allocation of scarce resources to jobs over time subject to some constraints. It is a decision- making process with the goal of optimizing one or more objectives. (Pinedo, 2001)

5 3-field Notation of Scheduling We use  |  |  to represent a scheduling problem;  : the machine environment  : the processing requirement and constraints of the jobs  : the performance measure to optimize Cmax= P1 P2 /Ci/Ci  C i = C 1 + C 2 +…+C n  C i =21 Example: P2|p j =1, prec|Cmax – P2: 2 identical machines in parallel – p j =1, prec: the processing time of any job is unit time, the jobs have arbitrary precedence constraints – C i is the completion time of job i, – Cmax=max{C 1, C 2,…C n } (makespan);

6 Precedence constraints chains intree outtree prec

7 Preemption Jobs can be preempted and later resumed possibly on a different machine S S2 Cmax=4  C j =15 Cmax=6  C j =15 P3|p j =3,pmtn|Cmax: P3|p j =3|Cmax: Example: 3 processors, 4 independent jobs, the processing time of each job is 3.

8 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work

9 Coffman-Graham algorithm (P2|p j =1, prec|Cmax and P2|p j =1, prec|  C i )‏ Step 1. Labeling Step 2. Scheduling

10 Coffman-Graham algorithm (cont.)‏ Comparing two decreasing sequences of positive integers: by lexicographical order Example: (8, 6, 4, 3) < (8, 6, 5) and (9, 8, 6) < (9, 8, 6, 4, 3).

11 Example of Coffman-Graham algorithm (9)‏(8)‏ (7)‏ (6)‏ (5)‏ (4)‏ (3)‏ (1)‏(2)‏ (1)‏ (2,1)‏

12 Hu’s algorithm (P|p j =1, intree|Cmax and P|p j =1, outtree|Cmax )‏ Step 1. Labeling Step 2. Scheduling

13 Hu’s algorithm---Level Definition: The level of a job i with no immediate successor is its processing time p i. The level of a job with immediate successor(s) is its processing time plus the maximum level of its immediate successor(s).

14 Example for Hu’s algorithm (1)‏ (2)‏ (3)‏ (5)‏ (6)‏ (4)‏ (7)‏ (1)‏ (2)‏ (3)‏ (5)‏ (6)‏ (4)‏ (7)‏ (1)‏ (2)‏ (3)‏ (5)‏ (6)‏ (4)‏ (7)‏ (8)‏ (9)‏ (10)‏ (11)‏ (1)‏ (2)‏ (3)‏ (5)‏ (6)‏ (4)‏ (7)‏ (8)‏ (9)‏ (10)‏ (11)‏ (12)‏ (13)‏ (1)‏ (2)‏ (3)‏ (5)‏ (6)‏ (4)‏ (7)‏ (8)‏ (9)‏ (10)‏ (11)‏ (12)‏ (13)‏ (14)‏ (15)‏ (8)‏ (9)‏ (10)‏ (11)‏ (12)‏ (13)‏ (14)‏ (15)‏ (16)‏

15 Muntz-Coffman algorithm (P2|pmtn, prec |Cmax, P|pmtn, intree|Cmax and P|pmtn, outtree|Cmax )‏ Assign one processor each to the jobs at the highest level. If there is a tie among y jobs (because they are at the same level) for the last x (x < y) processors, then assign x/y processor to each of these y jobs. Whenever either of the two events below occurs, reassign the processors to the unexecuted portion of the unfinished tasks according to the above rule. Event 1: A task is completed. Event 2: We reach a point where, if we were to continue the present assignment, we would be executing some tasks at a lower level at a faster rate than other tasks at a higher level.

16 Example for Muntz-Coffman algorithm Preemptive schedule Processor-sharing schedule

17 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work

18 Online Scheduling Tasks are released, along with their constraints, at various different times. The scheduler schedules tasks with no future information. We say that an online scheduling algorithm is optimal if it always produces a schedule with the minimum C max, i.e., a schedule as good as any schedule produced by any scheduling algorithm with full knowledge of future releases of tasks.

19 Classical Scheduling Problems with polynomial optimal algorithms P|p j =1, intree|Cmax and P|p j =1, outtree|Cmax --- Hu’s algorithm P2|p j =1, prec|Cmax and P2|p j =1, prec|  C j --- Coffman- Graham algorithm P2|pmtn, prec |Cmax, P|pmtn, intree|Cmax and P|pmtn, outtree|Cmax --- Muntz-Coffman algorithm P|pmtn|Cmax --- McNaughton’s Rule

20 Online version of these problems Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax –P|p j =1, intree i is released at r i |Cmax –P|p j =1, outtree i is released at r i |Cmax –P2|p j =1, prec i is released at r i |Cmax Preemptive scheduling problems: –P2|pmtn, prec i is released at r i |Cmax –P|pmtn, intree i is released at r i |Cmax –P|pmtn, outtree i is released at r i |Cmax –P|pmtn, r j |Cmax (K.S.Hong and J.Y-T.Leung, 1988)‏

21 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

22 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

23 P2|p j =p, chains i are released at r i |Cmax (Counterexample)‏ M=2 p j = S S Chains released at r 1 =0 Chains released at r 2 =

24 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

25 P|p j =1, intree i is released at r i |Cmax (Counterexample)‏ Tree 1 released at r 1 =0 M= Tree 2 released at r 2 =4 S S2

26 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

27 P2|p j =1, prec i is released at r i |Cmax Algorithm A: Whenever new tasks arrive, do { t = the current time; U = the set of tasks active (i.e., not finished) at time t; Call the Coffman-Graham algorithm to reschedule the tasks in U; }

28 Example (9)‏(8)‏ (7)‏ (6)‏ (5)‏ (4)‏ (3)‏ (1)‏(2)‏ (9)‏ (8)‏ (5)‏ (1)‏(2)‏ Tasks not finished at t=2 (3)‏ (4)‏ (6)‏ (7)‏ (10)‏ 10 (11)‏ Tasks released at t=

29 Our result Theorem Algorithm A is optimal for P2|p j =1, prec i is released at r i |Cmax. Moreover, the schedule produced by Algorithm A has the largest number of tasks completed at any time instant t. ( Note: Algorithm A is optimal for P2|p j =1, prec i is released at r i |  C j )‏

30 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

31 P|p j =1, outtree i is released at r i |Cmax Algorithm B: Whenever new tasks arrive, do { t =the current time; U= the set of tasks active (i.e., not finished) at time t; Call Hu's algorithm to reschedule the tasks in U; }

32 Example

33 Our result Theorem Algorithm B is optimal for P|p j =1, outtree i is released at r i |Cmax. Moreover, the schedule produced by Algorithm B has the largest number of tasks completed at any time instant t. ( Note: Algorithm B is optimal for P|p j =1, outtree i is released at r i |  C j )‏

34 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

35 P|p j =1, pmtn, intree i is released at r i |Cmax (Counterexample)‏ Tree 1 released at r 1 =0 M= Tree 2 released at r 2 =4 S S

36 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, p j =1, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

37 P2| pmtn,prec i is released at r i |Cmax Algorithm C: Whenever new tasks arrive, do { t =the current time; U= the set of tasks active (i.e., not finished) at time t; Call Muntz-Coffman algorithm to reschedule the tasks in U; }

38 Example

39 Our result Theorem Algorithm C is an optimal online algorithm for P2| pmtn, prec i is released at r i |Cmax.

40 Our results Nonpreemptive scheduling problems: –P2|p j =p, chains i are released at r i |Cmax-----no optimal algorithm can possibly exist –P|p j =1, intree i is released at r i |Cmax-----no optimal algorithm can possibly exist –P2|p j =1, prec i is released at r i |Cmax ---- there is optimal algorithm –P|p j =1, outtree i is released at r i |Cmax----- there is optimal algorithm Preemptive scheduling problems: –P|pmtn, intree i is released at r i |Cmax---- no optimal algorithm can possibly exist –P2| pmtn, prec i is released at r i |Cmax ---- there is optimal algorithm –P|pmtn, outtree i is released at r i |Cmax---- there is optimal algorithm

41 P|pmtn, outtree i is released at r i |Cmax Theorem Algorithm C is an optimal online algorithm for P|pmtn, outtree i is released at r i |Cmax.

42 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work

43 known results P| p j =1, outtree i released at r i | C max –Online version of Hu’s algorithm is known to be optimal (Huo & Leung)‏ P2| p j =1, prec i released at r i | C max –Online version of Coffman-Graham algorithm is known to be optimal (Huo & Leung)‏ P| prec, online | C max –Online version of List scheduling has competitive ratio 2-1/m (Sgall)‏

44 Problems P | p j =1, intree i released at r i | C max P | p j =p, intree i released at r i | C max P | p j =p, outtree i released at r i | C max P2 | p j =p, prec i released at r i | C max

45 Problems P | p j =1, intree i released at r i | C max P | p j =p, intree i released at r i | C max P | p j =p, outtree i released at r i | C max P2 | p j =p, prec i released at r i | C max

46 On-line version of Hu’s Algorithm(revisited)‏ Hu’s Algorithm: –Whenever a machine is idle, pick a job from the highest level and schedule it. –Hu’s algorithm is optimal for the off-line problem of p|p j =1, intree|c max On-line version: Whenever new jobs arrive, do{ T=the current time U=the set of jobs not finished at time T reschedule the tasks in U by Hu’s algorithm. }

47 An Example of On-line Hu’s Algorithm A set of jobs released at time

48 An Example of On-line Hu’s Algorithm (Algorithm B)‏ A new set of jobs released at time New Release: Jobs has been scheduled:

49 An Example Final Schedule

50 Result 1 For p | intree,p j =1,online | c max problem, let S be the c max produced by the on-line version of Hu’s algorithm, and S* be the c max of the optimal schedule, then S/S*≤ 1.5

51 Problems P | p j =1, intree i released at r i | C max P | p j =p, intree i released at r i | C max P | p j =p, outtree i released at r i | C max P2 | p j =p, prec i released at r i | C max

52 Meta-Algorithm Delay-X (from p j =1 to p j =p)‏ Suppose X is an algorithm which solves online problem for p j =1. For any job released at time r such that kp<r<(k+1)p, delay it from consideration until the time instant (k+1)p. Call algorithm X at time instant (k+1)p

53 Result 2 Suppose algorithm X gives competitive ratio of λ for α|p j =1,online|c max problem, then, –For the problemα|p j =p,online|c max, let s be the c max produced by Delay-X and s* be the c max of the optimal schedule, then s≤λs*+ λ p

54 Result 3 P| p j =p, intree i released at r i | c max –Let S be the c max produced by Delay-Hu’s algorithm and S* be the c max of optimal schedule, then S≤1.5(S*+p). The asymptotic competitive ratio is 1.5 since S*>>p. P| p j =p, outtree i released at r i | c max –Let S be the c max produced by Delay-Hu’s algorithm and S* be the c max of optimal schedule, then S ≤(S*+p). The asymptotic competitive ratio is 1 since S*>>p. P2| p j =p, prec i released at r i | c max –Let S be the c max produced by Delay-Coffman-Graham algorithm and S* be the c max of optimal schedule, then S ≤(S*+p). The asymptotic competitive ratio is 1 since S*>>p.

55 Outline Introduction: –Background and Notations –Three basic scheduling algorithms Online Scheduling of Precedence Constrained Tasks –Four nonpreemptive scheduling problems –Three preemptive scheduling problems Approximation Algorithms for Online Scheduling of Equal Processing Time Task System Future Work

56 Future Work (Continued Work)‏ For p | p j =1, intree i released at r i | c max problem: –Better approximation algorithms? Tight Competitive Ratio? For p | p j =p, prec i released at r i | c max –Asymptotic competitive ratio? (>2-2/m [Lam and Sethi] )‏ For p | pmtn, intree i released at r i | c max problem: –Approximation Algorithm? Competitive Ratio? Other Criteria of these online scheduling problems? –Objective function: mean flow time

57 Selected Publications Huo, Y. and J. Y-T. Leung, "Online Scheduling of Precedence Constrained Tasks," SIAM J. on Computing, Volume 34, Number 3, pp Huo, Y. and J. Y-T. Leung, "Minimizing Total Completion Time for UET Tasks with Release Time and Outtree Precedence Constraints," Mathematical Methods of Operations Research, Vol. 62, No. 2, pp , Huo, Y. and J. Y-T. Leung, "Minimizing Total Completion Time for UET Tasks," ACM Transactions on Algorithms, Vol. 2, No. 2, pp April Huo, Y., J. Y-T. Leung and H. Zhao, "Complexity of Two Dual Criteria Scheduling Problems," submitted to Operations Research Letters, 35: , Huo, Y., J. Y-T. Leung and H. Zhao, "Bi-criteria Scheduling Problems: Number of Tardy Jobs and Maximum Weighted Tardiness," European Journal of Operational Research,177: , Huo, Y., J. Y-T. Leung and X. Wang, "Online Scheduling of Equal-Processing- Time Task Systems," Submitted to Theoretical Computer Science.

58 Thank you!

59 Makespan Total completion time:  C i = C 1 + C 2 +…+C n Makespan =  (C i - r i ) /n –C i is the completion time of job i; –r i is the release time of job i; –n is the number of jobs

60 Application of Scheduling Scheduling of Flexible Resources in Professional Service Firms Novel metaheuristic Approaches to Nurse Rostering Problems in Belgian Hospitals University Timetabling Adapting the GATES Architecture to Scheduling Faculty Constraint Programming for Scheduling Batch Production Scheduling in the Process Industries A Composite Very-Large-Scale Neighborhood Search Algorithm for the Vehicle Routing Problem Scheduling Problems in the Airline Industry Bus and Train Driver Scheduling Sports Scheduling

61 Application of Online Scheduling Industrial Applications Multiuser operating systems such as Unix and Windows Web servers Database servers Load balancers sitting in front of server farms (Pruhs K., Sgall J., and Torng E., 2004 )‏

62 M3 M2 M1 t=0 r1r1 r2r2 r3r3  J i1,J i1+1, … J i2,J i2+1, … J i3,J i3+1, …

63 Complexity results for scheduling problems by Brucker and Knust: osnabrueck.de/research/OR/class/