analyzing the mpsoc design space: the mparm environment · analyzing the mpsoc design space: the...

56
Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini DEIS University of Bologna {dbertozzi-lbenini}@deis.unibo.it

Upload: others

Post on 15-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Analyzing the MPSoC Design Space: the MPARM environment

Davide BertozziLuca Benini

DEIS University of Bologna{dbertozzi-lbenini}@deis.unibo.it

Page 2: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

A SoC Platform: Nexperia™ DVP

Scalable VLIW Media Processor:• 100 to 300+ MHz• 32-bit or 64-bit

Nexperia™

System Buses• 32-128 bit

General-purpose Scalable RISC Processor• 50 to 300+ MHz• 32-bit or 64-bit

Library of DeviceIP Blocks• Image coprocessors• DSPs• UART• 1394• USB…and more

TMTM--xxxxxxxxD$D$

I$I$

TriMedia CPUTriMedia CPU

DEVICE IP BLOCKDEVICE IP BLOCK

DEVICE IP BLOCKDEVICE IP BLOCK

DEVICE IP BLOCKDEVICE IP BLOCK

..

..

..

DVP SYSTEM SILICONPI

BU

S

MMI

DVP

MEM

OR

Y B

USDEVICE IP BLOCK

PRxxxxD$

I$

MIPS CPU

DEVICE IP BLOCK.

.

.DEVICE IP BLOCK

PI B

US

Does it look familiar?Think about TI, Motorola…

MIPS™ TriMedia™SDRAM

Page 3: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

MP-SoC DESIGN

Plenty of cores can be integratedCurrent silicon technology allows ~100sNear future allows ~1000s

Emergence of heterogeneous embedded processorsIP design reuse to increase SoC productivityOrthogonalization of communication versus computation

Standard interface sockets (OCP, VSI)Communication bottleneck

Need for system interconnect scalability and modularity

Page 4: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Interconnect delay problem

Taken from W.J. Dally presentation: Computer architecture is all about interconnect(it is now and it will be more so in 2010) HPCA Panel February 4, 2002

• Global on-chip comm. to operation delay 2:1, will be 9:1 in 2010• Latency for across chip communication: 6-10 clock cycles (50 nm)• Fraction of chip area reachable in 1 clock cycle: 0.4-1.4%

Effect on the performance of the overall design

Page 5: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Outline

MPSoC design challengesHardwareSoftware

Introduction to MPARMMPARM at work

Page 6: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

On-Chip communication: design objectivesOvercomes technology hurdles and become key differentiating factor

Low communication latencyHigh communication bandwidthLow energy consumption

Support applicationsSustainable scalabilityHigh system-level reliabilityHigh system behavior predictability

Page 7: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Communication architecturesSHARED BUS (broadcast)

Low area Poor scalabilityHigh energy consumption

SHARED BUSMASTER MASTER

SLAVE SLAVE SLAVE

MASTER

NETWORK on CHIP (reduce sharing)Scalability and modularityLow energy consumptionIncrease of design complexity

Network on ChipNetwork-on-Chip

These are extreme points ofa wide design space

Page 8: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Approach to design space analysis

Realization of meaningful points in the design spaceModelling accuracy emphasized

Performance analysis of on-chip interconnects for different:Classes of applications (computation vs communication dominated)

Software architectures (stand-alone vs OS supported appln)System configurations (cache size, memory latency, ..)

Multiprocessor SoC simulation environment (MPARM)Porting of the different SoC interconnects

Communication Architecture Design Space

Shared bus(AMBA) Advanced NoC arch.

(Xpipes)Evolutionary arch.

(STBUS)

Page 9: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Proposed NoC architecturesFrom shared busses to network-on-chip architectures

Evolutionary communication architectures Sonics MicronetworkSTBus Interconnect

More radical solutions required in the long termEarly work: Maia heterogeneous architectureTile-based architecture (Dally and Lacy)NostrumHiNoCLinkoeping SoCBUSSPINStar-connected on-chip networkAetherealProteo

Page 10: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

XPIPES: FeaturesParameterizable network building blocks

Plug-and-play composable for arbitrary network topologyDesign time tunable

Pipelined linksSource based routing

Street sign routingVery high performance switch design

Wormhole switchingMinimize buffering area while reducing latency

Standard OCP interfaceWritten in synthesizable SystemC at the cycle accurate level

Page 11: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Heterogeneous topology

SoC component specialization lead to the integration of heterogeneous cores

Ex. MPEG4 Decoder

• Non-uniform block sizes• SDRAM: communicationbottleneck

• Many neighboring coresdo not communicate

Risk of under-utilizing many tiles and linksRisk of localized congestion

On a homogeneous fabric:

Page 12: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Soft macros

LIBRARY OF DESIGN TIME TUNABLE AND COMPOSABLE SOFT MACROS

GLOBAL PARAMETERS

Flit sizeDegree of redundancy in error detecting codesAddress space of coresNumber of bits for end-to-end flow controlNumber of flit typesMax no. of hops between any two nodesNumber of packet types

Page 13: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Soft macrosLIBRARY OF DESIGN TIME

TUNABLE AND COMPOSABLE SOFT MACROS

BLOCK-SPECIFIC PARAMETERS

NETWORK INTERFACEInterface parameters (nr of data/address lines, max. burst length)Type of interface (master, slave, or both)Flit buffer size in the output portContent of routing table

SWITCHNr of I/O portsNr of virtual channelsLink buffer size

LINKNr of pipeline stages

Page 14: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Link delay bottleneck

Wire delay is serious concern for NoC LinksIf NoC “beat” is determined by worst case link delay, performance can be severely limited

Pipelined linksDelay is transformed in LatencyData introduction rate is not bound by link delay any more

Switch operation must be latency-insensitiveBuffering requirements

FLIT A FLIT B FLIT C FLIT D

Page 15: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Network interface

Open Core Protocol (OCP)End-to-end communication protocol

• pipelining• independence of request/response phase

Network protocol

IPNetwork

Interface Network

PAYLOAD HEADERTAIL

Packet

FLITFLITFLIT…FLITHeader includes:

Path across the networkSourceDestinationCommand type

Burst ID (MBurst)Packet identifier within message (ID-PACKET)Local target IP address (IP_ADDR)

Page 16: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

NI ArchitectureRequest phase

Response phase

Static packeting DP_FAST BUF_OUT

Receive response SYNCHRO

Request PhaseOCP

Response PhaseOCP

OCPMaster

Wrapper

IP (initiator)

datastream

Req_ex_datastream

Busy_dpfast

flitout

Req_ex_flitout

Busy_buffer

datastream

Req_ex_datastream

Busy_rec_response Fromnetwork

Tonetwork

Enable_new_readStart_receive_response

lutword

numSB

Only oneoutstanding

“Read”

Network interface (OCP Slave)

Page 17: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Switch architectureHighly parameterized Buffering at the outputs with virtual channel supportDeeply pipelined architectureForward control flow (ACK/NACK protocol)Distributed error detection logic

Aggregate bandwidth:64 Gbit/s (32 bit links, 500 MHz)Estimated switch area (0.10 um)0.33 mm2

Page 18: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Output port architecture

IN[0]

IN[1]

IN[2]

IN[3]

ACK/NACK

I/O matching ArbitrationMux

BufferingForward control

Output arbiter

Error detection IN[0]Error detection IN[1]Error detection IN[2]Error detection IN[3]

OUT[0]

Register arbiter

Pipeline depth 7Parameterizable # of Virtual channelsCRC-based error detection

VC FIFOs

Page 19: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Flow control

TransmissionACK and buffering

ACK/NACK propagationNACK

Memory deallocationRetransmissionGo-back-N

Page 20: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Network throughput and latency

Clock cycles

TRASMISSIONE BURST READ TRANSAZIONE COMPLETA

0

1

2

3

4

5

6

7

8

9

40 50 60 70 80 90 100 110 120

cicli di clock

rich

iest

e p

rese

nta

te

all'I

P s

lave

e r

isp

ost

a al

l'IP

mas

ter

REQUEST PHASERESPONSE PHASE

Req

u es t

s re c

e ive

d by

slav

e IP

a nd

rep l

y to

ma s

ter I

P

Clock cycles

Complete burst read transaction

10

23

NI Slave

NI master

Master IP

Slave IP

Master IP

Slave IP

7

7

7

4

4

6

10

Page 21: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Example: MPEG4 decoder Core graph representation with annotated average communication requirements

Page 22: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

NoC Floorplans

Application specific: centralized

Application specific: distributedGeneral purpose: mesh

Page 23: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Performance, area and power

Relative link utilization(customNoC/meshNoC):1.5, 1.55Relative area(meshNoC/customNoC):1.52, 1.85Relative power(meshNoC/customNoC):1.03, 1.22

Less latency and betterScalability of custom NoCs

Page 24: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Outline

MPSoC design challengesHardwareSoftware

Introduction to MPARMMPARM at work

Page 25: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Design flow and verificationT1

T2Tn

Untimed functional sim.dataflow graph specification

Inputs:•Executable specification with

explicit parallelism (e.g. task graph)•Real-time (QoS), power

constraints / objective function

Graph nodes mapping(computation, storage,

communication)Transaction-level sim.

Compilation and configurationCycle-accurate sim.

NOC

NOC

Page 26: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Middleware ArchitectureApplications

Application LibrariesCommunication (MP), IO, Synch,

Domain specific computation

APIs

Kernel servicesprocess, communication, power

management

System Calls

Device driversNetwork interface, Coprocessor & Local Memory Management

HAL Calls

HardwareMemory accesses Special instructions

Page 27: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Architecture of DD tools

Software optimizers (S2S)parallelization, DTSE, Stat-Schedule

Specification and developmentgraphical environments, CASE tools

Executable generation(cross) compiler, linker, assembler

Simulation, Debug, Profilingmpsimulator, debugger, profiler

Source code

Source code

Binary code

Tra

ces&

Stat

istic

s

MPARM

Page 28: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Outline

MPSoC design challengesHardwareSoftware

Introduction to MPARMMPARM at work

Page 29: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Architecture

SYSTEM INTERCONNECT

Core INTERRUPTCONTROLLER

AMBA or STBus or Xpipes

Core Core Core

SHARED MEM SEMAPHORESPRI MEM 1 PRI MEM 2 PRI MEM 3 PRI MEM 4

Simulation is cycle accurate(~ 62-82 Kcycles/sec with 6 cores on a Pentium4 2.2 GHz)

Page 30: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Processor core

ARM7

InterruptController

Timer

I$,D$MMU

UART

Local Bus

C++ Class (SWARM)

SystemC Module (wrapper)

external int

bus master BUS/NoC

I- and D-cache are modelledHardware blocks for OS support: timers, IntCntrl, ..ISS instantiated as a C++ class

Page 31: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Core wrapperSynchronizes the ISS with the system

Breaks the instruction execution loop on a cycle by-cycle basisChecks and updates core boundary signalsDrives the bus interfaces

It is the only core-specific simulation support block

Integration of new ISS in C++ is easyMore work for integrating C (e.g. simplescalar)

Page 32: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Simulation Accuracy

Request Grant 4-beatBurst

Cycle accurate and bus signal accurate simulation modelAccuracy of core simulation depends on ISS

Page 33: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Communication Assist in MPARM

SystemC wrapperSWARM bus

master

external intI/O, Int I/D cache

Core

DMA

Object table

BUS

bus master

BUS

DMA engine programmed by writes to its address spaceDirect support to global objects and their application-controlled transfer

Page 34: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Software EnvironmentRequires programming abstractions and run-time support Porting of a parallel RTOS: RTEMS

Includes POSIX APIsMulti-processor supportMulti-tasking supportInter-processor

synchronization and communication primitives

Hardware support for message passing:Shared memory provides hardware communication channelProcessor-dedicated interrupt slaves

Simulation time for booting a 5 processors system: 1 minute

Page 35: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Analysis toolkitSimulation control

Profiling activation/deactivation/optionsBased on pseudo-instruction (swi)

Profiling supportIn core (internal core events)In bus master (on-chip communication)New profiling capabilities can be easily programmed in C++Waveform tracking is available

Power modeling under way…

Page 36: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Outline

MPSoC design challengesHardwareSoftware

Introduction to MPARMMPARM at work

Page 37: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Traffic ModelingTraditionally used traffic models trade-off accuracy with complexity:

Stochastic traffic modelsAnalytical distributionsEasily parameterizable

Trace-based modelsHigher accuracyDoes not consider dynamic traffic-dependent effects

(e.g. inter-processor communication)Functional traffic

Traffic directly generated by running applications Requires OS support Complexity

Accuracy

Page 38: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Performance analysisWe assessed performance in presence of 3 different

communication patterns:1. Mutually dependent tasks

2. Independent tasks

3. Pipelined tasks

Synchronization pointExecution flow

Exchange of dataInter-processorcommunication

Page 39: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Arbitration PoliciesMaster #1 Master #2 Master #N

SLOT DURATIONTDMA

Master #1

Master #2

Master #4

Master #3 Master #1 Master #4Round robin

Slot reservationMaster #2 to N: Round Robin

Master #1

SLOT RESERVATION

Goal performance investigation of the arbitration algorithms underdifferent traffic patterns across the bus

Page 40: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Mutually dependent tasks

Performance metric:Execution time

A synchronization pointdoes exist

Slot reservation makesup for the asymmetricworkload of processors

TDMA inefficientlyallocates bandwidth

RTEMS bootstrap on 5 processors

Page 41: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Independent Tasks

SHARED BUS

Proc.1 Proc.2 Proc.3

Private Mem.1 Private Mem.2 Private Mem.3

Performance metric:average execution time

slot5

000-

Islo

t500

0-av

gslo

tI800

0-I

slot8

000-

avg

slot1

2000

-Islo

t120

00-a

vgro

undr

obin

tdm

a500

0td

ma8

000

tdm

a120

00

0

50000

100000

150000

200000

250000

300000

Execution Time (clock cycles)

2 Processors4 Processors6 Processors8 Processors

fastperformancedegradation

Best performance

Page 42: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Pipelined Tasks

SHARED BUS

Matrixmultiplication

1.Performance metric:

throughput2.

TDMA is surprisinglyoutperformed by

round-robin

Proc.1 Proc.2 Proc.N Output matrixFIFO QUEUE FIFO QUEUE

Matrixgeneration Matrix

multiplication

Page 43: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

TDMA PerformanceTDMA poor performance depends on hw/sw mismatch

ProducerCreates queue in priv. mem.

Writes messages into queue

Reads request msg from shared

Data written to shared

Interrupt sent to consumer

Consumer

Request msg written to shared

Interrupt sent to producer

Reads data from shared

Bus access

Bus access

Bus access

Bus access

This interactive handshake mechanism is inefficiently accommodated by a TDMA based arbitration policy

Bus access

Bus access

Bus access

Bus access

Page 44: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

HW-SW Mismatch

RTEMS:High level communication primitives

Application layer

Low level implementation

PERFORMANCE PENALTY!!!!!

Software architecture should match the underlying hardware platformto preserve and maximize system performance

Page 45: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Design space exploration

Explore & compare different OCBsIdentify key differences and performance bottlenecksCase study

AMBA vs. STBUS

Page 46: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

STbus – Shared Bus

Page 47: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

STbus – Full Crossbar

Page 48: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

STbus – Partial Crossbar

Page 49: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Comparison: bus traffic

STbus

0

10

20

30

40

50

60

70

%bus used (on all cycles) %bus used (on requestedcycles)

asm-matrixdepasm-matrixindos-matrixindos-matrixdep

AMBA bus

05

101520253035404550

%bus used (on all cycles) %bus used (on requestedcycles)

asm-matrixdepasm-matrixindos-matrixindos-matrixdep

Communication support in OSincreases significantly bus traffic(bus congestion)

Stbus achieves better bus efficiency

Page 50: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Comparison: bus latencyLatency for read accesses

STbus

05

101520253035

Averagetime forread

Maxtime forread

Min timefor read

Averagewait forread

Maxwait forread

Min waitfor read

asm-matrixdepasm-matrixindos-matrixindos-matrixdep

AMBA bus

05

10152025303540

Averagetime forread

Maxtime forread

Min timefor read

Averagewait forread

Maxwait forread

Min waitfor read

asm-matrixdepasm-matrixindos-matrixindos-matrixdep

Max time and averagetime for read have different ratios with/without OS(due to different incidence of bursts)

Stbus has lower latency

Page 51: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Comparison: performance of elementary transactions

A v e r a g e t i m e f o r r e a d

0

5

10

15

20

asm-matr ixdep

asm-matr ixind os-matr ixind os-matr ixdep

Stbus

AMBA bus

A v e r a g e t i m e f o r w r i t e

0

1

2

3

4

5

6

asm-matr ixdep asm-matr ixind os-matr ixind os-matr ixdep

Stbus

AMBA bus

Stbus is consistently faster than AMBA on all benchmarks

Page 52: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Analysis: Protocol differences

AMBA

STBUS

Page 53: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Design space exploration: cache size & miss penalty

0500000

1000000150000020000002500000300000035000004000000

execution time (cycles)

1 4 1k

8 1 4 4k

8 1 4 8k

8

memory latency and cache size

Non optimized (-O0) code

ST busAMBA BUS

• STBUS cuts execution times by 9 to 35% with respect to AMBA• A 4kB cache can bring 4 to 26% speed-ups wrt 1KB cache• Increasing memory wait states from 1 to 4 slows down execution times

from 35 to 104%

Page 54: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Design space exploration: Code optimization strength

0500000

1000000150000020000002500000300000035000004000000

execution time (cycles)

1 4 1k

8 1 4 4k

8 1 4 8k

8

memory latency and cache size

code optimization comparison (AMBA)

-O0 -O2

0

500000

1000000

1500000

2000000

2500000

3000000

execution time (cycles)

1 4 1k

8 1 4 4k

8 1 4 8k

8

memory latency and cache size

code optimization comparison (STbus)

-O0 -O2

• In the STBus case, code optimization achieves 31 to 52% lower executiontimes

Page 55: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

Summary

Paradigm shift towards MPSoCDesigning MPSoCs

Huge design spaceCommunication is criticalSoftware-related effects are dominant

Hardware/software interface bottleneck

MPARM provides a complete infrastructure for research in this area

Page 56: Analyzing the MPSoC Design Space: the MPARM environment · Analyzing the MPSoC Design Space: the MPARM environment Davide Bertozzi Luca Benini ... MMI DVP MEMORY BUS DEVICE IP BLOCK

OutlookSimulation engine

TLM of communication links for speeding up simulationModeling GALS MPSoCs (first, multiple clocks)

Hardware platformOCP+Advanced interconnect (NoC): XpipesAdvanced memory system (scratchpad)Support for DPM (shutdown, DVS, complete power modeling)New cores (PPC, StrongARM, LX, Reconfig)

Software environmentRethink communication support in OSIntegrate code optimizers (performance & power)Bridge the gap to higher level of abstraction (e.g. support for dataflow programming)