300 likes | 481 Views
2. Background of the presentation. Mission: How to develop a system that uses 1 billion transistor capacity effectively in 2007-2010Maturity of design methodology:2nd guess on how NOC based systems should be developedRelated methodologies:distributed systemsparallel processing systemssystem
E N D
1. 1 Part V:A NOC Design Methodology Juha-Pekka Soininen
VTT Electronics
Oulu, Finland
2. 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. 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. 4 Design Flow Space
5. 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. 6 AoC Design Flow
7. 7 CoDesign Flow
8. 8 IP Based Design
9. 9 Software Design
10. 10 Capacity of Network on Chip
11. 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 :-)
12. 12 Application characteristics
13. 13 Network on Chip alternatives
14. 14 Network on Chip alternatives
15. 15 Network on Chip alternatives
16. 16 Network on Chip alternatives
17. 17 NOC design challenges
18. 18 Figure of Merit for NOC based systems
19. 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. 20 NOC Design Methodology
21. 21 Structural layers of NOC
22. 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
23. 23 Development of NOC based systems
24. 24 Using Design Space for NOC
25. 25 System Services 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
26. 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. 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. 28 Methods & Tools 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
29. 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