Building an Elastic Buffer

advertisement

Elastic-Buffer Flow-Control for On-Chip Networks

George Michelogiannakis,

James Balfour, William J. Dally

Computer Systems Laboratory

Stanford University

Edited by: Abhay Bhopat

Background

 Buffer

 Elastic Buffer

 Elastic Buffer design

2

Introduction

 Elastic-buffer (EB) flow-control uses the channels as distributed FIFOs

• Input buffers at routers are not needed

 Can provide 12% more throughput per unit power

 Reduces router cycle time by 18%

• Compared to VC routers

3

Outline

 Building elastic-buffered channels

• By using what is already there

 Router microarchitecture

 Deadlock avoidance

 Load-sensing for adaptive routing

 Evaluation

4

The Idea

 Use the network channels as distributed FIFOs

 Use that storage instead of input buffers at routers

• To remove input buffer area and power costs

Pipelined channel

Channel as FIFO

5

Building an Elastic Buffer

 To build an EB in a pipelined channel with master-slave flip-flops (FFs):

 Use latches for storage by driving their enables independently

Elastic buffer

Master-slave FF

6

Expanded view of EB control logic

7

How Elastic Buffer Channels Work

 Ready/valid handshake between elastic buffers

• Ready: At least one free storage slot

• Valid: Non-empty (driving valid data)

8

Control Logic Area Overhead

 Control logic is implemented as a four-state FSM with 10 gates and 2 FFs

• Cost is amortized over channel width

 Example: control logic increases area of a 64-bit channel by 5%

9

Outline

 Building elastic-buffered channels

 Router microarchitecture

• Use EB flow-control through the router

 Deadlock avoidance

 Load-sensing for adaptive routing

 Evaluation

10

Use EB Flow-Control Through the Router

VC input-buffered router

Three-slot output

LA routing also applicable to EB networks.

advance.

EB router

11

Topology

2D 4x4 FBFly

12

Separate routers for networks

13

Outline

 Building elastic-buffered channels

 Router microarchitecture

 Deadlock avoidance

• How to provide isolation without VCs

 Load-sensing for adaptive routing

 Evaluation

14

Deadlock Avoidance: Duplicate Channels

 No input buffers no virtual channels

 Three types of possible deadlocks:

1. Protocol deadlock

2. Cyclic flit dependency in network

 Solution: Duplicate physical channels

15

Deadlock Avoidance: No Interleaving

3. Interleaving deadlock

• New head flits require destination registers

• Occupied destination registers depend on tail flits

• Tail flits cannot bypass the new head flit

 Solution: Disallow packet interleaving

16

Duplicating Channels Between Routers

 Duplicate channels with neckdown

• Small improvement (still one switch port), large cost

 Duplicate channels with duplicate switch ports

• Excessive cost (switch quadratic cost)

17

Dividing Into Sub-Networks More Efficient

 Divide into sub-networks

• Double bandwidth, double the cost

• However, when narrowing datapath down to normalize for throughput or power more beneficial

• Again, due to switch quadratic cost

18

Outline

 Building elastic-buffered channels

 Router microarchitecture

 Deadlock avoidance

 Load-sensing for adaptive routing

• Propose a load metric for EB networks

 Evaluation

19

Congestion metrics

 Blocked Cycles

 Blocked Ratio

 Output Occupancy

 Channel Occupancy

 Channel Delay

20

Output Channel Occupancy Load Metric

 Flit-buffered networks use credit count

 EB networks measure output channel occupancy

• At a certain segment of the output channel (shown in red)

• Occupancy decremented when flits leave that segment

• Incremented by a packet’s length when routing decision is made. Packets see other decisions in same cycle

21

Outline

 Building elastic-buffered channels

 Router microarchitecture

 Deadlock avoidance

 Load-sensing for adaptive routing

 Evaluation

• Compare throughput, power, area, latency, cycle time

22

Evaluation Methodology

 Used a modified version

 Area/power estimations from a 65nm library

• Input buffers modeled as SRAM cells

• Throughput/power optimal # of VCs and buffer depth

• Two sub-networks: request and reply

 Averaged over a set of 6 traffic patterns

 Constant packet size (512 bits)

 Swept channel width from 28 to 192 bits

23

Throughput-Power Gains in 2D Mesh

Throughput gain

EB network improvement:

Same power: 10% increased throughput

Same throughput: 12% reduced power

24

Throughput-Area Gains in 2D Mesh

2% improvement for EB networks

25

Latency-Throughput in 2D Mesh

Zero-load latency equal

26

Power Breakdown: No Input Buffer Power

EBN

VC-Buff

0

Mesh low-swing power breakdown (2% packet injection rate)

0.2

0.4

0.6

Output clock

Output FF

Crossbar control

Crossbar power

Input buffer write

Input buffer read

Channel FF

Channel clock

Channel traversal

0.8

(W)

27

Area Breakdown: No Input Buffer Area

Low-swing mesh area breakdown

1.2

1.0

0.8

0.6

0.4

0.2

0.0

( mm 2 )

VC-Buff EBN

Channel Switch Input Output

28

Router RTL Implementation

 No buffers, VCs, allocators, credits

• VC router had look-ahead routing

 Buffers: FF arrays. 2 VCs, 8 slots each

45nm, LP-CMOS, worst-case

Mesh 5x5 routers. DOR. 64-bit datapath

Aspect

Area (μm 2 )

Clock (ns)

Power (mW)

VC router

63,515

3.3

2.59

EB router

14,730

2.7

0.12

Savings

77%

18%

95%

29

Conclusions

 EB flow-control uses channels as distributed FIFOs

• Removes input buffers from routers

• Uses duplicate physical channels instead of VCs

 Increases throughput per unit power up to 12% for low-swing

• Depends on what fraction of the overall cost input buffers constitute

 Reduces router cycle time by 18%

 Flow-control choice depends on design parameters and priorities

30

Thanks for your attention

Questions?

Download