1 / 29

Part V: A NOC Design Methodology

Part V: A NOC Design Methodology. Juha-Pekka Soininen VTT Electronics Oulu, Finland. NOCARC project. Background of the presentation. Mission: How to develop a system that uses 1 billion transistor capacity effectively in 2007-2010 Maturity of design methodology:

khan
Télécharger la présentation

Part V: A NOC Design Methodology

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. Part V:A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland NOCARC project

  2. Background of the presentation • Mission: • How to develop a system that uses 1 billion transistor capacity effectively in 2007-2010 • Maturity of design methodology: • 2nd guess on how NOC based systems should be developed • Related methodologies: • distributed systems • parallel processing systems • systems on chip and ASIC design

  3. Outline • Existing design flows • NOC concept • Capacity considerations • Application characteristics • NOC design challenges • NOC design methodology • NOC layers • Development flow • System services • Architecture design problems • Application development problems • Conclusions

  4. Design Flow Space profiling simulation synthesis emulation System exists monitoring workloadanalysis design cosimulation prototyping mappability estimation Function development complexityanalysis estimation capacity estimation mathematicalanalyses performanceanalysis performancesimulation modelling benchmarking System does not exist Resource development

  5. Extremely short introduction to existing design flows • Algorithm on Chip (AoC) • ASIC design flow • FPGA design flow • System on Chip (SoC) • Codesign flow • IP based design flow • Platform based design flow (Resources on Chip, RoC) • Configuration design flow • Software design flow

  6. AoC Design Flow Algorithms exists profiling simulation synthesis emulation Chip exists HW design changes into functionality Algorithm design complexityanalysis Function development feasibility studies mathematicalanalyses modelling System does not exist Resource development

  7. CoDesign Flow profiling simulation synthesis emulation System exists monitoring workloadanalysis cosimulation prototyping SW/HW partitioning mappability estimation Function development capacity estimation mathematicalanalyses modelling System does not exist Resource development

  8. IP Based Design emulation System exists monitoring workloadanalysis cosimulation prototyping mappability estimation Function development capacity estimation estimation mathematicalanalyses Architecture template IP block integration modelling System does not exist Resource development

  9. Software Design System exists monitoring prototyping SW design Function development performance analysis estimation performancesimulation RTOS services modelling Computer design benchmarking System does not exist Computer exists Resource development

  10. Capacity of Network on Chip Average SoC design  1 million gates 1 billion transistors  250 million gates 1 NoC > 200 SoCs 1 GHz clock with RISC computer  1000 MIPS performance 1 NOC capacity  100-10000 GIPS Applicability of capacity is limited by communication 10 computers 10 computers

  11. “Applications” for NOC • Multistandard terminal • Next generation base station • Simulation of human brain • Virtual reality creation • Telepresence • Holodeck (Star Trek) • Purpose of Life (Hitch Hikers Guide to Galaxy) • Simulation of universe • Commercial operating system :-) Piece of cake Realistic applications Maybe not even for NOC Real challenges for every archtitecture

  12. Application characteristics NOC capacity will be shared by several simultaneous applications NOC must be adaptable to different workload patterns Different applications have very different requirement profile Stream-based processing tn tn+p Parallel processing Real-time processing

  13. Network on Chip alternatives NOC = Network of computation and storage resources NOC parameters: Number of resources Types of resources GPU DSP Memory Configurable HW Coprocessors Any combination Communication capability

  14. Network on Chip alternatives Regions are used to encapsulate application requirements Parallel high-performance datapaths Data compression, encryption, decompression, decryption OFDM bit-stream processing WCDMA bit-stream processing

  15. Network on Chip alternatives Memory management DATABASE NOC Memory area Applications

  16. Network on Chip alternatives Parallel processing engine IO

  17. NOC design challenges Physical limits -> Architecture basics -> GALS -> Communication principles Application requirements -> Region concepts -> Heterogenuous resources types -> Multilanguage and method design flows Overall complexity -> Architecture reuse -> Platform type of design flow Overall complexity -> Basic control principles -> System services Manufacturability problems -> Structured approach NoC SoC

  18. Performance Variability Cost Figure of Merit for NOC based systems Scalability Efficiency Computation Energy consumption Utilisation Storage Fault tolerance Capacity Communication Result quality (accuracy) Functionality Responsiveness Materials Structural Licencing Functional System Quality Production Control Implementation Complexity Development Effort Time Flexibility Modifiability Volume Risk Applicability Coupling Lifetime Cohesion Configurability Manufacturability Programmability Modularity Usability

  19. Basic requirements for NOC design methodology • Reuse • of intellectual property blocks • best performance/energy ratio • best mapping to application characteristics • Reuse • of hardware (and architecture) • best complexity/cost and performance/cost ratio • only way to even dream of achieving time-to-profit requirements • Reuse • of design methods and tools • only way to deal with heterogenuous application set

  20. NOC Design Methodology Cores Communication structure Memories Accelerators Optimised Virtual Components Definition of NOC platform Generic backbone “Application area specific IPR” Processors and hardware Algorithms Applications Product area specific platform Instantiation of NoC platform Features “Product specific IPR” Code and configuration Optimised Intellectual Property NoC system

  21. Structural layers of NOC System control, product behaviour Product Network management, allocation, operation modes Configuration Applications Resource management,diagnostics, applications Functions Execution control, functions Executables RTOS, code, HW configurations Hardware units Processors, memorires, configurable HW, logic Resources Resource types, buses, IO Regions Region types, switches, network interfaces Communication Channels and protocols

  22. Logical layers of NOC • Backbone • Communication resources • Basic set of system services • Architecture design methods and tools • Platform • Computation and storage resources • System services • Application design methods and tools • System • Functionality of computation(code, configuration) • Control (OS, NetOS) • Validation and verification support Product Configuration Applications Functions Executables Hardware units Resources Regions Communication

  23. Development of NOC based systems High-perforrmance communication systems High-capacity communication systems Baseband platform Personal assistant Database platform Data collection systems BACKBONE Multimedia platform Entertainment devices PLATFORMS Virtual reality games SYSTEMS

  24. Using Design Space for NOC Communication channels Non-configurable hardware NOC System Product differentiation Application mapping Function development Architecturedesign Platform Backbone System Services Operation principles Product area specialisation System does not exist Resource development

  25. Purpose to hide implementation details from application developer Execution services Communication, resource allocation and conversion services Control services Power management, reconfiguration, load migration, fault detection and recovery, data collection and analysis Development support services Language interfacing, compilers, libraries, optimisations, debugging, testing, validation, etc. System services are part of backbone and platform Applications System Services NOC Platform Chip System Services ASIC Performance SW Thickness of service layers

  26. NOC Platform development • Scaling problem • How big NOC is needed? What are the application area requirements? • Region definition problem • What kind of regions are needed? What kind of interfaces between regions? What are the capacity requirements for the regions? • Resource design problem • What is needed inside resources? Internal computation type and internal communication? • Application mapping flow problem • What kind of languages, models and tools must be supported? How to validate and test the final products?

  27. NOC Application Development • Mapping problem • How to partition applications for NOC resources? How to allocate functionality effectively? Is the performance adequate? Is the resource usage in balance? • Optimisation problem • How to perform global optimisation of heterogenuous applications? How to define right optimisation targets? How to utilise application/resource type specific tools? • Validation problem • Are the contraints met? Are the communication bottlenecks or power consumption hot spots? How to simulate 10000 GIPS system? How to test all applications?

  28. Analysis of applications (characterisation) analysis of complexity, computation type, communication requirement, storage, etc. for scaling, region and resource type selection, and application mapping Different abstraction levels: workload model, application model, execution model Validation of decisions network simulations at various abstraction levels (effects of mapping) Estimation of quality characteristics global vs. local optimisation of the system SW architecture vs. HW architecture computation vs. engine Development support virtual execution platforms for application developers integration of existing design tools for resource level design Methods & Tools

  29. Conclusions • Development of NOC systems will be a huge effort • reuse in all levels is a must • reuse of architecture, hardware and software in product • reuse of different languages, methods, tools and practices during development • Backbone, platform, system based design methodology apporach • provides variability and performance • Analysis, decision, estimation and validation methods are the cornerstones of NOC development • complexity, functionality, workload vs. capacity, performance, efficiency

More Related