fitness inheritance in evolutionary and multi-objective high-level synthesis
Post on 19-Jun-2015
663 Views
Preview:
DESCRIPTION
TRANSCRIPT
Fitness Inheritance in Evolutionary and Multi-Objective High-Level SynthesisChristian Pilato, Gianluca Palermo, Antonino Tumeo, Fabrizio Ferrandi, Donatella Sciuto, Pier Luca Lanzi
2
Pier Luca Lanzi
High Level Synthesis
“High-Level Synthesis means going from an algorithmic level specification of a behaviour of a digital system to a register level structure that implements that behavior”.McFarland, et al., Proc. IEEE, February 1990.
Behavioral specification
Design constraints
ResourceLibrary
Datapath& Controller
ObjectivesScheduling
Allocation Binding
Controller Synthesis
High-Level Synthesis tool
3
Pier Luca Lanzi
High Level Synthesis
Operation SchedulingProvides the cycle steps in which operations start their execution
Resource AllocationAssigns operations and values to hardware components, interconnects them
Controller SynthesisProvides the logic to issue datapath operations, based on the control flow
Develop polynomial-time algorithms to optimally solve each task?
We wish! Unfortunately, these problems are NP-complete
4
Pier Luca Lanzi
Motivations
All the sub-tasks are NP-complete: no efficient algorithmsInterconnection have to be considered: up to 80% of final areaAll the tasks are closely interdependentMost of the information is available only at the end of the syntesis
GuidelinesHeuristics approaches with feedback informationGenetic algorithms, reducing to single-objective (weighted average) is not efficientNSGA-II
Pier Luca Lanzi
The Proposed Methodology
Fitness is computed using a full synthesis flow
Individuals encode information to perform an
entire synthesis cycle
6
Pier Luca Lanzi
Chromosome encoding
Encodes all the information needed for synthesis computations
Allocation BindingRepresents the mapping between the operations to be performed and the functional unit where it will be executed.Partially controls final area occupationInfluences Scheduling, Register Allocation and Interconnection Allocation
Second part identified the completion algorithmsScheduling (SchedA), Register Allocation (RegA) and Interconnection Optimization (ConnA)
Allocationand binding Completion steps
7
Pier Luca Lanzi
Completion Algorithms
Scheduling (SchedA) Integer Linear ProgrammingList Based
Register Allocation (RegA)Left-edge algorithmSequential vertex coloringHeuristic clique-covering
Interconnection Optimization (ConnA) Port swapping among inputs of a functional unit (if the operation is commutative)
8
Pier Luca Lanzi
Cost function
The fitness function has two components area and time
Time(x)Estimation of the worst case execution time of solution xComputed as the longest path in the scheduled CDG+DFG
Area(x)Estimation of the area occupied by solution xPreferred an estimation rather than real values because Logic Synthesis performed with FPGA tools is slowComputed using a modified, already existing, area model.*
9
Pier Luca Lanzi
Problem independent elements
Initial populationRandomly generatedSeeded by interesting candidates
Ranking and SelectionSolution sorted in different levels according to fitness valuesRanking selection emphasize good solution pointsAccelerated using fast-non-dominated-sort of NSGA-II
10
Pier Luca Lanzi
The Genetic Algorithm
Elitist
NSGA-II applies a crowded-comparison operator
Uniform crossover Applied to the 80% of the populationMix solution bindingsMix genes that represent completion algorithms
Mutation Applied to the 10% of the populationEach gene is modified with P=0.01%Alleles are mutated to admissible valuesOperation: new bindingAlgorithm: another algorithm is choosed to perform the corresponding step
11
Pier Luca Lanzi
The Goal: Reduce Execution Time!
Even if logic synthesis is not performed, and area of the final circuit is extimated through a model, execution time for each evaluation can reach several seconds
Large examples can take hours to perform the exploration
Use fitness inheritance to reduce the number of evaluations
Substitute evaluations with inherited estimations
Two approachesEstimations based on all the individuals evaluated from the beginning of the algorithm (ancestors) Estimations based only on the individuals evaluated in the latest generation (parents)
Pier Luca Lanzi
Distance metric:
Consider only nearindividuals:
Weighted averageon different objectives:
Delta function
Normalized distance that represents diversity
Analogy with N-dim hypersphere
remembers Physics equations, with where value 1 is considered as infinite distance (individual is too different, so it has no contribution to fitness)
Fitness Inheritance Model
Two types of inheritanceBased on ancestorsBased on parents
13
Pier Luca Lanzi
Test Problems & Experimental Settings
Typical high level synthesis benchmarks
2D-DCT, RGB-to-YUV from the JPEG compression algorithmMost computationally intensive phasesRGB to YUV can be unrolled: factor x2 and x4
EWF: fifth order elliptic wave filter
Population size: 1000 individuals, evolving up to max 200 generationsTarget: Xilinx Field Programmable Gate ArraysSearching for the best area-performance trade-offs for the specific device and architecture
14
Pier Luca Lanzi
EWF (Pareto)
15
Pier Luca Lanzi
DCT (Pareto)
16
Pier Luca Lanzi
RGBtoYUVx4 (Pareto solutions with and without inheritance)
17
Pier Luca Lanzi
Overall execution time/chromosome size
18
Pier Luca Lanzi
Fitness evaluation time generation by generation (EWF)
19
Pier Luca Lanzi
Fitness evaluation time generation by generation (RGBtoYUVx4)
20
Pier Luca Lanzi
Inheritance benefits
Number of fitness function evaluations (p=0,557)
Execution time for fitness and overall execution
21
Pier Luca Lanzi
Conclusions
High level synthesis based on NSGA-II and fitness inheritance
The use of fitness inheritance No substantial decrease in the overall quality25% reduction of the execution time
Future workPopulation sizingScalability
top related