juha-pekka soininen systems on chip workshop villach, austria, 17.9.2001 1 part v: a noc design...

29
1 Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland NOCARC project

Upload: janel-whitehead

Post on 12-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

1Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Part V:A NOC Design Methodology

Juha-Pekka Soininen

VTT Electronics

Oulu, Finland

NOCARC project

Page 2: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

2Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

Page 3: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

3Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

Page 4: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

4Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Resource development

Fun

ctio

n d

evel

opm

ent

System exists

monitoring

estimation

cosimulation

benchmarking

performanceanalysis

simulation emulation

prototyping

profiling

performancesimulation

mappability estimation

synthesis

design

capacity estimation

modelling

mathematicalanalyses

workloadanalysis

complexityanalysis

System does not exist

Design Flow Space

Page 5: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

5Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

Page 6: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

6Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Resource development

Fun

ctio

n d

evel

opm

ent

Chip exists

simulation emulationprofiling synthesis

HW design

modelling

mathematicalanalyses

complexityanalysis

System does not exist

AoC Design Flow

Algorithms exists

Algorithm design

feasibility studies

changes into functionality

Page 7: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

7Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Resource development

Fun

ctio

n d

evel

opm

ent

System exists

monitoring

cosimulation

simulation emulation

prototyping

profiling

mappability estimation

synthesis

modelling

mathematicalanalyses

workloadanalysis

System does not exist

CoDesign Flow

SW/HW partitioning

capacity estimation

Page 8: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

8Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Resource development

Fun

ctio

n d

evel

opm

ent

System exists

monitoring

cosimulation

emulation

prototypingmappability estimation

modelling

mathematicalanalyses

workloadanalysis

System does not exist

IP Based Design

Architecturetemplate

estimation

IP block integration

capacity estimation

Page 9: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

9Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Resource development

Fun

ctio

n d

evel

opm

ent

System exists

SW design

modelling

System does not exist

Software Design

Computer exists

monitoring

estimation

benchmarking

prototyping

performancesimulation

Computer design

performance analysis

RTOS services

Page 10: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

10Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

10 computers

10 c

ompu

ters

Capacity of Network on Chip

Average SoC design 1 million gates1 billion transistors 250 million gates1 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

Page 11: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

11Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

“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

Page 12: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

12Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Application characteristics

NOC capacity will be shared by several simultaneous applications

NOC must be adaptable to different workload patternsDifferent applications have

very different requirement profile

Presentation

Search

Analysis

Communication

Computation

Storage

Communication

Stream-based processing

Parallel processing

tn tn+p

Real-time processing

Page 13: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

13Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Network on Chip alternatives

NOC = Network of computation and storage resources

NOC parameters: Number of resourcesTypes of resources

GPUDSPMemoryConfigurable HWCoprocessorsAny combination

Communication capability

Page 14: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

14Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Network on Chip alternatives

Regions are used to encapsulate application requirements

Parallel high-performance datapaths

WCDMA bit-stream processing

OFDM bit-stream processing

Data compression, encryption,decompression, decryption

Page 15: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

15Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Network on Chip alternatives

Memory area

Memorymanagement

Applications

DATABASENOC

Page 16: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

16Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Network on Chip alternatives

Parallel processing engine

IO

Page 17: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

17Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

NoC SoC

NOC design challenges

Physical limits -> Architecture basics -> GALS -> Communication principles

Application requirements -> Region concepts ->Heterogenuous resources types -> Multilanguageand method design flows

Overall complexity -> Architecture reuse -> Platform type of design flow

Overall complexity -> Basic control principles -> System services

Manufacturability problems -> Structured approach

Page 18: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

18Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Performance

CostVariability

SystemQuality

Capacity

Energyconsumption

Implementation

Development

ModifiabilityVolume

Flexibility

Complexity

Functionality

Modularity

Cohesion

Coupling

Configurability

Programmability

Applicability

StructuralFunctional

Control

LifetimeManufacturability

Usability

EffortTimeRisk

MaterialsLicencingProduction

ComputationStorage

CommunicationFault toleranceResult quality (accuracy)Responsiveness

ScalabilityEfficiencyUtilisation

Figure of Merit for NOC based systems

Page 19: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

19Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

Page 20: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

20Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

NOC Design Methodology

Generic backbone

NoC system

Optimised Virtual ComponentsDefinition of NOC platform

Optimised Intellectual Property

Features

Applications

Algorithms

Cores

Memories

Accelerators

Instantiation of NoC platform

Code and configuration

“Application area specific IPR”

Product area specific platform

“Product specific IPR”

Communicationstructure

Processors and hardware

Page 21: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

21Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Communication

Structural layers of NOC

Regions

Resources

Hardware units

Executables

Functions

Applications

Configuration

Product

Channels and protocols

Processors, memorires, configurable HW, logic

System control, product behaviour

Resource types, buses, IO

Region types, switches, network interfaces

RTOS, code, HW configurations

Resource management,diagnostics, applications

Execution control, functions

Network management, allocation, operation modes

Page 22: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

22Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

Communication

Regions

Resources

Hardware units

Executables

Functions

Applications

Configuration

Product

Page 23: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

23Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Development of NOC based systems

BACKBONE

PLATFORMS

SYSTEMS

Baseband platform

Database platform

Multimedia platform

High-perforrmance communication systems

High-capacity communication systems

Virtual reality games

Entertainment devices

Personal assistant

Data collectionsystems

Page 24: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

24Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

Resource development

Fun

ctio

n d

evel

opm

ent

NOC System

System does not exist

Using Design Space for NOC

Platform

Backbone

Architecturedesign

Applicationmapping

System Services

Operation principles

Communicationchannels

Non-configurable hardware

Product differentiation

Product area specialisation

Page 25: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

25Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

NOC Platform Chip

System Services

Applications

Thickness of service layers

Per

form

ance

ASIC

SW

Page 26: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

26Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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?

Page 27: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

27Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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?

Page 28: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

28Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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

Page 29: Juha-Pekka Soininen Systems on Chip Workshop Villach, Austria, 17.9.2001 1 Part V: A NOC Design Methodology Juha-Pekka Soininen VTT Electronics Oulu, Finland

29Juha-Pekka SoininenSystems on Chip WorkshopVillach, Austria, 17.9.2001

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