Title: SystemLevel Data Format Exploration for Dynamically Allocated Data Structures
1System-Level Data Format Exploration for
Dynamically Allocated Data Structures
- Peeter Ellervee )
- Ahmed Hemani
Miguel Miranda Francky Catthoor
IMEC vzw Kapeldreef 75 3001 Leuven Belgium
ESD, KTH Electrum 229 S16440 Kista Sweden
) Currently at Tallinn Techn. Univ., Estonia
2Outline
- Motivation and related work
- Results for real-life drivers
3Implementing Data-transfer Intensive Dynamic
Applications
- Dynamically allocated data structures
- flexible descriptions of complex applications
- specialized optimization strategies needed
- Past -- applications requiring large storage
implemented in software on standard CPU - telecom network applications
- Present -- cost efficient embedded software or
hardware with custom memory organizations - real-time, power and area are crucial
4Related Work
- Foreground memory (register) allocation
- F. J. Kurdahi, et al, 1987
- D. Gajski, et al, 1992
- T. Denk, et al, 1996
- Static array-oriented versus scalar-oriented
- IMEC ATOMIUM (F. Catthoor, et al, 1998)
- Philips PHIDEO (J. Van Meerbergen, et al, 1995)
- Recent non-scalar oriented memory allocation
- MeSA -- static memory allocation(U.C.Irvine L.
Ramachandran, et al, 1994) - Horizontal and vertical array mapping(CMU H.
Schmit, et al, 1997)
5Exploration Environment
6Data Format Exploration
7Analysis Modeling Assumptions
8Collecting Dependency Cases
// structure has three // fields - f1, f2
f3 x1 p1 -gt f1 x2 p1 -gt f2 x3 p1 -gt
f3 // p2 -gt f1 f1(x1,x2,x3) p2 -gt f2
f2(x1,x2,x3) // ...
// structure has three // fields - f1, f2
f3 x1 p1 -gt f1 x2 p1 -gt f2 x3 p1 -gt
f3 // p2 -gt f1 f1(x1,x2,x3) p2 -gt f2
f2(x1,x2,x3) // ...
// structure has three // fields - f1, f2
f3 x1 p1 -gt f1 x2 p1 -gt f2 x3 p1 -gt
f3 // p2 -gt f1 f1(x1,x2,x3) p2 -gt f2
f2(x1,x2,x3) // ...
Source code
Pruned CDFG
Dependency cases
Source code
Pruned CDFG
Dependency cases
9Compatibility Graph Construction
Dependency cases
Dependency cases
Compatibility graph
Compatibility graph
10Compatibility Graph Clustering
3 reads 2 writes
3 reads 2 writes, an extra read needed to load
field f3
11Exploration Results
- OAM - Operation And Maintenance of ATM switch
12Conclusions
- Data format exploration at system-level enables
reduction in number of stored/accessed bits - significant reduction on size, bandwidth and
power! - Formal modeling and systematic exploration of
search space before detailed memory mapping - Results for four subsets from real-lifeATM cell
processing - significant reduction in memory area - up to 20
- significant reduction in memory power consumption
- up to 60
13Analysis Assumptions
- Accesses to same field are not considered
- Single execution thread all accesses can be
statically ordered on a relative time axis
- Only pairs of accesses to the same data structure
with same pointer (base address) are considered
- Only static dependency analysis
- Only data-flow chains with one access are
analyzed long dependency chains are covered by
shorter ones
14Compatibility GraphConstruction and Clustering
15Collecting Dependency Cases
16Compatibility Graph Construction
17Compatibility Graph Clustering
18Exploration Results
- Subsets from real-life ATM cell processing
applications
without formatting