Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network...

24
1 TRIPS 10/7/06 1 Micronetwork-based Processor Microarchitectures Steve Keckler Department of Computer Sciences The University of Texas at Austin

Transcript of Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network...

Page 1: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

1TRIPS10/7/06

1

Micronetwork-based ProcessorMicroarchitectures

Steve Keckler

Department of Computer SciencesThe University of Texas at Austin

Page 2: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

2TRIPS10/7/06

2

Motivations

Limitations of monolithic processors and memories Wires, design complexity, port limits

Goal: scalable processor and memories Design complexity scalability Ability for more resources to work together

Approach Recast as distributed systems Tiles connected via a collection of networks

Micronet = microarchitectural network “Just” a network tightly integrated into processor/memory

Page 3: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

3TRIPS10/7/06

3

TRIPS Tiled and Networked Processor

SOC-like design style Individually

designed tiles 3-8 mm2 each 170M transistors

Networks Memory Operands Control

Networks enable Distributed and

scalable design Fast design cycle Configurability

DRAMcontroller

DMA

DMA

16 64KB Banks(L2 cache)

Chip-to-chip Link

DRAMcontroller

Processor 0

Processor 1 18m

m

Page 4: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

4TRIPS10/7/06

4

Outline

TRIPS architecture overview Integrated processor network (OPN)

Replaces bypass and processor/cache bus Reflection on design

Memory network (OCN) NUCA cache System interconnect Extendable to multiple chips (C2C)

Page 5: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

5TRIPS10/7/06

5

TRIPS Prototype Chip

2 TRIPS Processors 16 FPUs each Explicit Data Graph

Execution (EDGE) NUCA L2 Cache

1 MB, 16 banks On-Chip Network (OCN)

2D mesh network Replaces on-chip bus

Controllers 2 DDR SDRAM controllers 2 DMA controllers External bus controller C2C network controller

Fabricated in 130nm ASIC

PROC 0

EBC

PROC 1

OCN

SDCDMA

C2CSDCDMA

TEST PLLS

108

DDRSDRAM

108 8x39C2CLinks

44

EBI IRQ GPIO

16

CLK

DDRSDRAM

JTAG

NUCAL2

Cache

Page 6: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

6TRIPS10/7/06

6

TRIPS Tile-level Microarchitecture

TRIPS TilesG: Processor control - TLB w/ variable size pages, dispatch,

next block predict, commit

R: Register file - 32 registers x 4 threads, register forwarding

I: Instruction cache - 16KB storage per tile

D: Data cache - 8KB per tile, 256-entry load/store queue, TLB

E: Execution unit - Int/FP ALUs, 64 reservation stations

M: Memory - 64KB, configurable as L2 cache or scratchpad

N: OCN network interface - router, translation tables

DMA: Direct memory access controller

SDC: DDR SDRAM controller

EBC: External bus controller - interface to external PowerPC

C2C: Chip-to-chip network controller - 4 links to XY neighbors

Page 7: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

7TRIPS10/7/06

7

TRIPS Execution Model

i1

i2 i3

i4

i6

r3r2

Program CFG Architecture of a Block

Blo

ck A

Blo

ck B i5M

emor

y

r5PC

i6

i5 i4

i1

i3i2

r3r2r5PC

Distributed Execution

Basic block Registers

Registers

Coarse-grained program sequencing using blocksDataflow execution within one block, instructions encode communication

Spatial distribution exposed to the compiler

Page 8: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

8TRIPS10/7/06

8

TRIPS Processor Tiles and Networks

Control Networks Instruction fetch/dispatch

(GDN) Completion/commit/flush

network (GCN) Operand network

Bypass network among ALUs Register file inputs Load/store access

Memory network (OCN) I/D cache misses to L2/memory Read/write to remote memory

ED

RGI R R R

E E E

EEEE

E E E E

EEEE

D

D

D

I

I

I

I

Operand Network Links Fetch Network Links

Memory Network Links Control Network Links

Page 9: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

9TRIPS10/7/06

9

TRIPS Operand Network (OPN)

Topology 5x5 mesh network 1 cycle per hop 140 bit channels

Routing Y-X dimension order 4 entry input FIFOs Destination from

instruction targets Flow control

1 physical channel (no VCs) On-off link control Deadlock free as storage

at target is pre-allocated Lightweight and tightly

coupled to processor core Takes place of bypass bus Bisection BW 80GB/sec at

500MHz

Processor 0

Processor 1

Page 10: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

10TRIPS10/7/06

10

Obligatory Router Diagram

5x5

5x5

Page 11: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

11TRIPS10/7/06

11

Processor Architecture Influences NW

Latency critical to performance (1 cycle per hop) Simple routers, no VCs

Deadlock avoidance Easy because destination buffers pre-allocated

Y-X routing Avoid bottlenecks from RTs and to DTs

2-flit messages (sort of) Control header leads data payload by 1 cycle 110 bit payload (64-bit datum plus 40-bit address) But - separate control/data wires

Speculative header injection Can be canceled by null data flit

Network selectively flushed when block flushed

Page 12: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

12TRIPS10/7/06

12

OPN Integration to Processor Core

2 parallel networks Control (30 bits) for

routing and wakeup Data (110 bits)

Includes 40 bit addressand 64 bit operand forstore

Bypassed directly intoALU at target

Speculative injection ofcontrol packet For early wakeup at

target May require cancel on

next cycle Control/data interleaved

across operand messages Block flush includes

flushing block’s state inrouter

Router input port

ControlData

Router output port

ReservationStation

ET5

ET9

Sele

ctSe

lect

30 bits 110 bits

ADD

SUB

ADDwakeup

SUB

SUB

Page 13: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

13TRIPS10/7/06

13

Design Experience

Area - remember ASIC standard cell design 1 OPN router = 0.25mm2 in 130nm

A little larger than a 64-bit integer multiplier 25 OPN routers = 14% of processor area Area breakdown of OPN router

Static timing estimates - nominal corner5%Arbitration/routing logic

20%Crossbar75%FIFOs

1.7nsTotal367psLatch setup, clock uncertainty473psFIFO muxing187psCrossbar253psArbitration386psFIFO read

Page 14: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

14TRIPS10/7/06

14

Performance Observations

Average number of hops in network = 2 Compiler controls instruction placement

Average network latency = ~2 But can have high variance Small number of critical messages can degrade

performance

Load varies across network node and acrossapplications Depends on concurrency profile

Standard NW loads are not representative

Page 15: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

15TRIPS10/7/06

15

Highly Non-uniform Injection

Uniform in RT/DTdue to interleaving orregisters and datacache

High injection ratesin ETs near registersand data Injection rate

reflects instructionplacement

Page 16: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

16TRIPS10/7/06

16

Network Protocol Overheads

63.5%0.2%0.1%0.0%6.1%28.5%1.6%mcf

74.0%0.8%0.3%0.8%3.1%18.1%3.0%twolf

42.1%

62.7%

42.4%

44.9%

59.9%

59.4%

Other

7.5%

0.7%

3.2%

2.1%

2.6%

4%

BlockCommit

0.1%11.7%6.3%17.9%0.6%sha

7.4%

8.0%

5.4%

2.6%

4.9%

IFetch

6.0%5.6%13.8%17.7%vadd

4.1%4.9%17.2%20.3%matrix

3.2%3.8%10.0%30.6%dct8x8

0.2%12.5%5.2%16.9%bezier

2.1%9.5%6.5%13.6%a2time

BlockCompleteFanoutOPN

ContentionOPNHopsBenchmark

mcf and twolf compiled but not hand-optimized

Columns show percentage of critical path (methodology adapted from Fields, et al.)

Page 17: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

17TRIPS10/7/06

17

Operand Network Enhancements

Operand multicast Instructions have limited number of targets (2, 3, or 4) Network injects one copy per cycle Tree of instructions required for high-fanout operands Optimization we are studying

Instruction specifies bit-mask of targets Operand network replicates copies

Bulk operand movement (i.e. L/S multiple) Current architecture transmits one operand per message

Streaming data into arithmetic array is difficult Optimizations we are studying

Single load request fetches multiple operands into successivereservation stations

Saves headers and streamlines return of data

Replicating network to provide more link BW

Page 18: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

18TRIPS10/7/06

18

Topology 4x10 mesh network 1 cycle per hop 128-bit x 2 links

Routing Y-X dimension order 2 entry input FIFOs Destination memory

address Flow control

1-5 128-bit flits/msg 4 VCs for 4 priorities Wormhole routed Credit-based flow

control Pipelined credit return

Replaces memory bus Bisection BW 64

GB/sec at 500MHz

TRIPS Memory Network (OCN)

DMA

DMA

DRAMcontroller

16 64KB Banks(L2 cache)

Chip-to-chip Link

DRAMcontroller

router embedded in memory tile

network interface(router + route table)

Page 19: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

19TRIPS10/7/06

19

0

1

3

2

4

5

6

7

8

9

X

Y0 1 2 3

ReplyRequest

Pro

cess

or 0

Pro

cess

or 1

Non-Uniform L2 Cache (NUCA)

Exploit physical locality incached data

N-tile Resolves address to coordinate

M-tile or SDC if on this chip C2C controller if on another chip

Injects ld/st request on VC0 1-byte up to full cache line

M-tile performs lookup andreturns response on VC3 64KB per M-tile

Hop count depends ondestination Static NUCA Total Unloaded latency 7-22

cycles

Page 20: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

20TRIPS10/7/06

20

Network Based Memory Configuration

N-tile mechanisms Split mode to adjust cache

line address interleaving1. Interleaved across 16 tiles2. Interleaved across 8 tiles (split

cache)

16-entry translation table Indexed w/ 4 bits of PA Produces X/Y coordinate of MT

Convert cache banks toscratchpad Remap address range from one

MT to another Create new TLB entry to map

new physical region into VA space

0

1

3

2

4

5

6

7

8

9

X

Y0 1 2 3

Proc

0Pr

oc 1

Page 21: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

21TRIPS10/7/06

21

OCN Design Observations Bandwidth and Latency

Peak injection BW: 74GB/sec, but load ismuch less

Unloaded hit latency: 7-22 cycles Area

FIFO buffers: 75% of router area OCN routers/wires: 32% of L2 area, 10% of

die area Opportunity to economize design

Timing Control was the critical path for the router Timing path: 1.5ns (nominal case)

400ps: VC arbitration 427ps: crossbar arbitration 393ps: FIFO control 247ps: latch setup, skew

Page 22: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

22TRIPS10/7/06

22

Chip-to-Chip Network

0P1 3

2 4P5 7

6 8P9 11

10 12P13 15

14 16P17 19

18 20P21 23

22 24P25 27

26 28P29 31

30

Ethernet Switch

Board 0 Board 1 Board 2 Board 3 Board 4 Board 5 Board 6 Board 7

HOST PC

On-chip 4-port router for C2C mesh network 32-bit x 2 links at 1/2 core clock speed Protocol is direct extension of OCN Global memory addressing identifies target

32-bit x 2 link

Page 23: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

23TRIPS10/7/06

23

Summary

Fast dynamic networks enable: Distributed processor and memory architectures Configurability

Design experience Networks were easy to build and verify Larger than expected, but optimization possible

Future challenges Better traffic management w/out increasing latency Drive router power down to beat other network topologies How many different NWs and types of NWs are needed

TRIPS has 3 routed data networks Multiple control networks

Does it make sense to design for worst case? Better workloads for network analysis

Network interface primitives to the programmer

Page 24: Micronetwork-based Processor Microarchitecturesocin06/talks/keckler.pdf · C2C:Chip-to-chip network controller - 4 links to XY neighbors. TRIPS 7 10/7/06 TRIPS Execution Model i1

24TRIPS10/7/06

24

Acknowledgements Co-PIs: Doug Burger and Kathryn McKinley TRIPS Hardware Team

Raj Desikan, Saurabh Drolia, Madhu Sibi Govindan, DivyaGulati, Paul Gratz, Heather Hanson, Changkyu Kim, HaimingLiu, Ramdas Nagarajan, Nitya Ranganathan, KaruSankaralingam, Simha Sethumadhavan, PremkishoreShivakumar

TRIPS Software TeamKathryn McKinley, Jim Burrill, Katie Coons, Mark Gebhart,Sundeep Kushwaha, Bert Maher, Nick Nethercote, SadiaSharif, Aaron Smith, Bill Yoder

IBM Microelectronics Austin ASIC Group TRIPS Sponsors

DARPA Polymorphous Computing ArchitecturesAir Force Research LaboratoriesNational Science FoundationIBM, Intel, Sun Microsystems