CALTECH CS137 Winter2002 -- DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.

Slides:



Advertisements
Similar presentations
Artificial Intelligence Presentation
Advertisements

CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
ECE 667 Synthesis and Verification of Digital Circuits
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 22: December 2, 2005 Routing 2 (Pathfinder)
Lecture 6: Job Shop Scheduling Introduction
Chapter 3: Planning and Scheduling Lesson Plan
EDA (CS286.5b) Day 10 Scheduling (Intro Branch-and-Bound)
Evaluating Heuristics for the Fixed-Predecessor Subproblem of Pm | prec, p j = 1 | C max.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 11, 2015 Scheduling Introduction.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: March 3, 2004 Scheduling Heuristics and Approximation.
A Simple Distribution- Free Approach to the Max k-Armed Bandit Problem Matthew Streeter and Stephen Smith Carnegie Mellon University.
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
EE 553 Integer Programming
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.
Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 17: April 2, 2008 Scheduling Introduction.
ECE Synthesis & Verification - Lecture 2 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Scheduling.
Dealing with NP-Complete Problems
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 11, 2008 Static Timing Analysis and Multi-Level Speedup.
EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 20: April 7, 2008 Scheduling Variants and Approaches.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
ICS 252 Introduction to Computer Design
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 15: March 18, 2009 Static Timing Analysis and Multi-Level Speedup.
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 7: February 9, 2009 Scheduling Variants and Approaches.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: February 2, 2009 Architecture Synthesis (Provisioning, Allocation)
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 8: February 13, 2008 Retiming.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 16, 2015 Scheduling Variants and Approaches.
Spring 2015 Mathematics in Management Science Critical Path Scheduling Critical Paths & Times Backflow Algorithm Critical Times PL Critical Path Algorithm.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 10: February 18, 2015 Architecture Synthesis (Provisioning, Allocation)
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
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
Lecture 3: Uninformed Search
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 23: April 20, 2015 Static Timing Analysis and Multi-Level Speedup.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 3: January 12, 2004 Clustering (LUT Mapping, Delay)
Priority Queues Two kinds of priority queues: Min priority queue. Max priority queue. Nov 4,
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 14: February 27, 2002 Routing 2 (Pathfinder)
Optimal Superblock Scheduling Using Enumeration Ghassan Shobaki, CS Dept. Kent Wilken, ECE Dept. University of California, Davis
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 26, 2004 Sequential Optimization (FSM Encoding)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 17: March 11, 2002 Sequential Optimization (FSM Encoding)
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 13: March 1, 2003 Scheduling Introduction.
Instruction Scheduling Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved.
DECISION MODELING WITH MICROSOFT EXCEL Chapter 12 Copyright 2001 Prentice Hall Publishers and Ardith E. Baker Multi-Objective Decision Making and Heuristics.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 11: February 11, 2002 Scheduling Introduction.
CMPT 463. What will be covered A* search Local search Game tree Constraint satisfaction problems (CSP)
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 5: January 31, 2011 Scheduling Variants and Approaches.
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 20: November 23, 2005 Scheduling Variants and Approaches.
Scheduling Determines the precise start time of each task.
Project Scheduling Lecture # 1.
CS137: Electronic Design Automation
Basic Project Scheduling
Basic Project Scheduling
CS137: Electronic Design Automation
CS137: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
ESE535: Electronic Design Automation
Topic 15 Job Shop Scheduling.
ICS 252 Introduction to Computer Design
CS137: Electronic Design Automation
CS137: Electronic Design Automation
Presentation transcript:

CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation

CALTECH CS137 Winter DeHon Today Scheduling –Force-Directed –List-Scheduling –Approximation Algorithms

CALTECH CS137 Winter DeHon Last Time Resources aren’t free Share to reduce costs Schedule operations on resources Greedy not optimal Optimal solution with Branch-and- Bound Lower Bound Pruning

CALTECH CS137 Winter DeHon This Time Heuristic/non-optimal approaches Use to solve quickly Use to generate upper bounds –help pruning in alpha-beta search Bounds on “badness” of heuristic

CALTECH CS137 Winter DeHon Force-Directed Problem: how exploit schedule freedom (slack) to minimize instantaneous resources –(time constrained)

CALTECH CS137 Winter DeHon Force-Directed Given a node, can schedule schedule anywhere between ASAP and ALAP schedule time –latest schedule predecessor and ALAP –ASAP and already scheduled successors Scheduling node will limit freedom of nodes in path

CALTECH CS137 Winter DeHon Example

CALTECH CS137 Winter DeHon Force-Directed If everything where scheduled, except for the target node: –examine resource usage in all timeslots allowed by precedence –place in timeslot which has least increase maximum resources

CALTECH CS137 Winter DeHon Force-Directed Problem: don’t know resource utilization during scheduling Strategy: estimate resource utilization

CALTECH CS137 Winter DeHon Force-Directed Estimate Assume a node is uniformly distributed within slack region –between earliest and latest possible schedule time Use this estimate to identify most used timeslots

CALTECH CS137 Winter DeHon Example

CALTECH CS137 Winter DeHon Force-Directed Scheduling a node will shift distribution –all of scheduled node’s cost goes into one timeslot –predecessor/successors may have freedom limited so shift their contributions Want to shift distribution to minimize maximum resource utilization

CALTECH CS137 Winter DeHon Force-Directed Algorithm ASAP/ALAP schedule to determine range of times for each node Compute estimated resource usage Pick most constrained node –Evaluate effects of placing in feasible time slots (compute forces) –Place in minimum cost slot and update estimates –Repeat until done

CALTECH CS137 Winter DeHon Time Evaluate force of putting in timeslot O(NT) –Potentially perturbing slack on net prefix/postfix for this node  N –Each node potentially in T slots Evaluate all timeslots can put in O(NT 2 ) N nodes to place O(N 2 T 2 )

CALTECH CS137 Winter DeHon List Scheduling

CALTECH CS137 Winter DeHon List Scheduling (basic algorithm flow) Keep a ready list of “available” nodes –(one whose predecessors have already been scheduled) Pick an unscheduled task and schedule on next available resource Put any tasks enabled by this one on ready list

CALTECH CS137 Winter DeHon List Scheduling Greedy heuristic How prioritize ready list? –Dominant constraint least slack (worst critical path) enables work utilize most precious resource Last time: –saw that no single priority scheme would be optimal

CALTECH CS137 Winter DeHon List Scheduling Use for –resource constrained –time-constrained give resource target and search for minimum resource set Fast: O(N)  O(Nlog(N)) depending on prioritization Simple, general How good?

CALTECH CS137 Winter DeHon Approximation Can we say how close an algorithm comes to achieving the optimal result? Technically: –If can show Heuristic(Prob)/Optimal(Prob)   prob Heuristic is an  -approximation

CALTECH CS137 Winter DeHon Scheduled Example Without Precedence time resource How bad is this schedule?

CALTECH CS137 Winter DeHon Observe Optimal length L No idle time up to start of last job to finish start time of last job <= L last job length <=L Total LS length <=2L Algorithm is within factor of 2 of optimum

CALTECH CS137 Winter DeHon Results Scheduling of identical parallel machines has a 2-approximation –I.e. we have a polynomial time algorithm which is guaranteed to achieve a result within a factor of two of the optimal solution. In fact, for precedence unconstrained there is a 4/3-approximation –(schedule Longest Processing Time first)

CALTECH CS137 Winter DeHon Recover Precedence With precedence we may have idle times, so need to generalize Work back from last completed job –two cases: entire machine busy some predecessor in critical path is running Divide into two sets –whole machine busy times –critical path chain for this operator

CALTECH CS137 Winter DeHon Precedence RB CP

CALTECH CS137 Winter DeHon Precedence Constrained All busy times < Optimal Length –Optimal Length > Resource Bound –Resource Bound > All busy This path < Optimal Length –Optimal Length > Critical Path –Critical Path >= This Path List Schedule = This path + All busy times List Schedule <= 2 *(Optimal Length)

CALTECH CS137 Winter DeHon Tighten LS schedule <= Critical Path+Resource Bound LS schedule <= Min(CP,RB)+Max(CP,RB) Optimal schedule >=Max(CP,RB) LS/Opt <= 1+Min(CP,RB)/Max(CP,RB) The more one constraint dominates –the closer the approximate solution to optimal

CALTECH CS137 Winter DeHon Tightening Example of –More information about problem –More internal variables –…allow us to state a tighter result 2-approx for any graph –Since CP may = RB Tighter approx as CP and RB diverge

CALTECH CS137 Winter DeHon Multiple Resource Previous result for homogeneous functional units For heterogeneous resources: –also a 2-approximation Lenstra+Shmoys+Tardos, Math. Programming v46p259 (not online, no precedence constraints)

CALTECH CS137 Winter DeHon Bounds Precedence case, Identical machines –no polynomial approximation algorithm can achieve better than 4/3 bound (unless P=NP) Heterogeneous machines (no precedence) –no polynomial approximation algorithm can achieve better than 3/2 bound

CALTECH CS137 Winter DeHon Other Approaches Graph Coloring –Viable with pruning ILP Annealing

CALTECH CS137 Winter DeHon Summary Heuristic approaches to schedule –Force-directed –List Scheduling We can, sometimes, bound the “badness” of a heuristic –get a tighter result based on gross properties of the problem –approximation algorithms often a viable alternative to finding optimum –play role in knowing “goodness” of solution

CALTECH CS137 Winter DeHon Today’s Big Ideas: Exploit freedom in problem to reduce costs –(slack in schedules) Technique: estimation/refinement Use dominating effects –(constrained resources) –the more an effect dominates, the “easier” the problem Technique: Approximation