Design Space Exploration

Similar documents
Hardware/Software Codesign

Evolutionary Algorithm for Embedded System Topology Optimization. Supervisor: Prof. Dr. Martin Radetzki Author: Haowei Wang

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Hardware/Software Codesign

EE382N: Embedded System Design and Modeling

HETEROGENEOUS MULTIPROCESSOR MAPPING FOR REAL-TIME STREAMING SYSTEMS

Heuristic Optimisation

Improving Automatic Design Space Exploration by Integrating Symbolic Techniques into Multi-Objective Evolutionary Algorithms

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Multi-Objective Optimization using Evolutionary Algorithms

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

Multi-Objective Optimization using Evolutionary Algorithms

Multi-objective Optimization

INTERACTIVE MULTI-OBJECTIVE GENETIC ALGORITHMS FOR THE BUS DRIVER SCHEDULING PROBLEM

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

Escaping Local Optima: Genetic Algorithm

Comparison of Evolutionary Multiobjective Optimization with Reference Solution-Based Single-Objective Approach

Hardware-Software Codesign

BI-OBJECTIVE EVOLUTIONARY ALGORITHM FOR FLEXIBLE JOB-SHOP SCHEDULING PROBLEM. Minimizing Make Span and the Total Workload of Machines

Throughput-optimizing Compilation of Dataflow Applications for Multi-Cores using Quasi-Static Scheduling

A Multiobjective Optimization Model for Exploring Multiprocessor Mappings of Process Networks

Introduction to Optimization

Evolutionary Computation for Combinatorial Optimization

Genetic Algorithms Variations and Implementation Issues

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Sparse Matrices Reordering using Evolutionary Algorithms: A Seeded Approach

Genetic Algorithms. Kang Zheng Karl Schober

Evolutionary Computation

A computational intelligence approach to systemof-systems. optimization

Software Synthesis Trade-offs in Dataflow Representations of DSP Applications

Data Mining Chapter 8: Search and Optimization Methods Fall 2011 Ming Li Department of Computer Science and Technology Nanjing University

Evolutionary Approaches for Resilient Surveillance Management. Ruidan Li and Errin W. Fulp. U N I V E R S I T Y Department of Computer Science

Multiobjective Optimization and Evolutionary Algorithms for the Application Mapping Problem in Multiprocessor System-on-Chip Design

Introduction to Optimization

Handling Constraints in Multi-Objective GA for Embedded System Design

Computational Intelligence

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

Efficient Symbolic Multi Objective Design Space Exploration

Computational Intelligence

March 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms

MULTI-OBJECTIVE GENETIC LOCAL SEARCH ALGORITHM FOR SUPPLY CHAIN SIMULATION OPTIMISATION

A Similarity-Based Mating Scheme for Evolutionary Multiobjective Optimization

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

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

Multi-objective Optimization

DERIVATIVE-FREE OPTIMIZATION

STUDY OF MULTI-OBJECTIVE OPTIMIZATION AND ITS IMPLEMENTATION USING NSGA-II

Lamarckian Repair and Darwinian Repair in EMO Algorithms for Multiobjective 0/1 Knapsack Problems

The Genetic Algorithm for finding the maxima of single-variable functions

Standard Error Dynamic Resampling for Preference-based Evolutionary Multi-objective Optimization

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Bio-inspired Optimization and Design

Hybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2

Multi-Objective Memetic Algorithm using Pattern Search Filter Methods

Heuristic Optimisation

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Outline of the module

Non-convex Multi-objective Optimization

CHAPTER 2 CONVENTIONAL AND NON-CONVENTIONAL TECHNIQUES TO SOLVE ORPD PROBLEM

Hardware-Software Codesign

CHAPTER 6 ORTHOGONAL PARTICLE SWARM OPTIMIZATION

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Initial Population Construction for Convergence Improvement of MOEAs

Local Search. CS 486/686: Introduction to Artificial Intelligence Winter 2016

Multi-Objective Optimization Using Genetic Algorithms

Design Space Exploration Using Parameterized Cores

Applications of scenarios in early embedded system design space exploration van Stralen, P.

Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover

Efficient Hardware Acceleration on SoC- FPGA using OpenCL

A genetic algorithms approach to optimization parameter space of Geant-V prototype

Incorporation of Scalarizing Fitness Functions into Evolutionary Multiobjective Optimization Algorithms

PERFORMANCE SCALING OF MULTI-OBJECTIVE EVOLUTIONARY ALGORITHMS. Vineet Khare

Multi-objective Genetic Algorithms for Multi-depot VRP with Time Windows

Engineering design using genetic algorithms

Application of a Genetic Algorithm to a Scheduling Assignement Problem

CS348 FS Solving NP-Complete Light Up Puzzle

Regression Test Case Prioritization using Genetic Algorithm

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Combined System Synthesis and Communication Architecture Exploration for MPSoCs

GECCO 2007 Tutorial / Evolutionary Multiobjective Optimization. Eckart Zitzler ETH Zürich. weight = 750g profit = 5.

An Evolutionary Algorithm Approach to Generate Distinct Sets of Non-Dominated Solutions for Wicked Problems

Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?

Search Space Reduction for E/E-Architecture Partitioning

Toward Self-adaptive Embedded Systems: Multi-objective Hardware Evolution

Optimizing Delivery Time in Multi-Objective Vehicle Routing Problems with Time Windows

Mechanical Component Design for Multiple Objectives Using Elitist Non-Dominated Sorting GA

Heuristis for Combinatorial Optimization

Search Algorithms for Regression Test Suite Minimisation

International Conference on Computer Applications in Shipbuilding (ICCAS-2009) Shanghai, China Vol.2, pp

Algorithm Design (4) Metaheuristics

Non-deterministic Search techniques. Emma Hart

Hardware Neuronale Netzwerke - Lernen durch künstliche Evolution (?)

Scenario-based Design Space Exploration

Functional modeling style for efficient SW code generation of video codec applications

Optimization of Dynamic Data Structures in Multimedia Embedded Systems Using Evolutionary Computation

Exploration vs. Exploitation in Differential Evolution

Improving interpretability in approximative fuzzy models via multi-objective evolutionary algorithms.

Handbook of Hardware/Software Codesign Soonhoi Ha and Jürgen Teich

Dynamic Resampling for Preference-based Evolutionary Multi-Objective Optimization of Stochastic Systems

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Transcription:

Design Space Exploration SS 2012 Jun.-Prof. Dr. Christian Plessl Custom Computing University of Paderborn Version 1.1.0 2012-06-15

Overview motivation for design space exploration design space exploration using evolutionary algorithms case studies 2

Motivation challenge: many real-world synthesis problems cannot be solved optimally large search space (combinatorial explosion) metrics to be optimized can be estimated only crudely without implementation (e.g. power consumption, performance, chip area, ) no closed form solution available (e.g. because of non-linear constraints or metrics) no general definition what optimal means in the case of multiple, contradicting optimization goals 1 5 3 Allocation, Binding v RISC v bus power consumption? communication bus usage? 7 2 6 v HWM1 v ptp v HWM2 execution time? code size? 4 3

objective instead of finding one optimal solution Design Space Exploration determine many alternative solutions and their characteristics use cases present designer with choices to select from understand design trade-offs create starting points for refined designs iterative stochastic search process initialize candidates generate new solution candidates evaluate candidates update set of solutions e.g. randomly generated chose allocation and binding compute schedule and other metrics select which solution(s) to pursue further 4

Evolutionary Algorithms Basic Principles ➊ selection ➋ crossover ➌ mutation 5

minimize g(x) = x² Evolutionary Algorithms (EA) 0011 = one solution 0011 fitness = 9 fitnesscalculation selection next generation 0011 0000 0100 1011 0011 mutation crossover 6

Evolutionary Algorithms (EA) evolutionary algorithms are randomized search heuristics problem-independent (meta heuristics) population based use variation (crossover, mutation) and selection application domains when optimization problem is complex and 'diffuse' examples: system synthesis, path planning in robotics diffuse + complex multiobjective optimization several conflicting criteria, eg. performance vs. cost vs. power consumption EAs find Pareto fronts (set of Pareto points) 7

Dominance, Pareto Points definition: a (design) point J i is dominated by point J k, if J k is equal or better than J i in all criteria and better in at least one criterion. J J i k definition: a (design) point is Pareto-optimal or a Pareto point, if it is not dominated by any other point. 8

Multiobjective Optimization (1) decision space (x1, x2,, xn) minimize f objective space (y1, y2,, yk) x2 y2 dominated x1 y1 Pareto optimal = not dominated difficulties: large search space multiple optima 9

Multiobjective Optimization (2) classic single-objective methods e.g. simulated annealing, ILP, hierarchical clustering,... decision making before optimization weighted cost function multi-stage optimization e.g. hierarchical clustering with different closeness functions decision making after optimization multiple optimization runs with varying weights population-based methods evolutionary algorithms decision making after optimization the goal is to explore the design space 10

multiple objectives (y1, y2,, yk) parameters transformation Weighted Cost Function single objective y example: weighting approach y2 maximization problem (w1, w2,, wk) y = w1y1 + + wkyk y1 11

EAs for Multiobjective Optimization y2 EA operations selection recombination mutation diversity goals y1 distance 12

Fitness Assessment by Pareto Ranking fitness function: F'( J ) = = i 1.. N, J 0 : J i 1: Ji else J execution time F' (1) = 3 1 2 4 3 6 F F F F '(2) '(3) '(4) '(5) = 1 = 1 = 2 = 1 5 cost F '(6) = 0 13

Fitness Assessment by Non-dominated Sorting 1. start with set of all solutions J 2. determine set of non-dominated solutions (A 0 ) in J, assign fitness value φ 0 to these solutions 3. remove A 0 from J (J 1 = J \ A 0 ), determine set of non-dominated solutions (A 1 ) in A 0, assign fitness value φ 1 to these solutions 4. repeat until J i is empty f 2 ϕ = 3 ϕ = 2 ϕ = 1 ϕ = 0 Teich & Haubelt 2007 f 1 14

Example: Strength Pareto EA (1) save non-dominated solutions (elitism) reduce non-dominated set by means of clustering population non-dominated set assign fitness values (Pareto-based) perform binary tournament selection recombination Mutation 15

Example: Strength Pareto EA (2) clustering: reduce non-dominated set but do not destroy characteristics y2 y2 y2 clustering y1 y1 y1 group select remove 16

Example: Strength Pareto EA (3) y2 5+2 5+7 2 1 5+4 4 fitness assignment scheme: non-dominated solutions: fitness = #dominated solutions dominated solutions : fitness = #non-pareto solutions fitness of + dominators y1 lighter better than darker guidance towards Pareto-optimal set few better than many maintenance of diversity 17

Design Space Exploration with EAs individual EA selection recombination mutation allocation binding decode allocation decode binding scheduling chromosome = encoded allocation + binding design point (implementation) fitness fitness evaluation user constraints 18

Challenges encoding of (allocation+binding) simple encoding e.g. one bit per resource, one variable per binding easy to implement many infeasible partitionings encoding + repair e.g. simple encoding and modify such that for each v p V P there exists at least one v a V A with a β(v p ) = v a reduces number of infeasible partitionings generation of the initial population find a good starting point (seed) to accelerate convergence mutation and recombination operators must be defined that the whole search space can be reached 19

Case Study - Video Coder (1) 20

Case Study - Video Coder (2) 21

Case Study - Video Coder (3) frame memory dual ported frame memory block matching module input module subtract/add module DCT/IDCT module Huffman encoder output module 22

EA Design Space Exploration Tool 1 2 23

Case Study - Solution 1 INM OUTM FM RISC2 SBS 24

Case Study - Solution 2 INM OUTM DPFM HC DCTM BMM SAM SBF 25

Case Study - Code Synthesis (1) synchronous data flow graph (SDF) formalism programming model for streaming signal processing applications allows expressing coarse-grained parallelism suitable as specification for systems with parallel execution application is defined as a network of nodes and arcs nodes (actors) can execute arbitrary functions consume and produce tokens number of consumed/produced tokens is shown as a label arcs (communication channels) actor communicate via FIFO buffers 3 4 A example for an actor, reads 3 tokens on input arc and produces 4 tokens on output 26

Case Study - Code Synthesis (2) synchronous data flow graph software implementation A 1 1 2 3 2 7 8 7 5 1 CD 44.1kHz B C D E sample rate converter F DAT 48 khz decisions schedule ABABABCCABABA code generation model inlining subroutines looping B 2 3 C CODE(A) CODE(B) CODE(A) CALL(A) CALL(B) CALL(A) FOR 1 TO 2 CODE(A) CALL(B) CODE(B) CALL(B) CODE(C) CODE(C) CALL(C) CODE(A) 27

Case Study - Code Synthesis (3) may increase data memory trade-offs saves looping program memory subroutines execution time save increase 28

Case Study - Code Synthesis (4) trade-off surface for TI TMS320C40 digital signal processor 29

TI TMS320C40 DSP Case Study - Code Synthesis (5) Motorola DSP56k ADSP 2106x DSP 30

Changes 2012-06-15 (v1.1.0) updated for SS2012 2011-06-14 (v1.0.0) initial version 31