A Graph Covering Algorithm for a Coarse Grain Reconfigurable System Yuanqing Guo, Gerard J.M. Smit Hajo Broersma, Paul M. Heysters Lin, Shang-Wei Embedded.

Slides:



Advertisements
Similar presentations
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.
Advertisements

Lecture 15. Graph Algorithms
Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Minimum Clique Partition Problem with Constrained Weight for Interval Graphs Jianping Li Department of Mathematics Yunnan University Jointed by M.X. Chen.
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Review Binary Search Trees Operations on Binary Search Tree
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Graphs Graphs are the most general data structures we will study in this course. A graph is a more general version of connected nodes than the tree. Both.
Graphs – Basic Concepts
Lectures on Network Flows
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Great Theoretical Ideas in Computer Science.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Chapter 4 Graphs.
Let us switch to a new topic:
Minimum Spanning Trees. Subgraph A graph G is a subgraph of graph H if –The vertices of G are a subset of the vertices of H, and –The edges of G are a.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Graph Coloring.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
C o n f i d e n t i a l HOME NEXT Subject Name: Data Structure Using C Unit Title: Graphs.
GRAPH Learning Outcomes Students should be able to:
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Directed graphs Definition. A directed graph (or digraph) is a pair (V, E), where V is a finite non-empty set of vertices, and E is a set of ordered pairs.
Fixed Parameter Complexity Algorithms and Networks.
Hungarian Algorithm Vida Movahedi Elderlab, York University June 2007.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Sets.
A Clustering Algorithm based on Graph Connectivity Balakrishna Thiagarajan Computer Science and Engineering State University of New York at Buffalo.
Combinatorial Algorithms Reference Text: Kreher and Stinson.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
1 CS104 : Discrete Structures Chapter V Graph Theory.
Approximation Algorithms
Indian Institute of Technology Kharagpur PALLAB DASGUPTA Graph Theory: Introduction Pallab Dasgupta, Professor, Dept. of Computer Sc. and Engineering,
V Spanning Trees Spanning Trees v Minimum Spanning Trees Minimum Spanning Trees v Kruskal’s Algorithm v Example Example v Planar Graphs Planar Graphs v.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Chapter 1 Fundamental Concepts Introduction to Graph Theory Douglas B. West July 11, 2002.
COSC 2007 Data Structures II Chapter 14 Graphs I.
Complete Graphs A complete graph is one where there is an edge between every two nodes A C B G.
WK15. Vertex Cover and Approximation Algorithm By Lin, Jr-Shiun Choi, Jae Sung.
Instructor Neelima Gupta Table of Contents Class NP Class NPC Approximation Algorithms.
Graph Theory and Applications
Variations of the Prize- Collecting Steiner Tree Problem Olena Chapovska and Abraham P. Punnen Networks 2006 Reporter: Cheng-Chung Li 2006/08/28.
Graphs Upon completion you will be able to:
Introduction to Graph Theory
Chapter 9: Graphs.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Lecture 19 Minimal Spanning Trees CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Introduction to NP Instructor: Neelima Gupta 1.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
Subject Four Graphs Data Structures. What is a graph? A data structure that consists of a set of nodes (vertices) and a set of edges that relate the nodes.
Fundamental Graph Theory (Lecture 1) Lectured by Hung-Lin Fu 傅 恆 霖 Department of Applied Mathematics National Chiao Tung University.
Special Graphs By: Sandeep Tuli Astt. Prof. CSE.
The Taxi Scheduling Problem
3.3 Applications of Maximum Flow and Minimum Cut
ICS 353: Design and Analysis of Algorithms
Autumn 2015 Lecture 11 Minimum Spanning Trees (Part II)
Graphs Chapter 11 Objectives Upon completion you will be able to:
Graph Coloring.
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Survey on Coverage Problems in Wireless Sensor Networks
Locality In Distributed Graph Algorithms
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

A Graph Covering Algorithm for a Coarse Grain Reconfigurable System Yuanqing Guo, Gerard J.M. Smit Hajo Broersma, Paul M. Heysters Lin, Shang-Wei Embedded System Lab CSIE CCU

Outline Introduction Target Architecture: MONTIUM Problem Formulation Template Generation Template Selection Experiments Conclusion Future Work

Introduction Heterogeneous SoC CHAMELEON/GECKO project General-purpose processor (i.e. ARM core) Fine-grained part (FPGA tiles) Course-grained part (MONTIUM tiles) FFT FIR Linear Interpolation

Introduction Heterogeneous SoC (cont ’ ) Control Data Flow Graph (CDFG) Clustering phase: graph covering algorithm the primitive operations are partitioned into clusters, such that each cluster can be executed by a MONTIUM-tile within one clock cycle

Introduction a CDFG Example

Target Architecture MONTIUM

Target Architecture MONTIUM (cont ’ )

Problem Formulation hydragraph A hydragraph G = (N G,P G,A G ) consists of two finite non-empty sets of nodes N G and ports P G and a set A G of so-called hydra-arcs. A hydra-arc a = (t a, H a ) has one tail t ∈ N G ∪ P G and a non-empty set of heads H a ⊂ N G ∪ P G.

Problem Formulation hydragraph (cont ’ ) Two distinct nodes u and v from are called neighbors if there exits a hydra- arc (t, H) with {u, v } ⊂ H ∪ {t }. These nodes are called connected within a hydragraph G if there exits a sequence of u 0, …,u k of nodes from N G such that u 0 = u, u k = v, and u i and u i+1 are neighbors for all i ∈ {0, …, k-1}.

Problem Formulation hydragraph (cont ’ ) If u and v are connected within G, then the smallest k for which such a sequence exists is called the distance of u and v within the hydragraph G, denoted by Dis(u,v|G). The distance is 0, if u = v. A hydragraph G is called connected if all pairs of distinct elements from N G are connected within G.

Problem Formulation hydragraph (cont ’ )

Problem Formulation Template 、 Match Let S ⊂ N G be a non-empty connected set of nodes of the hydragraph G. Then S generates a connected hydragraph in the following two natural ways.

Problem Formulation Template 、 Match (cont ’ ) For every v ∈ S, consider the two types of hydra-arcs of G related to v : (t v, H v ), so hydra-arcs with tail v If H ⊄ S, we introduce a new port p v and replace (t v, H v ) by (t v, (H v ∩ S) ∪ {p v }); otherwise, we keep (t v,H v ) as it is. (t u, H u ) with v ∈ H u, so hydra-arcs for which v is one of the heads If t u ∉ S, we introduce a new port t u ’, and replace (t u, H u ) by (t u ’, H u ∩ S); otherwise we keep (t u,H u ) as it is.

Problem Formulation Template 、 Match (cont ’ ) Doing so for all hydra-arcs, e.g. starting from the source in S, we obtain a unique hydragraph which we will refer to as template generated by S in G. We denote it by T G [S] and say that S is a match of the template T G [S].

Problem Formulation Template 、 Match (cont ’ )

Problem Formulation Isomorphic Two hydragraphs G and F are said to be isomorphic if there is bijection Φ: N G ∪ P G ⇨ N F ∪ P F such that : Φ(N G ) = N F Φ(P G ) = P F (t v, H v ) ∈ A G iff (Φ(t v ),Φ(H v )) ∈ A F Denoted G ≅ F

Problem Formulation Isomorphic (cont ’ ) We say that S ’ ⊂ N G is a match for the template T G [S], if T G [S] ≅ T G [S]. A hydragraph H is a template of the hydragraph G if, for some S ⊂ N G, T G [S] ≅ H.

Problem Formulation k-titling 、 k-cover (cont ’ ) We say that a collection (T 1, …, T k ) of hydragraph is a k-tiling of the hydragraph G if there exists a partition of N G into mutually disjoint sets S 1, …, S k such that T G [S i ] ≅ T i for all i ∈ {1, …, k} We call S 1, …, S k a k-cover of G.

Problem Formulation (k, l)-tiling 、 (k, l)-cover A (k, l)-tiling is a k-tiling in which at most l non-isomorphic hydragraphs appear. Similarly, we define a (k, l)-cover.

Problem Formulation after Reducing Hydragraph Covering Problem Given a CDFG G, find an optimal (k, l)-cover S 1, …, S k of G Template Generation Problem Template Selection Problem

Template Generation Objective For convenience let us call a template (a match) an i-template (an i-match) if the number of its nodes is i. Find all non-isomorphic i-templates with 1 ≤ i ≤ maxsize for some predefined value maxsize depending on the application, and their corresponding matches from G.

Template Generation Algorithm Generate a set of connected i-matches by adding a neighbor node to the (i-1)-matches. For all i-matches, consider their generated i- templates. Choose the set of non-isomorphic i-templates and list all matches of each of them. Starting with the 1-templates, repeat the above steps until all templates and matches up to maxsize nodes have been generated.

Template Generation outputs of an example maxsize = 2

Template Generation Pseudo-Code Too long to list Find it in the attached documents

Template Selection Objective Given G, Ω= {T 1, T 2, …,T p } and the matches M(Ω), the objective is to find a subset C of the set M(Ω) that forms a “ good ” cover of G. Here by “ good ” cover we mean a (k, l)- cover with minimum k and l.

Template Selection Conflict Graph Conflict graph A conflict graph is an undirected graph Ĝ = {V, E }. Each match S ∈ M(Ω) for a template of the CDFG G is represented by a vertex v s in the conflict graph Ĝ. If two matches S 1 and S 2 have one or more nodes in common, there will be an edge between the two corresponding vertices v s1 and v s2 in the conflict graph Ĝ.

Template Selection Conflict Graph (cont ’ ) Conflict graph The weight w(v s ) of a conflict graph vertex v s is the number of CDFG nodes |S| within the corresponding match S.

Template Selection MIS MIS Stands for “ Maximum independent Set ”. The MIS for a subset T ⊂ V(Ĝ) is defined as the largest subset of vertices within T that are mutually nonadjacent. There might exist more than one MIS of T.

Template Selection MNOMS MNOMS Stands for “ Maximum non-overlapping match set ” Corresponding to each MIS for T on Ĝ, there exists a set of node-disjoint matches in G for the template corresponding to T; we call this set of matches a MONMS.

Template Selection Conflict Graph Example MIS for T 1 : {1,3,4} MIS for T 2 : {5,7} MIS for T 3 : {8,9}

Template Selection Objective Function For each template T, an objective function g is defined by g(T) = g(w, s), where w is the weight of each vertex s is the size of an approximate solution for a MIS within the subset corresponding to T on the conflict graph. g(T) = g(w, s) = w 1.2 * s = w * s * w 0.2

Template Selection Algorithm 1.Cover C = Φ ; 2.Build the conflict graph; 3.Find a MIS for each group on the conflict graph; 4.Compute the value of objective function for each template;

Template Selection Algorithm (cont ’ ) 5.The T with the largest value of objective function is the selected template. It ’ s MIS is the selected MIS. The MNOMS corresponding to the MIS are put into C.

Template Selection Algorithm (cont ’ ) 6.On the conflict graph, delete the neighbor vertices of the selected MIS, and then delete the selected MIS; 7.Can C cover CDFG totally? If no, go back to 3; if yes, end the program.

Template Selection Example ⇨ g(T 1 ) = * 3 g(T 2 ) = * 2 g(T 3 ) = * 2 The weight of each node is 4

Template Selection Cover for a 4-bit FFT

Experiments

Conclusion clustering Template generation algorithm Template selection algorithm This approach is applicable to CDFGs as well as general netlists in circuit design

Future Work Test more CDFGs Improve the template selection algorithm by manipulating and optimizing the objective function Schedule the solutions on the ALU- architecture in as few clock cycles as possible