1 / 77

ENG6530 Reconfigurable Computing Systems

ENG6530 Reconfigurable Computing Systems. Design Exploration “An Architecture Exploration Framework for Embedded DSP Systems”. Outline. Problem Definition & Motivations Background Framework Overview Searching the design Space Evaluation & Validation Architecture Exploration Flow

makana
Download Presentation

ENG6530 Reconfigurable Computing Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ENG6530 Reconfigurable Computing Systems Design Exploration “An Architecture Exploration Framework for Embedded DSP Systems” ENG6530 - Design Exploration

  2. Outline • Problem Definition & Motivations • Background • Framework Overview • Searching the design Space • Evaluation & Validation • Architecture Exploration Flow • Conclusions ENG6530 - Design Exploration

  3. Design Space • The design space, is a collection of all feasible structures corresponding to a circuit specification. • The Pareto points are those points of the design space that are not dominated by others in all objectives of interest. Hence they represent the spectrum of implementations of interest to the designer. X2 (0,9) (4,6) (2,6) (0,6) (4,3) (6,0) X1 (0,0) (4,0) ENG6530 - Design Exploration

  4. Problem Definition • Architecture space exploration consists of traversing the design space and providing a spectrum of feasible non-inferior solutions, among which a designer can pick the desired implementation. • Design space exploration (DSE) refers to the activity of exploring design alternatives prior to implementation. ENG6530 - Design Exploration

  5. Challenges • Given an application (software implementation): what is the most appropriate hardware components and communication links that should be used? • The main challenge in DSE arises from the sheer size of the design space that must be explored. • Typically, a large system has millions, if not billions, of possibilities, and so enumerating every point in the design space is prohibitive. ENG6530 - Design Exploration

  6. Scheduling/Arbitration Computation Templates Communication Templates TDMA EDF Cipher FPGA proportionalshare FCFS WFQ DSP DSP RISC SDRAM dynamicfixed priority static LookUp mE Architecture # 2 Architecture # 1 Which architecture is better suited for our application? Design Space LookUp RISC EDF mE mE mE TDMA static Priority mE mE mE WFQ Cipher DSP ENG6530 - Design Exploration

  7. DSE: Objective? • Find Mi, Ci , Ii j to meet Ai of Si • The problem is formulated as a multi-objective optimization problem. Given the following choices: ENG6530 - Design Exploration

  8. Motivations • Applications are becoming more complex and require new efficient architectures. • New techniques and protocols are adapted for DSP, Medical Applications, Communication …. • The emergence of the concept of System-On-Chip (SOC) introduced many challenges for the designer. • New tools and frameworks are required to assist designers make the right choice and also estimation of the design requirements. ENG6530 - Design Exploration

  9. Design Space Exploration • What?: Rapid exploration of various architectural solutions to be implemented on reconfigurable architectures in order to select the most efficient architecture for one or several applications • When?: Take place before architectural synthesis (algorithmic specification with high level abstraction language) • How?: Estimations are based on a functional architecture model (generic, technology-independent) • Iterative exploration flowto progressively refine the architecture definition, from a coarse model to a dedicated model ENG6530 - Design Exploration

  10. Application Architecture Mapping Analysis This process takes place on several levels of abstraction. Mapping & Analysis Complete Design Space Exploration ENG6530 - Design Exploration

  11. Application Architecture Mapping Analysis Design Space Exploration Partial Design Space Exploration ENG6530 - Design Exploration

  12. The search method is used to travel systematically through the design space. • Goal: identify and select design points (from the design space) that are analyzed further by theevaluation techniques. • Different strategies: exhaustive search, random sampling, incorporating knowledge of design space (e.g., genetic algorithms), heuristic-based algorithms… Searchmethod Design space Components of system-level DSE process ENG6530 - Design Exploration

  13. Evaluation technique assess the quality of each design point selected by the search method. • The quality of solutions is measured in terms of different system metrics: packets/data processed per second, system traffic, number of each type of components actually used in the architecture… • System-level simulation and analytical methods (formal rules, mathematical formulations…) • The search method is used to travel systematically through the design space. • Goal: identify and select design points (from the design space) that are analyzed further by the evaluation techniques. • Different strategies: exhaustive search, random sampling, incorporating knowledge of design space (e.g., genetic algorithms), heuristic-based algorithms… Evaluation technique Search method System metrics Performace, power, cost… Design space Components of system-level DSE process ENG6530 - Design Exploration

  14. Evaluation technique assess the quality of each design point selected by the search method. • The quality of solutions is measured in terms of different system metrics: packets/data processed per second, system traffic, number of each type of components actually used in the architecture… • System-level simulation and analytical methods (formal rules, mathematical formulations…) Generator of system description Application model Mapping model Design points descriptions System model Evaluation technique Search method Architecture model System metrics Performace, power, cost… Design space Components of system-level DSE process ENG6530 - Design Exploration

  15. In practice, many efforts are based on ad-hoc approaches: create manually, or use customized control scripts… • Rewrite these control scripts for different DSE => labour intensive, error-prone, bottlenecks of productivity… Generator of system description Application model Mapping model Design points descriptions System model Search method Architecture model System metrics Design space Components of system-level DSE process Evaluation technique Performace, power, cost… ENG6530 - Design Exploration

  16. Methodologies ENG6530 - Design Exploration

  17. Separation of Concerns • Orthogonalizationof concerns is an important concept in architecture exploration. • Separation of concerns deals with the following • Separating application and architecture. • Separating communication and computation. • HOW and WHY? ENG6530 - Design Exploration

  18. The Y Chart Architecture Processing Units Communication ENG6530 - Design Exploration

  19. Architecture Modelling ENG6530 - Design Exploration

  20. Architecture Modelling • Hardware Description Languages (HDL) are used to model the architecture at different levels of abstractions. • Architecture Description Languages (ADL) are used to model architecture at a high level of abstraction. • Instruction Set Models are used to model the behaviour of the processor. ENG6530 - Design Exploration

  21. Application Modelling • Applications are usually specified in high level language(C, C++, JAVA, …) • Compilers and interpreters are required. • Kahn Process Networks (KPN) model the application through concurrent processes communication using FIFO, unbounded, uni-directional, point to point channels. • Finite State Machine (FSM) • Directed Flow Graph (DFG) • Query Flow Graph (QFG) • Petri Nets ENG6530 - Design Exploration

  22. Data Flow Graph ENG6530 - Design Exploration

  23. Searching the Design Space ENG6530 - Design Exploration

  24. Optimization Techniques ENG6530 - Design Exploration

  25. Traditional Approaches • Exhaustive search covers all possible solutions in the design space. • It has the cost of long search time. • Local Search covers a portion of the design space to find a local sub-optimal solution. • Advantage: short search time • Disadvantage: gets trapped in local minima • Meta Heuristics perform exploration and exploitation of the solution space • Advantage: avoids getting trapped in Local Minima • Disadvantage: Lots of Parameter Tuning ENG6530 - Design Exploration

  26. Effective MOO Search Techniques 26

  27. GA & Evolution • An oversimplified description of how evolution works in biology: • Organisms (animals or plants) produce a number of offspring which are almost, but not entirely, like themselves • Variation may be due to mutation (random changes) • Variation may be due to sexual reproduction (offspring have some characteristics from each parent, crossover) • Some of these offspring may survive to produce offspring of their own—some won’t • The “better adapted” offspring are more likely to survive • Over time, later generations become better and better adapted • Genetic algorithms use this same process to “evolve” better solutions ENG6530 - Design Exploration

  28. Evolution & Genetic Algorithms

  29. Genetic Algorithms (GA) • IDEA: • Keep a population of individuals (i.e. solutions) that are complete (or partial) solutions • Explore solution space by havingthese individuals interact and compete • interaction produces new individuals • competition eliminates weakindividuals • After multiple generations a strong individualshould be found ENG6530 - Design Exploration

  30. Solution Representation • f(x) = {MAX(x2): 0 <= x <= 32 } • Encode Solution: Just use 5 bits (1 or 0). • Generate initial population (chromosomes) • Evaluate each solution against objective.

  31. GA operators: mutation • Alter each gene independently with a probability pm • pm is called the mutation rate • Typically between 1/pop_size and 1/ chromosome_length

  32. GA Operator: Crossover • Operates on two parent chromosomes • Produces one or two children or offspring • Classical crossover occurs at 1 or 2 points: • For example: (1-point) (2-point) 1111111111 or 1111111111 X 00000000000000000000 child111100000001110000011 Child200011111110001111100

  33. Genetic Algorithm Initialize population at random Evaluate fitness of new chromosomes Good Enough? Yes Done No Select survivors (parents) based on fitness Perform crossover and mutation on parents

  34. Genetic Algorithms • Have been used extensively for Multi-Objective Optimization • Why? • It can preserve a population diversity of solutions each with different fitness (objective) values. • We can store non-dominated solutions externally in a different population (which will represent the Pareto-Optimal solutions). • They are very flexible, since adding or deleting an objective is easy. • Examples: • SPEA (1999 by Zitzler) • VEGA (1994 by Srinivas) • NSGA-I, NSGA-II (2009 by Seshadri) ENG6530 - Design Exploration

  35. Example Algorithm: SEMO Simple Evolutionary Multiobjective Optimizer • Start with a random solution • Choose parent randomly (uniform) • Produce child by variating parent • If child is not dominated then • add to population • discard all dominated • Goto 2

  36. max. y2 min. y1 An Evolutionary Algorithm in Action hypothetical trade-off front ENG6530 - Design Exploration

  37. Evaluation Techniques ENG6530 - Design Exploration

  38. Simulation Based Evaluation • Cycle Accurate Simulation of the System • Give accurate evaluation with the cost of long evaluation time. • Trace Driven Simulation • An initial program run and extracts all memory accesses and store them in a trace which is used for performance estimation. • Statistical Simulation • The statistical simulator does not execute the program in a precise order, but instead it simulates a statistical profile of the program. ENG6530 - Design Exploration

  39. Cycle Accurate Simulation • Target architecture co-simulation • combines functional and performance validation • extensive runtimes • worst case inputs ? • test case definition ? • re-targeting expensive mixed modelfunction: application structure: hardware-software architecture inputtrace outputtrace ENG6530 - Design Exploration

  40. Trace-Based Simulation • Steps: • execution trace determined by co-simulation • abstract representation using communication graph • extension of graph by actual architecture • Faster than simulation, but still based on single trace abstractgraph completetrace inputtrace functionalmodel communication architecture trace simulation estimationresults ENG6530 - Design Exploration

  41. Analytic Models • Steps: • describe computing, communication and memory resources by algebraic equations, e.g. • describe properties of input using parameters, e.g. input data rate • combine relations • Fast and simple estimation • Generally inaccurate modeling of shared resources ENG6530 - Design Exploration

  42. Analytical Model ENG6530 - Design Exploration

  43. Coverage Evaluation: Summary Timing Accuracy Cycle Accurate Simulation Trace-based simulation Dynamic analytic methods Static analytic methods Run-time ENG6530 - Design Exploration

  44. Framework Overview ENG6530 - Design Exploration

  45. Architecture Exploration ENG6530 - Design Exploration

  46. Framework Overview ENG6530 - Design Exploration

  47. Architecture Exploration Flow • Input: Application Model • Output: Near Optimal Hardware Architecture to implement the given application. • Objectives: • Maximize the performance • Minimize the power consumption • Minimize the area (resources) • Maximize the flexibility ENG6530 - Design Exploration

  48. Searching the Design Space ENG6530 - Design Exploration

  49. Mathematical & Meta-Heuristics • A meta-heuristic approach based on Genetic Algorithms andParticle Swarm Optimizationwas developed. • GA are good in exploring the Solution Space • PSO will help in fine tuning the search. • The approach targets multi-objective optimization. • The framework was verified using a set of multi-objective problems found in the literature. ENG6530 - Design Exploration

  50. Chromosome Representation • The candidate architecture is represented as a vector of integers. ENG6530 - Design Exploration

More Related