heuristic optimisation methods for system partitioning in ... · heuristic optimisation methods for...

30
Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp Vienna University of Technology Institute of Communications and Radio-Frequency Engineering Dr. Bastian Knerr, Dr. Martin Holzer Christian Doppler Laboratory for Design Methodology of Signal Processing Algorithms

Upload: others

Post on 15-Jun-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

Christian Doppler Laboratory for Design Methodology of

Signal Processing Algorithms

Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design

Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp Vienna University of Technology Institute of Communications and Radio-Frequency Engineering

Dr. Bastian Knerr, Dr. Martin Holzer

Christian Doppler Laboratory for Design Methodology of

Signal Processing Algorithms

Page 2: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

2/30

Outline

•  Embedded system design

•  System partitioning •  Heterogeneous platforms •  Mapping system graphs to platforms •  Heuristic optimisation for platform mapping •  Multi-objective optimization (Area, Timing)

•  Conclusions

Page 3: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

3

Embedded system design

•  An embedded system is a computing device •  which is in general subject to a specific purpose. •  whose implementation is predominantly determined by this purpose. •  which entails a complete encapsulation into the environment where the purpose

is located at.

Automotive

Phones/PDAs

Transceiver (WIFI, WLAN, xDSL,...)

Page 4: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

4

Embedded system design

Page 5: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

5/30

Outline

•  Embedded system design

•  System partitioning •  Heterogeneous platforms •  Mapping system graphs to platforms •  Heuristic optimisation for platform mapping •  Multi-objective optimization (Area, Timing)

•  Conclusions

Page 6: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

6

Heterogeneous platforms

•  Classical HW/SW co-design platform

•  First published in 1992 •  Served well to get a first grip on (bi-)partitioning •  Recent work still uses this classical model

(Kalavade 2002, Wiangtong 2002)

•  This model does not sufficiently represent state-of-the-art platforms in embedded systems

Page 7: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

7

Heterogeneous platforms

•  Modern system-on-chip platform

•  UMTS baseband trans- ceiver chip (2003)

•  DSP+Microcontroller •  ASICs •  Busses and bridges •  RAM and registers •  Interfaces

Page 8: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

8

Heterogeneous platforms

•  Processor •  DSP •  FPGA •  ASIC

•  Communication •  Bus •  FIFO •  Direct

•  Memory

B. Knerr, M. Holzer, M. Rupp, Extending the GCLP Algorithm for HW/SW Partitioning: A Detailed Platform Model and Performance Improvements, IEEE Austrochip, Vienna, Austria, July 2006.

M. Holzer, B. Knerr, M. Rupp, Efficient Design Methods for Embedded Communications Systems, EURASIP Journal on Embedded Systems, 2006.

Contribution: Design of a modular platform library Contribution: arbitrary platform compositions

Page 9: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

9/30

Outline

•  Embedded system design

•  System partitioning •  Heterogeneous platforms •  Mapping system graphs to platforms •  Heuristic optimisation for platform mapping •  Multi-objective optimization (Area, Timing)

•  Conclusions

Page 10: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

System graph representations Process graph for UMTS signal processing

10

Mapping system graphs to platforms

Page 11: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

11

Mapping system graphs to platforms

The constrained mapping problem

Proven to be NP-hard Use heuristics

Page 12: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

12/30

Outline

•  Embedded system design

•  System partitioning •  Heterogeneous platforms •  Mapping system graphs to platforms •  Heuristic optimisation for platform mapping •  Multi-objective optimization (Area, Timing)

•  Conclusions

Page 13: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

•  Popular heuristics for system partitioning

•  Gradient search •  Simulated annealing •  Tabu search •  Kernighan-Lin min-cut •  Genetic algorithm •  Global criticality/local phase •  Restricted range exhaustive search

13

Heuristic optimisation

Page 14: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

Heuristic optimisation

Contribution : New or substantially improved methods

•  Kernighan-Lin min-cut

•  Genetic algorithm

•  Global criticality/local phase (GCLP)

•  Restricted range exhaustive search (RRES)

14

B. Knerr, M. Holzer, M. Rupp, HW/SW Partitioning Using High Level Metrics, Int. Conf. on Computing, Communications, and Control (CCCT), Austin, TX, USA, August 2004.

B. Knerr, M. Holzer, M. Rupp, Improvements of the GCLP Algorithm for HW/SW Partitioning of Task Graphs, IASTED 4th Int. Conf. on Circuits, Signals, and Systems (CSS), San Francisco, CA, USA, Nov 2006.

B. Knerr, M. Holzer, M. Rupp, Novel Genome Coding of Genetic Algorithms for the System Partitioning Problem, IEEE 2nd Int. Symposium on Industrial Embedded Systems (SIES), Lisbon, Portugal, July 2007.

B. Knerr, M. Holzer, M. Rupp, RRES: A Novel Approach to the Partitioning Problem for a Typical Subset of System Graphs, EURASIP Journal on Embedded Systems, Volume 2008, Article 259686.

Page 15: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

Contribution: •  Analysis of representative graphs for signal processing •  Identification of their specific typical properties

•  Density/Sparsity

•  Degree of parallelism

•  Avg number of parallel nodes

•  Rank-locality

Heuristic optimisation

15

Density

Page 16: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

Heuristic optimisation

•  Consider graphs with strong locality property

•  Compare GA with different genome codings

•  Randomly ordered •  Rank ordered •  Locality ordered

•  Multi-core platform

•  3 Objectives •  Area, Code, Time

16

Page 17: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

Heuristic optimisation

•  Analysed the dependency of different algorithms on graph locality

•  Comparison of GA, TS, and RRES over κ on large sparse graphs ( )

17

Page 18: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

18/30

Outline

•  Embedded system design

•  System partitioning •  Heterogeneous platforms •  Mapping system graphs to platforms •  Heuristic optimisation for platform mapping •  Multi-objective optimization (Area, Timing)

•  Conclusions

Page 19: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

19

Execution Time Estimation

• Metrics • Number of operations • Parallelism • Available resources

Page 20: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

20

Execution Time Profile

WCET BCET • Path analysis

• Best Case Execution Time (BCET) • Worst Case Execution Time (WCET) • Infeasible paths

• Condition (A < 1) && (A >= 1) cannot be fulfilled

• Narrow bounds for the execution time interval

Page 21: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

21

Comparison Synthesis/Estimation

• Benchmark algorithms • UMTS cell searching • MPEG algorithm

• Comparison with results from high level synthesis (SPARK)

• Fidelity value counts how often the relation between two estimations (E(i), E(j)) is preserved also for the real values (R(i), R(j))

• Fidelity of 100% achieved

M. Holzer, M. Rupp, Static Estimation of Execution Times for Hardware Accelerators in System-on-Chips, International Symposium on System-on-Chip 2005, Tampere, Nov. 2005.

Page 22: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

22

Area Time Trade-off (1)

Page 23: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

23

Area Time Trade-off (2)

Page 24: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

24

Multi-objective Optimization

• Minimization of a set of conflicting functions

• A decision x is Pareto optimal if there is no other decision that dominates x

• Set of Pareto optimal points is called Pareto front

• Evolutionary algorithm approach to compute Pareto front

Page 25: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

25

Evolutionary Optimisation

cycle count

area

com

ple

xity

Page 26: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

26

Pareto Front Coverage

M. Holzer, B. Knerr, M. Rupp, Design Space Exploration with Evolutionary Multi-objective Optimization, Symposium on Industrial Embedded Systems, Lisbon, 2007

• Performance measure: hyper volume indicator

• Improvement of design space coverage by 20%

cycle count

area

com

ple

xity

Page 27: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

27

Pareto Front Examples

•  Control flow graph •  10 basic blocks •  No loops •  1010 design points •  14 Pareto optimal design points

•  Control flow graph •  15 basic blocks •  2 loops •  1020 design points •  29 Pareto optimal design points

Page 28: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

28

• Formulation of the system partitioning problem for state-of-the-art embedded systems

• Design of modular platform library •  Allowing for arbitrary platform compositions •  Including board level and SoC models

• Analysis of typical graphs in digital signal processing •  Identification of specific value ranges for the graph properties

• Multi-objective optimization algorithm •  Coverage improvements of 20% increases the number of

implementation variants

Conclusions

Page 29: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

29

• Evaluation of a large variety of heuristics •  Including ES, GS, SA, TS, GA, RRES, GCLP, KL •  Analysis of the impact of system graph properties on the

algorithm‘s performance •  Identification of appropriate algorithms depending on

• Improved genome sequence for genetic algorithms •  Proposed genome sequence according to graph properties •  Cost reduction of ~50% compared to random sequence

• Proposed new algorithm (RRES) •  RRES exploits strong locality component of system graphs •  Outperforms any other algorithm on a distinct subset of system

graphs

Conclusions

Page 30: Heuristic Optimisation Methods for System Partitioning in ... · Heuristic Optimisation Methods for System Partitioning in HW/SW Co-Design Univ.Prof. Dipl.-Ing. Dr.techn. Markus Rupp

30

Thank you for your attention

Fin