Download presentation
Presentation is loading. Please wait.
Published byGeoffrey Evans Modified over 8 years ago
1
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
2
Outline Introduction Target Architecture: MONTIUM Problem Formulation Template Generation Template Selection Experiments Conclusion Future Work
3
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
4
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
5
Introduction a CDFG Example
6
Target Architecture MONTIUM
7
Target Architecture MONTIUM (cont ’ )
8
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.
9
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}.
10
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.
11
Problem Formulation hydragraph (cont ’ )
12
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.
13
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.
14
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].
15
Problem Formulation Template 、 Match (cont ’ )
16
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
17
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.
18
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.
19
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.
20
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
21
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.
22
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.
23
Template Generation outputs of an example maxsize = 2
24
Template Generation Pseudo-Code Too long to list Find it in the attached documents
25
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.
26
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 Ĝ.
27
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.
28
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.
29
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.
30
Template Selection Conflict Graph Example MIS for T 1 : {1,3,4} MIS for T 2 : {5,7} MIS for T 3 : {8,9}
31
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
32
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;
33
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.
34
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.
35
Template Selection Example ⇨ g(T 1 ) = 4 1.2 * 3 g(T 2 ) = 4 1.2 * 2 g(T 3 ) = 4 1.2 * 2 The weight of each node is 4
36
Template Selection Cover for a 4-bit FFT
37
Experiments
38
Conclusion clustering Template generation algorithm Template selection algorithm This approach is applicable to CDFGs as well as general netlists in circuit design
39
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.