Title: Temporal Floorplanning Using the Ttree Formulation
1Temporal Floorplanning Using the T-tree
Formulation
- Ping-Hung Yuh1, Chia-Lin Yang1,
- Yao-Wen Chang2
1 Dept. of Computer Science Information
Engineering 2 Dept. of Electrical
Engineering National Taiwan University, Taiwan
2Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
3Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
4Reconfigurable System
- Reconfigurable functional unit (RFU) a device
that can be reconfigured during program
execution, say an FPGA - RFUOP (RFU operation) operations executed on RFU
RFUOP 2
RFUOP 2
RFU
5Reconfiguration Issues
- Given a set of RFUOPs
- When to load?
- How to allocate?
- There exist additional temporal ordering
requirements among RFUOPs - Need an efficient and effective topological
representation for modules - Need an efficient algorithm to find a solution to
meet our requirements
6Previous Work
- Component graph-based approach
- Teich et al. in Proc. PDPTA, 1999
- Use the graph-theoretical approach
- Assume no data dependency
- Fekete et al. in Proc. DATE, 2001
- Consider the RFUOPs ordering
- Absolute-coordinate based approach
- Bazargan et al. in IEEE Design Test of
Computers, 2000 - 2D bin-packing and 3D placer
- Topological representation based approach
- Yuh et al. in Proc. ASPDAC, 2004
- Use three transitive closure graphs (TCGs) to
represent a temporal placement
7Our Contribution
- Introduce the T-tree representation
- A T-tree is a 3-ary tree to represent a temporal
placement
na
nb
nd
nf
ne
nc
8Our Contribution (contd)
- First work to use a tree-based representation to
handle the temporal floorplanning/placement
problem - Three advantages compared with the recent
state-of-the-art representation - Faster operations (O(n) time per operation, n
of modules) - More efficient packing method
- Smaller solution space
- Consider fixed-outline floorplanning
9Temporal Floorplanning
- Given a set of tasks V, treat a task vi as a 3D
box with width (x-coordinate), height
(y-coordinate) and duration (t-coordinate) - Find a placement ?, an assignment of for each
vi , , such that no two boxes
overlap and satisfy all precedence constraints - Precedence constraint the temporal relations
among tasks to guarantee the correct execution - Optimize a predefined cost metric
- Area x Execution time (Volume)
- Wirelength
- Communication overhead
- Reconfiguration overhead
Height
Duration
Width
10Communication Overhead and Reconfiguration
Overhead
- Communication overhead
- The overhead between two data-dependent tasks
- Reconfiguration overhead
- The overhead when a task is loaded into an RFU
11Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
12The T-tree Representation
- A 3-ary tree representation for temporal
floorplanning/placement problem - The T-tree keeps the geometric information as
follows - Child j is the left child of parent i tj ti
Ti - Child k is the middle child of parent i tk
ti, yk gt yi - Child l is the right child of parent i tl ti,
yl yi
13An Example
na
nb
nd
nf
ne
nc
The corresponding T-tree
A placement
14From a Placement to a T-tree
- A placement is compacted iff no module can be
moved along its X-, Y- or T- directions to the
origin while other modules are fixed - Construct T-tree recursively based on the DFS
order
na
nb
nd
nf
ne
nc
15From a T-tree to a Placement
- The t-coordinate can be obtained from the
structure of T-tree - The original T-tree can be decomposed into
several binary trees
T-tree H1
Decompose
na
nb
nd
nf
ne
nc
16From a T-tree to a Placement (contd)
- Pack each node in one binary tree in the DFS
order - Apply the contour data structure for each binary
tree to compute the y-coordinate - Maintain a list L to store all tasks whose t- and
y-coordinates are already determined - The x-coordinate of task vi maxxk the
projections of vi and vk are overlapped on Y-T
plane the for k L
Binary trees
B1 B2 B3
1
4
5
nf
nd
6
2
ne
3
17Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
18Precedence Constraint
- To maintain the temporal orderings among tasks,
all the precedence constraints must be satisfied - If there exists a precedence constraint between
task vj and task vi, vj is guaranteed to satisfy
the precedence constraint if node nj is in the
left sub-tree of node ni
- If nj is in the left sub-tree of ni
- vj starts after vi finishes
- If nj is in the middle or right sub-tree of ni
- vj may not execute after vi
ni
nj
nj
nj
tj tj
tj tj
tj tj Ti
19Set Definition
- Each node nk is associated with two sets
- Ik set of tasks that must be executed before vk
- Ok set of tasks that must be executed after vk
- For example
ve must be executed after vb va must be executed
after vbvd must be executed before vb
Ib vdOb ve, va
20Feasibility Detection
- Use Simulated Annealing
- Perform feasibility detection after each
perturbation - If task vk violates the precedence constraint,
perform tree-reconstruction by moving node nk to
the left sub-tree of node np, with vp in has the
latest ending time in Ik - Guarantee to satisfy the precedence constraint
after each perturbation - Problem Tree-reconstruction overhead
21Tree-reconstruction Overhead Reduction
- Idea avoid the operations that will definitely
violate the precedence constraint - Derive a heuristic for operations based on two
observations
22Two Observations
- Observation 1 ne can only choose a node or a
position in nbs left sub-tree for operations to
satisfy the precedence constraint - Observation 2 nb cannot choose a node or a
position in the sub-tree rooted by ne in order
not to violate the precedence constraint
ve must be executed after vb
23Node Selection
- Number nodes in the DFS order starting from its
right child
- Each node nk is associated with two values,
DFS_down and DFS_up - DFS_down the DFS number of the nps left child
where task vp has the latest ending time in Ik - DFS_up the DFS number of node nq where task vq
has the least starting time in Ok - Heuristically choose a node in the range
DFS_down, DFS_up)
1
4
2
5
3
8
6
7
ve must be executed after vbnbs DFS_down 1
DFS_up 5nes DFS_down 5 DFS_up
9
24Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
25Fixed-outline Floorplanning
- In practice, RFU is often chosen first, and thus
the available area is fixed - Let Wf/Hf and Wp/Hp denote the width and height
of a reconfigurable device and a placement,
respectively - A feasible placement of fixed-outline
floorplanning must satisfy the outline
constraint that is, Wp Wf and Hp Hf - Two ways for handling the fixed-outline
floorplanning problem - Guide the perturbation with outline-violation
probability - Add extra penalty cost in the cost function
26Two Methods for Fixed-outline Floorplanning
- Guide the tree perturbation with
outline-violation probability p - p k/n, where k is the of outline-violated
placements in last n iterations - If p is large, increase the probability of
placing a task along the t-coordinate to fit into
the desire outline - If p is small, increase the probability of
placing a task along the x- or y- coordinate to
minimize the execution time - Modify the cost function
- Add the excessive volume into the cost function
as the penalty cost - Consider the smaller excessive volume of two
orthogonal placements
27Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
28Reachability of T-tree
- Two placements are said to be equivalent if they
have the same - Topology of T-tree
- Labeling of each node
- Orientation of each task
- Three steps to transform a T-tree H1 to another
T-tree H2 - Make H1 the same topology as H2
- Get the correct label for each node
- Get the correct orientation for each task
29Making H1 the Same Topology of H2
- Find a left-skew T-tree H0 to which both H1 and
H2 can be transformed via a series of operations,
and the operation is reversible - Transform H1 to H2 with H0 as an intermediate
solution
H2
H0
H1
30Tree Transformation Process step 1
- Recursively move the rightmost leaf to the
leftmost external position and reverse this
process - Need at most 2n-2 moves to obtain the correct
topology - Perform at most n-1 swaps to obtain the correct
labeling - Perform at most n rotations to get the correct
orientation - Theorem It needs at most 4n-3 operations to
transform a T-tree to another T-tree
Move
Move
Move
31Tree Transformation Process step 2
- Recursively move the rightmost leaf to the
leftmost external position and reverse this
process - Need at most 2n-2 moves to obtain the correct
topology - Perform at most n-1 swaps to obtain the correct
labeling - Perform at most n rotations to get the correct
orientation - Theorem It needs at most 4n-3 operations to
transform a T-tree to another T-tree
Swap
Swap
32Tree Transformation Process step 3
- Recursively move the rightmost leaf to the
leftmost external position and reverse this
process - Need at most 2n-2 moves to obtain the correct
topology - Perform at most n-1 swaps to obtain the correct
labeling - Perform at most n rotations to get the correct
orientation - Theorem It needs at most 4n-3 operations to
transform a T-tree to another T-tree
At most 3 rotations
33Tree Transformation Process
- Recursively move the rightmost leaf to the
leftmost external position and reverse this
process - Need at most 2n-2 moves to obtain the correct
topology - Perform at most n-1 swaps to obtain the correct
labeling - Perform at most n rotations to get the correct
orientation - Theorem It needs at most 4n-3 operations to
transform a T-tree to another T-tree
H1
H2
34Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Reachability of T-tree
- Experimental Results
- Conclusion
35Experimental Results
- The algorithm was implemented in C and ran on
SUN Blade 2000 - Conducted three experiments
- Volume, overhead and wirelength optimizations
with 3D-MCNC - Volume, overhead and wirelength optimizations
with 3D-GSRC - The fixed-outline experiment with 3D-n100
- Compared with 3D-subTCG (ASPDAC-2004)
- The 3D extension of Transitive Closure Graph
(TCG) - Use three transitive closure graphs (one for each
dimension) to represent a 3D placement
363D-MCNC Benchmark Statistics
- Circuits were the same as those in Yuh et al,
ASPDAC 2004
37Results on 3D-MCNC-1 Benchmarks
- Two sets of 3D-MCNC (3D-MCNC-1, 3D-MCNC-2)
benchmarks with different precedence constraints
38Results on 3D-MCNC-2 Benchmarks
T-tree can obtain smaller deadspace (15.61 vs.
12.8) in less running time
393D-GSRC Benchmark Statistics
- 3D extension of 2D GSRC benchmarks
40Results on 3D-GSRC Benchmarks
T-tree performs even better for larger circuits
41Results for Fixed-outline Floorplanning
- Adopted 3D-n100 with various outline widths and
heights
Our approach for fixed-outline floorplanning is
effective
42Resulting Placement for 3D-ami49
- Resulting placement with precedence constraints
and volume, wirelength and overhead optimization
43Outline
- Introduction
- The T-tree Formulation
- Temporal Floorplanning Algorithm
- Fixed-outline Floorplanning
- Solution Space and Reachability
- Experimental Results
- Conclusion
44Conclusion
- Presented the first tree-based representation for
temporal floorplanning/placement problem - Proposed the T-tree and demonstrated its
efficiency and effectiveness - Showed superior properties of the T-tree
- Smaller solution space
- The solution space is well-structured
- Future work
- Module sizing
- Task preemption
45Thank Youfor yourattention