Module R R RRR R RRRRR RR R R R R Efficient Link Capacity and QoS Design for Wormhole Network-on-Chip Zvika Guz, Isask ’ har Walter, Evgeny Bolotin, Israel Cidon, Ran Ginosar and Avinoam Kolodny Technion, Israel Institute of Technology
DATE ’ 06NoC Capacity Allocation2 Problem Essence How much capacity [bits/sec] should be assigned to each link? -All flows must meet delay requirements -Minimize total resources R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation3 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -Capacity allocation algorithm Design examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation4 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -capacity allocation algorithm Design examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation5 IP1 Interface IP2 Wormhole Switching Interface Suits on chip interconnect Small number of buffers Low latency Virtual Channels -interleaving packets on the same link
DATE ’ 06NoC Capacity Allocation6 Wormhole Switching Suits on chip interconnect Small number of buffers Low latency Virtual Channels -interleaving packets on the same link IP1 Interface IP3 IP2 Interface
DATE ’ 06NoC Capacity Allocation7 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -Capacity allocation algorithm Design examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation8 Module NoC Design Flow Define inter- module traffic Place modules Allocate link capacities Verify QoS and cost R R RRR R RRRRR RR R R R RRR R RRRRR RR RRRR RR R RR R R R R
DATE ’ 06NoC Capacity Allocation9 Module R R RRR R RRRRR RR R R R R NoC Design Flow Module R R RRR R RRRRR RR R R R R Define inter- module traffic Place modules Allocate link capacities Verify QoS and cost Too low capacity results in poor QoS Too high capacity wastes power/area Module R R RRR R RRRRR RR R R R R R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation10 Capacity Allocation Problem Simulation takes too long a simulation based solution is not scalable If no simulations are used: -How to extract flows ’ delays? -How to reassign capacity? Our solution: -Analytical model to forecast QoS -Capacity allocation algorithm that exploit the model
DATE ’ 06NoC Capacity Allocation11 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -Capacity allocation algorithm Design examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation12 Delay Analysis s1s1 d2d2 s2s2 d1d1 R R RRR R RRRRR RR R R R R Approximate per-flow latencies Given: -Network topology -Link capacities -Communication demands
DATE ’ 06NoC Capacity Allocation13 Because they assume: -Symmetrical communication demands -No virtual channels -Identical link capacity! Generally, they calculate the delay of an “ average flow ” -A per-flow analysis is needed Why Previous Models Do Not Apply?
DATE ’ 06NoC Capacity Allocation14 IP1 Interface IP2 Interface Wormhole Delay Analysis The delivery resembles a pipeline pass Packet transmission can be divided into two separated phases: -Path acquisition -Packet delivery We focus on packet delivery phase
DATE ’ 06NoC Capacity Allocation15 IP1 Interface IP2 Interface Packet delivery time is dominated by the slowest link -Transmission rate -Link sharing Packet Delivery Time Low-capacity link
DATE ’ 06NoC Capacity Allocation16 IP1 Interface IP2 Packet Delivery Time Packet delivery time is dominated by the slowest link -Transmission rate -Link sharing IP3
DATE ’ 06NoC Capacity Allocation17 Analysis Basics Determines the flow ’ s effective bandwidth Per link Account for interleaving tt
DATE ’ 06NoC Capacity Allocation18 - mean time to deliver a flit of flow i over link j [sec] - capacity of link j [bits per sec] - flit length [bits/flit] - total flit injection rate of all flows sharing link j except for flow i [flits/sec] Single Hop Flow, no Sharing t
DATE ’ 06NoC Capacity Allocation19 - mean time to deliver a flit of flow i over link j [sec] - capacity of link j [bits per sec] - flit length [bits/flit] - total flit injection rate of all flows sharing link j except for flow i [flits/sec] Bandwidth used by other flows on link j Single Hop Flow, with Sharing tt
DATE ’ 06NoC Capacity Allocation20 The Convoy Effect Consider inter-link dependencies -Wormhole backpressure -Traffic jams down the road Link Load Account for all subsequent hops Basic delay weighted by distance
DATE ’ 06NoC Capacity Allocation21 Weakest link dominates packet delivery time Total Packet Transmission Time - mean packet latency for flow i [sec] Packet size [flits/packet] Account for weakest link = - mean packet latency for flow i [sec]
DATE ’ 06NoC Capacity Allocation22 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -Capacity allocation algorithm Design examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation23 Greedy, iterative algorithm Capacity Allocation Algorithm For each src-dst pair: Use delay model to identify most sensitive link Increase its capacity Repeat until delay requirements are met
DATE ’ 06NoC Capacity Allocation24 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -Capacity allocation algorithm Design examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 0625 Capacity Allocation – Example#1 Before optimization After optimization Total capacity reduced by 7% Uniform traffic with identical requirements Uniform allocation: 74.4Gbit/sec Capacity allocation algorithm: 69Gbit/sec
DATE ’ 0626 After optimization Before optimization Capacity Allocation – Example#2 A SoC-like system -Heterogeneous traffic demands and delay requirements Uniform allocation: 41.8Gbit/sec Total capacity reduced by 30% Capacity allocation algorithm: 28.7Gbit/sec
DATE ’ 06NoC Capacity Allocation27 Outline Wormhole based NoC The problem of link capacity allocation Solution: -Wormhole delay model -Capacity allocation algorithm Design Examples Summary Module R R RRR R RRRRR RR R R R R
DATE ’ 06NoC Capacity Allocation28 Summary SoCs need non uniform link capacities -Capacity allocation Wormhole delay analysis -Heterogeneous link capacities -Heterogeneous communication demands -Multiple VCs Greedy allocation algorithm Design examples -NoC cost considerably reduced
DATE ’ 06NoC Capacity Allocation29 Questions? QNoC Research Group Group Research QNoC
DATE ’ 06NoC Capacity Allocation30 Backup
DATE ’ 06NoC Capacity Allocation31 Grid topology Packet-switched Wormhole switching Fixed path XY routing Heterogeneous link capacities Quality-of-Service QNoC Architecture Module R R R R RR R R R RRRRR RRRRR RRRRR R Router Link E. Bolotin, I. Cidon, R. Ginosar, A. Kolodny, “ QoS Architecture and Design Process for Cost-Effective Network on Chip ”, Journal of Systems Architecture, 2004
DATE ’ 06NoC Capacity Allocation32 Analysis and Simulation vs. Load Normalized Delay Utilization Analytical model was validated using simulations -Different link capacities -Different communication demands Analysis Validation
DATE ’ 06NoC Capacity Allocation33 Slack Elimination Packet Delay Slack Slack [%] Flow