A R EVISIT TO THE P RIMAL -D UAL B ASED C LOCK S KEW S CHEDULING A LGORITHM Min Ni and Seda Ogrenci Memik EECS Department, Northwestern University.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

The Primal-Dual Method: Steiner Forest TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A AA A A A AA A A.
Single Source Shortest Paths
ECE 667 Synthesis and Verification of Digital Circuits
Summary of complementary slackness: 1. If x i ≠ 0, i= 1, 2, …, n the ith dual equation is tight. 2. If equation i of the primal is not tight, y i =0. 1.
1 LP Duality Lecture 13: Feb Min-Max Theorems In bipartite graph, Maximum matching = Minimum Vertex Cover In every graph, Maximum Flow = Minimum.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
§3 Shortest Path Algorithms Given a digraph G = ( V, E ), and a cost function c( e ) for e  E( G ). The length of a path P from source to destination.
Linear Programming (LP) (Chap.29)
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
© KLMH Lienig Paper: A Unified Theory of Timing Budget Management Presented by: Hangcheng Lou Original Authors: Soheil Ghiasi, Elaheh Bozorgzadeh, Siddharth.
Sequential Timing Optimization. Long path timing constraints Data must not reach destination FF too late s i + d(i,j) + T setup  s j + P s i s j d(i,j)
1 Weighted Bipartite Matching Lecture 4: Jan Weighted Bipartite Matching Given a weighted bipartite graph, find a matching with maximum total weight.
The Out of Kilter Algorithm in Introduction The out of kilter algorithm is an example of a primal-dual algorithm. It works on both the primal.
Spring 07, Apr 10, 12 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Constraint Graph and Performance Optimization.
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Primal Dual Method Lecture 20: March 28 primaldual restricted primal restricted dual y z found x, succeed! Construct a better dual.
Chapter 9: Greedy Algorithms The Design and Analysis of Algorithms.
Duality Dual problem Duality Theorem Complementary Slackness
A general approximation technique for constrained forest problems Michael X. Goemans & David P. Williamson Presented by: Yonatan Elhanani & Yuval Cohen.
Approximation Algorithms
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
Spring 08, Mar 4, 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Constraint Graph and Performance Optimization.
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
ISM 206 Lecture 4 Duality and Sensitivity Analysis.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
More Graph Algorithms Weiss ch Exercise: MST idea from yesterday Alternative minimum spanning tree algorithm idea Idea: Look at smallest edge not.
Chapter 9: Graphs Spanning Trees Mark Allen Weiss: Data Structures and Algorithm Analysis in Java Lydia Sinapova, Simpson College.
Spring 2010, Feb 10...ELEC 7770: Advanced VLSI Design (Agrawal)1 ELEC 7770 Advanced VLSI Design Spring 2010 Constraint Graph and Retiming Solution Vishwani.
May 5, 2015Applied Discrete Mathematics Week 13: Boolean Algebra 1 Dijkstra’s Algorithm procedure Dijkstra(G: weighted connected simple graph with vertices.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Shortest Path Algorithms. Kruskal’s Algorithm We construct a set of edges A satisfying the following invariant:  A is a subset of some MST We start with.
Graph (II) Shortest path, Minimum spanning tree GGuy
Mehdi Kargar Aijun An York University, Toronto, Canada Discovering Top-k Teams of Experts with/without a Leader in Social Networks.
May 1, 2002Applied Discrete Mathematics Week 13: Graphs and Trees 1News CSEMS Scholarships for CS and Math students (US citizens only) $3,125 per year.
P ROBLEM Write an algorithm that calculates the most efficient route between two points as quickly as possible.
알고리즘 설계 및 분석 Foundations of Algorithm 유관우. Digital Media Lab. 2 Chap4. Greedy Approach Grabs data items in sequence, each time with “best” choice, without.
State space representations and search strategies - 2 Spring 2007, Juris Vīksna.
Minimum Spanning Trees CSE 373 Data Structures Lecture 21.
OR Relation between (P) & (D). OR optimal solution InfeasibleUnbounded Optimal solution OXX Infeasible X( O )O Unbounded XOX (D) (P)
Supplementary: Feasible Labels and Linear Programming  Consider the LP formulation of the shortest s-t path problem: (P) Minimize  (i, j)  A c ij x.
Static Timing Analysis - II Sushant SinghSushant Singh.
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
The minimum cost flow problem. Solving the minimum cost flow problem.
Vishwani D. Agrawal James J. Danaher Professor
Chapter 9 : Graphs Part II (Minimum Spanning Trees)
Shortest Paths and Minimum Spanning Trees
Single-Source Shortest Path
The minimum cost flow problem
Lecture 21 Primal-Dual in Algorithms
James D. Z. Ma Department of Electrical and Computer Engineering
COMP 6/4030 ALGORITHMS Prim’s Theorem 10/26/2000.
Shortest Path Problems
Minimum-Cost Spanning Tree
Analysis of Algorithms
Algorithms (2IL15) – Lecture 5 SINGLE-SOURCE SHORTEST PATHS
Minimum-Cost Spanning Tree
Minimum-Cost Spanning Tree
Autumn 2015 Lecture 10 Minimum Spanning Trees
Shortest Paths and Minimum Spanning Trees
Lecture 14 Shortest Path (cont’d) Minimum Spanning Tree
CSE 373: Data Structures and Algorithms
Autumn 2016 Lecture 10 Minimum Spanning Trees
Shortest Path Problems
Winter 2019 Lecture 10 Minimum Spanning Trees
Lecture 14 Minimum Spanning Tree (cont’d)
Lecture 13 Shortest Path (cont’d) Minimum Spanning Tree
Chapter 9: Graphs Spanning Trees
Minimum-Cost Spanning Tree
Presentation transcript:

A R EVISIT TO THE P RIMAL -D UAL B ASED C LOCK S KEW S CHEDULING A LGORITHM Min Ni and Seda Ogrenci Memik EECS Department, Northwestern University

A GENDA Introduction Related Work The Primal-Dual Algorithm The existing primal-dual approach Our enhanced implementation Experimental Results Conclusion

I NTRODUCTION The Problem of Clock Skew Scheduling constraint graph MINIMIZE P

R ELATED W ORK Existing Approaches for Solving Clock Skew Scheduling Linear programming Binary search with iterative shortest path problem O(|V||E|log( C / n )) Primal-dual based algorithm (Burns) O(|V|^2|E|)

T HE P RIMAL -D UAL A PPROACH Theory of the Primal-Dual Algorithm Complementary slackness theorem: starting from feasible solution of PRIMAL, find feasible solution of DUAL, they can be optimal if certain conditions are met. dual variables Primal variables

P RIMAL -D UAL A PPROACH The complementary slackness conditions General format: variable times constraints Starting from a feasible solution {Li, P}, if we can also find feasible solution { }to the above system of linear equations, the feasible solution is optimal. If > 0, then must be zero, those = 0 are called admissible edge.

R ESTRICTED D UAL P ROBLEM Solve the system of linear equations on only admissible edges This is equivalent to solving the following restricted dual problem If minimum is 0, then we are done. However, it is still not straightforward to solve because it is on dual variables

R ESTRICTED P RIMAL P ROBLEM Check on the Restricted Primal Problem It can be proved that this problem has an optimal solution 0 if there exists a cycle on the admissible graph G a (consisting of admissible edges only).

P RIMAL -D UAL A LGORITHM Starting from an empty admissible graph, incrementally reduce the clock period value until a cycle emerges in the admissible graph. The effect of reducing P is that more edges become admissible and those are inserted into admissible graph G a. Two main tasks in while loop: 1.Find THETA; 2.Maintain G a;

PRIMAL-DUAL BURNS IMPLEMENTATION A different strategy for maintaining the admissible graph G a and updating THETA values results in different efficiency.

A N E XAMPLE 5 iterations to find the minimum clock period P by updating admissible graph and theta value; edge becomes admissible Theta value skew

E NHANCED IMPLEMENTATION Two major sources of overhead in the existing implementation Scan through all edges (|E|) in the graph to create admissible graph G a from scratch in each iteration; Calculate theta values for all edges (|E|) in the graph and find the minimum one;

M AINTAINING ADMISSIBLE GRAPH Theorem: If exactly one minimum theta value edge ( i, j ) is added into the admissible graph G a, then G a is a forest until a cycle is generated. Add new admissible edge and remove edges becoming non- admissible; No need for calling negative cycle detection routine, maintaining a parent list instead; Complexity is |V| compared with the same step in Burns implementation |E|;

EFFICIENT CALCULATION OF THETA Similar to Dijkstras shortest path algorithm, a set of edges are maintained as candidates of shortest path tree edges; In our problem, we need to find minimum theta edge to add into G a ; In Burns implementation, all edges are scanned during each iteration; theta values are recalculated for all edges; We maintain a much smaller set of candidates in heap ; theta values are only recalculated for a subset of this small candidate set. O(logV) for maintaining the heap;

A SYMPTOTIC RUNTIME IMPROVEMENT Our implementation has an asymptotic runtime of ; while it is for Burns implementation; Very similar to the improvement from Bellman-Ford algorithm ( )to Dijikstras ( ) algorithm for shortest path problem.

E XPERIMENTAL SETUP Benchmark circuits ISCAS89 large circuit ITC99 Delay data Resynthesis in Synopsys Design Compiler (VHDL) Delay is exported from Standard Delay Format (SDF) file Comparison between Burns and ours Same graph data structure Same graph manipulating subroutines Same routine for calculating theta values

E XPERIMENTAL R ESULTS

CONCLUSIONS A much more efficient primal-dual based algorithm to improve the runtime efficiency of Burns implementation of the primal-dual algorithm Superior in both theoretical and practical runtime efficiency On average 95X speed up on 20 test circuits