EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …

Slides:



Advertisements
Similar presentations
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25.
Advertisements

Artificial Intelligence Presentation
CALTECH CS137 Fall DeHon 1 CS137: Electronic Design Automation Day 19: November 21, 2005 Scheduling Introduction.
ECE 667 Synthesis and Verification of Digital Circuits
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.
Branch & Bound Algorithms
Winter 2005ICS 252-Intro to Computer Design ICS 252 Introduction to Computer Design Lecture 5-Scheudling Algorithms Winter 2005 Eli Bozorgzadeh Computer.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 10: RC Principles: Software (3/4) Prof. Sherief Reda.
RUN: Optimal Multiprocessor Real-Time Scheduling via Reduction to Uniprocessor Paul Regnier † George Lima † Ernesto Massa † Greg Levin ‡ Scott Brandt ‡
Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.
Martha Garcia.  Goals of Static Process Scheduling  Types of Static Process Scheduling  Future Research  References.
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
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
Penn ESE Fall DeHon 1 ESE (ESE534): Computer Organization Day 19: March 26, 2007 Retime 1: Transformations.
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)
EDA (CS286.5b) Day 3 Clustering (LUT Map and Delay) N.B. no lecture Thursday.
EDA (CS286.5b) Day 14 Routing (Pathfind, netflow).
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
EDA (CS286.5b) Day 7 Placement (Simulated Annealing) Assignment #1 due Friday.
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 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)
Iterative Flattening in Cumulative Scheduling. Cumulative Scheduling Problem Set of Jobs Each job consists of a sequence of activities Each activity has.
EDA (CS286.5b) Day 18 Retiming. Today Retiming –cycle time (clock period) –C-slow –initial states –register minimization.
Network Aware Resource Allocation in Distributed Clouds.
Efficient and Scalable Computation of the Energy and Makespan Pareto Front for Heterogeneous Computing Systems Kyle M. Tarplee 1, Ryan Friese 1, Anthony.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 12: February 13, 2002 Scheduling Heuristics and Approximation.
1 Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis Yang Chang, Robert Davis and Andy Wellings Real-time Systems Research Group University.
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.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 7: February 3, 2002 Retiming.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
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 13: March 1, 2003 Scheduling Introduction.
Introduction to Multiple-multicast Routing Chu-Fu Wang.
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.
1 Chapter 5 Branch-and-bound Framework and Its Applications.
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.
Basic Project Scheduling
Basic Project Scheduling
CS137: Electronic Design Automation
CS137: Electronic Design Automation
Greedy Algorithms / Interval Scheduling Yin Tat Lee
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
ESE535: Electronic Design Automation
Integrated Systems Centre © Giovanni De Micheli – All rights reserved
Topic 15 Job Shop Scheduling.
ICS 252 Introduction to Computer Design
CS137: Electronic Design Automation
Reconfigurable Computing (EN2911X, Fall07)
CS137: Electronic Design Automation
Presentation transcript:

EDA (CS286.5b) Day 11 Scheduling (List, Force, Approximation) N.B. no class Thursday (FPGA) …

Today Scheduling –List-Scheduling –Force-Directed –Approximation Algorithms Assignment #2 –recursive partitioning for energy minimization

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

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

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

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

Example

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

Force-Directed Problem is don’t know resource utilization during scheduling Strategy: estimate resource utilization

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

Example

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

Example

Force-Directed 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

Time Evaluate force of putting in timeslot O(NT) Evaluate all timeslots can put in O(NT 2 ) N nodes to place O(N 2 T 2 )

List Scheduling 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

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

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?

Approximation Can we say how close an algorithm comes to achieving the optimal result?

Without Precedence time resource

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

Terminology 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)

Recover Precedence 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

Precedence schedule picture

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 <= 2 *(Optimal Length)

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

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

Bounds No precedence case –no polynomial approximation algorithm can achieve better than 4/3 bound Precedence case –no polynomial approximation algorithm can achieve better than 3/2 bound

Other Approaches Graph Coloring ILP Annealing

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

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

Assignment #2 Observation: –Energy in wires –Switching probability varies among nets Hypothesis: an important part of minimizing energy is to localize highly active notes

Dominant Power XC4003A data from Eric Kusse (UCB MS 1997)

Assignment #2 Goal: Recursively partition netlist minimizing energy Model: –E=  Activity*(fixed+F(distance))) –F(distance)=  C(part_size) –(pull out fixed as unchanging)

Cost Example E=A*(C(L1)+C(L2)+ C(L3)+C(L4)+ C(L3)+C(L2)+ C(L1))

Provided Parse/represent netlist Read activities Represent technology (cost at level) Represent partitions Calculate spectral partitions (io based) Calculate cost of partition Sample netlists

Your Task Devise/implement an algorithm to develop recursive partition –class: FM, maxflow, spectral, simulated annealing...

Example Show sample use of existing framework...