Rounding Technique We can simplify scheduling problem structure by rounding job sizes, release dates.

Slides:



Advertisements
Similar presentations
Alexander Kononov Sobolev Institute of Mathematics Siberian Branch of Russian Academy of Science Novosibirsk, Russia.
Advertisements

Class-constrained Packing Problems with Application to Storage Management in Multimedia Systems Tami Tamir Department of Computer Science The Technion.
Greedy Algorithms.
G53OPS Operating Systems Graham Kendall Q Exam.
COT 4600 Operating Systems Fall 2009 Dan C. Marinescu Office: HEC 439 B Office hours: Tu-Th 3:00-4:00 PM.
Algorithm Design Techniques: Greedy Algorithms. Introduction Algorithm Design Techniques –Design of algorithms –Algorithms commonly used to solve problems.
Online Scheduling with Known Arrival Times Nicholas G Hall (Ohio State University) Marc E Posner (Ohio State University) Chris N Potts (University of Southampton)
Scheduling with Outliers Ravishankar Krishnaswamy (Carnegie Mellon University) Joint work with Anupam Gupta, Amit Kumar and Danny Segev.
Greedy Algorithms Basic idea Connection to dynamic programming Proof Techniques.
Operating Systems Chapter 6
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Processes and Their Scheduling.
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Ecole Polytechnique, Nov 7, Minimizing Total Completion Time Each job specified by  procesing time (length p j )  release time r j Goal: compute.
Scheduling in Batch Systems
Polynomial time approximation scheme Lecture 17: Mar 13.
Job scheduling Queue discipline.
Greedy Algorithms CSE 331 Section 2 James Daly. Reminders Exam 2 next week Thursday, April 9th Covers heaps to spanning trees Greedy algorithms (today)
Scheduling. Model of Process Execution Ready List Ready List Scheduler CPU Resource Manager Resource Manager Resources Preemption or voluntary yield AllocateRequest.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.
A Model for Minimizing Active Processor Time Jessica Chang Joint work with Hal Gabow and Samir Khuller.
Minimizing Flow Time on Multiple Machines Nikhil Bansal IBM Research, T.J. Watson.
9/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova, K. Wayne Guest lecturer: Martin Furer Algorithm Design and Analysis L ECTURE.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
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.
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.
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.
Chapter 6 CPU SCHEDULING.
More Scheduling cs550 Operating Systems David Monismith.
Approximation schemes Bin packing problem. Bin Packing problem Given n items with sizes a 1,…,a n  (0,1]. Find a packing in unit-sized bins that minimizes.
1 Approximation Through Scaling Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Round Robin Scheduling A preemptive scheduling designed for Time Sharing Systems The Ready Queue is treated as a circular queue A small execution.
1 Server Scheduling in the L p norm Nikhil Bansal (CMU) Kirk Pruhs (Univ. of Pittsburgh)
Scheduling policies for real- time embedded systems.
Packing Rectangles into Bins Nikhil Bansal (CMU) Joint with Maxim Sviridenko (IBM)
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
1 Algorithms & Data Structures for Games Lecture 2A Minor Games Programming.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Current Event #___By:____#__ Title of Article:_____________________ Source:___________________________ Date Published:____________________ Date Due:_________________________.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
Purpose of Operating System Part 2 Monil Adhikari.
Feb 23, 2010 University of Liverpool Minimizing Total Busy Time in Parallel Scheduling with Application to Optical Networks Michele Flammini – University.
Introduction to Operating System Created by : Zahid Javed CPU Scheduling Fifth Lecture.
Lecturer 5: Process Scheduling Process Scheduling  Criteria & Objectives Types of Scheduling  Long term  Medium term  Short term CPU Scheduling Algorithms.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
CPU Scheduling Andy Wang Operating Systems COP 4610 / CGS 5765.
Linear program Separation Oracle. Rounding We consider a single-machine scheduling problem, and see another way of rounding fractional solutions to integer.
Abstract In this paper, the k-coverage problem is formulated as a decision problem, whose goal is to determine whether every point in the service area.
Parallel Machines (Q||ΣCi , Q|pmtn|ΣCi , R||ΣCi , R|pmtn|Cmax, R|pmtn|Lmax) Lesson 8.
Process Scheduling B.Ramamurthy 9/16/2018.
Scheduling (Priority Based)
CPU Scheduling.
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Process Scheduling B.Ramamurthy 11/18/2018.
CPU Scheduling Basic Concepts Scheduling Criteria
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Andy Wang Operating Systems COP 4610 / CGS 5765
Operating System Concepts
Process Scheduling B.Ramamurthy 12/5/2018.
Polynomial time approximation scheme
Process Scheduling B.Ramamurthy 2/23/2019.
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
CPU Scheduling.
Chapter 5: CPU Scheduling
I want to set up the job to perform in the following order
Presentation transcript:

Rounding Technique We can simplify scheduling problem structure by rounding job sizes, release dates

Rounding Scheme 1 Make all processing times and release dates integral powers of 1+ε –R x = (1+ε) x –I x = [R x, R x+1 ) –Length of I x = ε R x R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7 1 1+ε (1+ε) 2

Effect of rounding on optimal average completion time How much does this rounding increase optimal average completion time? Give argument: R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7 1 1+ε (1+ε) 2

Enforce r j > εp j Make each job j have a release time of at least εp j Argue this causes at most (1+ε) effect on optimal average completion time

PTAS for 1|r j |ΣC j Run SPT until at most 3/ε 7 jobs are left –Each job released at max{r j,p j /ε 2 } Enumerate last jobs optimally R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7

Key idea 1: Time stretching A job is small if p j < εI x where I x is interval that job j is started No small job crosses into interval I x+1 Stretch interval I x by (1+ε) to fit last crossing job in R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7

Observation If all jobs are small in their intervals, with previous time-stretching idea, we achieve optimality as we approximate SRPT which is optimal for the preemptive version of this problem. R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7

Key idea 2: Moving large jobs We can move large jobs that appear before time t = ε 7 OPT back in the schedule by some amount to where they are small Key arguments –Space to fit these jobs (time stretching) –Delay caused by stretching is not too large R0R0 R1R1 R2R2 R3R3 R4R4 R5R5 R6R6 R7R7

Rounding Scheme 2 Round release dates and processing times to integral powers of εP/n 2 where P is the largest job size How much does this rounding affect average flow time? Key observation: all processing times in interval [0, n 2 /ε] and all events occur in interval [0,2n 3 /ε] Leads to a polynomial number of decision times to be represented in a dynamic programming solution