Networks on Chip. on-chip interconnect: physical. Kees Goossens. Kees Goossens Eindhoven University of Technology 1

Similar documents
Trends in Embedded System Design

Mode-Controlled Dataflow Modeling of Real-Time Memory Controllers

4. Networks. in parallel computers. Advances in Computer Architecture

Kees Goossens Electronic Systems TM 3218 PPMA TPBC T-PIC MBS AICP1 AICP2 VMPG VIP1 VIP2 MSP1 MSP2 MSP3 S S R W M S M S M S M S M S M S

Interconnection Networks

Network-on-chip (NOC) Topologies

INTERCONNECTION NETWORKS LECTURE 4

Lecture: Interconnection Networks

Lecture 26: Interconnects. James C. Hoe Department of ECE Carnegie Mellon University

Interconnection Networks: Topology. Prof. Natalie Enright Jerger

Lecture 28: Networks & Interconnect Architectural Issues Professor Randy H. Katz Computer Science 252 Spring 1996

Lecture 12: Interconnection Networks. Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E)

Networks. Distributed Systems. Philipp Kupferschmied. Universität Karlsruhe, System Architecture Group. May 6th, 2009

Interconnection Network

Lecture 3: Flow-Control

ECE 551 System on Chip Design

SoC Design Lecture 13: NoC (Network-on-Chip) Department of Computer Engineering Sharif University of Technology

Embedded Systems: Hardware Components (part II) Todor Stefanov

Lecture 7: Flow Control - I

Lecture 13: Interconnection Networks. Topics: lots of background, recent innovations for power and performance

Topologies. Maurizio Palesi. Maurizio Palesi 1

CMSC 611: Advanced. Interconnection Networks

Basic Low Level Concepts

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

Applying the Benefits of Network on a Chip Architecture to FPGA System Design

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Informal Quiz #01: SOLUTIONS

Communication Performance in Network-on-Chips

416 Distributed Systems. Networks review; Day 1 of 2 Jan 5 + 8, 2018

TDT Appendix E Interconnection Networks

Routing Algorithm. How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus)

Interconnection Networks

Networking interview questions

Topologies. Maurizio Palesi. Maurizio Palesi 1

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Lecture 3: Topology - II

Flow Control can be viewed as a problem of

Routing Algorithms. Review

BlueGene/L. Computer Science, University of Warwick. Source: IBM

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Interconnection topologies (cont.) [ ] In meshes and hypercubes, the average distance increases with the dth root of N.

Lecture 3: Modulation & Layering"

Interconnect Technology and Computational Speed

Next Steps Spring 2011 Lecture #18. Multi-hop Networks. Network Reliability. Have: digital point-to-point. Want: many interconnected points

Communication has significant impact on application performance. Interconnection networks therefore have a vital role in cluster systems.

Buses. Maurizio Palesi. Maurizio Palesi 1

Lecture 2: Topology - I

Lecture 24: Interconnection Networks. Topics: topologies, routing, deadlocks, flow control

Communication Services for Networks on Chip

Recall: The Routing problem: Local decisions. Recall: Multidimensional Meshes and Tori. Properties of Routing Algorithms

Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies. Admin

Real Time NoC Based Pipelined Architectonics With Efficient TDM Schema

NOC: Networks on Chip SoC Interconnection Structures

CS575 Parallel Processing

Network on Chip Architecture: An Overview

Topology basics. Constraints and measures. Butterfly networks.

Multiprocessor Interconnection Networks

SHARED MEMORY VS DISTRIBUTED MEMORY

Advanced Computer Networks. Flow Control

Lecture: Transactional Memory, Networks. Topics: TM implementations, on-chip networks

Lecture 12: Interconnection Networks. Topics: dimension/arity, routing, deadlock, flow control

2. System Interconnect Fabric for Memory-Mapped Interfaces

A VERIOG-HDL IMPLEMENTATION OF VIRTUAL CHANNELS IN A NETWORK-ON-CHIP ROUTER. A Thesis SUNGHO PARK

OSI Model. Teran Subasinghe MBCS, Bsc.(Hons) in Computer Science - University of Greenwich, UK

Interconnection Network. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

EECS 570. Lecture 19 Interconnects: Flow Control. Winter 2018 Subhankar Pal

EE/CSCI 451: Parallel and Distributed Computation

CS 856 Latency in Communication Systems

Transport protocols Introduction

VLSI D E S. Siddhardha Pottepalem

ECE 4750 Computer Architecture, Fall 2017 T06 Fundamental Network Concepts

NT1210 Introduction to Networking. Unit 10

Introductions. Computer Networking Lecture 01. January 16, HKU SPACE Community College. HKU SPACE CC CN Lecture 01 1/36

Part 5: Link Layer Technologies. CSE 3461: Introduction to Computer Networking Reading: Chapter 5, Kurose and Ross

Announcements. No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Reminder: Datalink Functions Computer Networking. Datalink Architectures

ECE 650 Systems Programming & Engineering. Spring 2018

No book chapter for this topic! Slides are posted online as usual Homework: Will be posted online Due 12/6

Digital Communication Networks

A closer look at network structure:

FPGA based Design of Low Power Reconfigurable Router for Network on Chip (NoC)

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

Networking and Internetworking 1

Implementing Flexible Interconnect Topologies for Machine Learning Acceleration

The Nostrum Network on Chip

Asynchronous on-chip Communication: Explorations on the Intel PXA27x Peripheral Bus

1: Review Of Semester Provide an overview of encapsulation.

Introduction to Networks and the Internet

Interconnection Network

Physical Organization of Parallel Platforms. Alexandre David

Interconnection networks

Lecture 2 Parallel Programming Platforms

Cisco Cisco Certified Network Associate (CCNA)

Achieving Lightweight Multicast in Asynchronous Networks-on-Chip Using Local Speculation

Links. CS125 - mylinks 1 1/22/14

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 20: Networks and Distributed Systems

Efficient Throughput-Guarantees for Latency-Sensitive Networks-On-Chip

Transcription:

<k.g.w.goossens@tue.nl> 1 Networks on Chip Kees Goossens Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty on-chip interconnect: physical Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty

<k.g.w.goossens@tue.nl> 2 on-chip interconnect 2 essentially a plane of transistors with planes of wires on top, known as metal layers wiring plane 1 transistor plane on-chip interconnect 3 essentially a plane of transistors with planes of wires on top, known as metal layers wiring plane 1 transistor plane

<k.g.w.goossens@tue.nl> 3 on-chip interconnect 4 essentially a plane of transistors with planes of wires on top, known as metal layers transistor plane wiring plane 2 wiring plane 1 on-chip interconnect: PowerPC 5

<k.g.w.goossens@tue.nl> 4 physical aspects 6 essentially a plane of transistors with multiple planes of wires on top, known as metal layers usually, in a single plane, wires travel either in the or in the Y direction transistors and the wires in different planes are connected with vertical wires, known as vias there are several kilometers of wire on a 1x1 cm chip! physical view 7 via fat wire thin wire

<k.g.w.goossens@tue.nl> 5 cross section 8 fat long wire (length-ways) fat long wire (cross section) via thin short wire (length-ways) cross section 9 M8 M7 M6 M5 M4 M3 M2 M1 [source: Intel]

<k.g.w.goossens@tue.nl> 6 IBM air gap technology [source: IBM] 10 physical aspects 11 ratio length:diameter determines the speed of the wire (assuming a signal must arrive at the destination in a single clock cycle) for local/close communication use thin short wires for remote/global communication use fat long wires in long wires the signal needs to be amplified to compensate for resistance losses, using buffers (e.g. inverters) (we ignore effects between multiple wires such as cross talk)

<k.g.w.goossens@tue.nl> 7 physical aspects (within one process generation) 12 wires are more limited than gates intuitively, number of transistors increases quadratically (area) but the number of wires into the area increases only linearly (border) as a result, connecting transistors (routing) increases chip area because gates must be spaced further apart moreover, long wires additionally require buffers, which use space in the transistor plane, and vias, which use space in the wiring planes some blocks have many (global) inputs and outputs e.g. memory controller gives rise to wire congestion (many wires converging on one place) increasing chip area physical aspects (over process generations) 13 from one process generation to the next (Moore s law) transistors get smaller and faster [4] wires get thinner, and slower this is not an issue for local wires [3] that get shorter but long global wires [1,2] become relatively slower than transistors NB exponential scale 1 2 3 4

<k.g.w.goossens@tue.nl> 8 physical aspects (over process generations) 14 distance that can be covered in a single clock cycle reduces with newer process generations computation is cheap communication is not! à à below 100nm isochronous zones are smaller than 2x2 mm 2 [DeMan] physical aspects (over process generations) 15 problems long global wires become relatively slower than transistors distance that can be covered in a single clock cycle reduces with newer process generations solution do not reduce the size of global wires (they remain as fast as in previous process generations) drawback get more transistors but keep same number of global wires i.e. (global) communication becomes relatively more expensive

<k.g.w.goossens@tue.nl> 9 on-chip interconnect: logical Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty logical concepts 17 connect up blocks directly initiator, target fixed timing vs. flexible timing: hand shake connect up blocks, with an interconnect master, slave communication types streaming data memory-mapped communication

<k.g.w.goossens@tue.nl> 10 connecting two blocks directly 18 without hand shake 1. initiator puts data on the data wires work if the blocks are in the same clock domain and if the transmission schedule is static data i t connecting two blocks directly 19 with hand shake 1. initiator puts data on the data wires 2. and indicates to the target when data is 3. the target uses the data 4. and indicates to the initiator that he has used (ed) the data required if the blocks are not in the same clock domain, or if the transmission schedule is not static data i t

<k.g.w.goossens@tue.nl> 11 connecting blocks using an interconnect 20 master = first initiator slave = final target likely to have multiple masters and multiple slaves that can address each other i0 t0 i0 t0 interconnect i1 t1 i1 t1 masters: e.g. CPUs streaming blocks slaves: e.g. memories, memory controllers streaming blocks communication types 1. direct (-) streaming discussed before: master to slave; only requires writing 21 direction of data i0 t0 i1 t1 M1 M2 i0 t0 interconnect i1 t1 1 memory

<k.g.w.goossens@tue.nl> 12 communication types 1. direct (-) streaming discussed before: master to slave; only requires writing 2. communication via shared memory (vast majority) more complex: master 1 to slave & master 2 to slave requires reading & writing direction of data 22 M1 M2 i0 t0 i0 t0 interconnect i1 t1 i1 t1 1 memory real-life example a single external shared memory 23 shared memory communication M P4450 M Memory Controller TM32 M M TM32 DC-EC DC-CT M-GIC M-C CLOCK GLOBAL EET TM1-DBG TM2-DBG UAT1 UAT2 UAT3 EJTAG BOOT M M M-DC PMA-MON PMA-EC PMA-AB M PCI/IO DE IIC1 IIC2 IIC3 UB MC1 MC2 M-Gate C-Bridge PMA DC-EC VMPG DVDD EDMA VLD QVCP2 MB1 MB2 QTN QVCP1 V1 V2 VPK TDMA T-DC TM1-C TM1-GIC TM2-C TM2-GIC M DC-CT DENC PDIO AIO1 AIO2 AIO3 GPIO TUNNEL MP1 MP2 streaming communication

<k.g.w.goossens@tue.nl> 13 shared-memory communication 24 master 1 writes data in a memory master 2 reads data from a memory ignore synchronisation (buffer under/overflow) require more complex transactions cmd signal groups command group read, write,... address, flags, write data group data, mask / strobe,... read data group data, errors, acknowledgements,... independent / handshake per signal group i wdata rdata t distributed-shared-memory communication 25 logical address space is distributed over one or more memories often different memory types M memory on-chip 0x0000-0x1FFF AM (usually) DAM (sometimes) M interconnect memory memory on-chip 0x2000-0x3FFF off-chip 0x4000-0xFFFF DAM flash etc.

<k.g.w.goossens@tue.nl> 14 current on-chip interconnects Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty (abstract) interconnect implementations 27 AM AI, NP DTL multiple masters split, pipelined concurrent, request access to the slave M M D A D M D A decoder arbiter

<k.g.w.goossens@tue.nl> 15 (abstract) interconnect implementations 28 AM AI, NP DTL multiple masters split, pipelined concurrent, request access to the slave M A D broadcast response to all masters attached to one slave response arbiter for responses decoder for responses at master M M A A D D decoder arbiter (abstract) interconnect implementations 29 AM AI, NP DTL multiple masters split, pipelined concurrent, request access to the slave masters can concurrently access different slaves maximum performance split, pipelined, concurrent M M M A A A D D D D D A A D decoder arbiter

<k.g.w.goossens@tue.nl> 16 logical interconnect problems 30 many wires ~200 per port cmd wdata rdata i t logical interconnect problems 31 many wires ~200 per port long wires running from master to slave and vice versa under-utilised wires e.g. address and write data wires restrictions in timing older protocols used fixed timing, instead of / handshake not scalable essentially, with N masters communicating to M slaves, requires NxM switch with wide links M M decoder + arbiter

<k.g.w.goossens@tue.nl> 17 super computers 32 have the same problems... IBM Bluegene on-chip networks: concepts and introduction Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty

<k.g.w.goossens@tue.nl> 18 interconnect problems 34 physical to avoid long global wires becoming relatively slower than transistors we don t reduce their size they become more expensive instead logical wires are not used efficiently broadcast unused signal groups restrictive timing / protocol features transistors (computation) are cheap wires (communication) are not! network on chip 35 a NOC should offer minimisation & efficient use of global wires flexibility (programmable) modularity & re-use scalability fundamental network concepts share wires protocol layering

<k.g.w.goossens@tue.nl> 19 wire sharing 36 NOC interconnects and can be seen 1. either as a large partial switch as system grows = 2. or as a collection of small switches as system grows full switch is (almost always) overkill share wires between different communications wire sharing 37 wires can be shared because wires are active only ~10% of the time share wires to increase utilisation i.e. (statistical) multiplexing on a single communication on multiple communications in different program phases etc. increase wire efficiency fewer wires result in lower global wiring congestion easier timing closure

<k.g.w.goossens@tue.nl> 20 wire sharing: on one communication 38 a single port between two blocks contains many wires, most of which are not active simultaneously e.g. serialise the command & write data groups on a request group cmd request first send command then wdata wdata response rdata i t i t wire sharing: on multiple communications 39 similarly, not all blocks communicate at the same time cmd cmd cmd 1 i wdata rdata t cmd interconnect i wdata rdata t cmd 1 i wdata rdata t cmd interconnect cmd wdata rdata first send command & wdata of 1 then of 2 2 wdata wdata wdata 2 i t rdata rdata rdata i t i t i t

<k.g.w.goossens@tue.nl> 21 wire sharing: on multiple communications 40 multiplexing with other streams average out variation of different streams resources resources sum of worst cases worst case of sums time wire sharing 41 is not free multiplex & demultiplex overhead of addressing, routing, etc. area & delay of logic buffering wires energy

<k.g.w.goossens@tue.nl> 22 wire efficiency 42 make wires more efficient increase performance (& cost) of wire only worthwhile for heavily used wires (otherwise only pay cost) however, to use the offered performance, the wires need to be heavily used, i.e. share the wires useful techniques: wire encoder fat wires single driver shielding (against cross-talk) data encoding (for compression, against cross-talk delays) low swing, possibly with error correction decoder networks on chip concepts 43 two types of components: routers transport data in packets network interfaces convert view (transactions) to network view (packets) example: mesh NOC

<k.g.w.goossens@tue.nl> 23 networks on chip: basics 44 1. does a read transaction memory EAD networks on chip: basics 45 1. does a read transaction 2. network interface () packetises the transaction chops into smaller packets consisting of a header and payload e.g. 32 bits wide max 12 words header contains the address of the slave or the path to the slave (and the ID of the sender, etc.) memory EAD

<k.g.w.goossens@tue.nl> 24 networks on chip: basics 46 1. does a read transaction 2. network interface () packetises the transaction 3. the sends the packet to the router memory packet networks on chip: basics 47 1. does a read transaction 2. network interface () packetises the transaction 3. the sends the packet to the router 4. who forwards it, and so on packet packet packet memory packet

<k.g.w.goossens@tue.nl> 25 networks on chip: basics 48 1. does a read transaction 2. network interface () packetises the transaction 3. the sends the packet to the router 4. who forwards it, and so on 5. the receiving unpacks the packet, 6. and presents the read transaction to the slave EAD memory networks on chip: basics 49 1. does a read transaction 2. network interface () packetises the transaction 3. the sends the packet to the router 4. who forwards it, and so on 5. the receiving unpacks the packet, 6. and presents the read transaction to the slave 7. the slave produces the data memory DATA

<k.g.w.goossens@tue.nl> 26 networks on chip: basics 1. does a read transaction 2. network interface () packetises the transaction 3. the sends the packet to the router 4. who forwards it, and so on 5. the receiving unpacks the packet, 6. and presents the read transaction to the slave 7. the slave produces the data 8. the packetises & routers send packet packet packet packet memory 50 packet networks on chip: basics 51 1. does a read transaction 2. network interface () packetises the transaction 3. the sends the packet to the router 4. who forwards it, and so on 5. the receiving unpacks the packet, 6. and presents the read transaction to the slave 7. the slave produces the data 8. the packetises & routers send 9. gets the data memory DATA

<k.g.w.goossens@tue.nl> 27 networks on chip: basics high degree of parallelism split request & response pipelined transactions concurrent transactions distributed arbitration EAD packet memory packet packet packet packet 52 DATA memory memory EAD packet packet DATA ITE networks (on chip): concepts 53 a fundamental network concept is protocol layering 1. decomposition: break problem in smaller pieces 2. abstraction: hide details 3. sharing: implement common services only once main examples: International Organisation for tandards (OI) Open ystems Interconnect (OI) reference model Internet s TCP/ reference model networks on chip architectures & implementations mostly follow OI

<k.g.w.goossens@tue.nl> 28 protocol layering: decomposition 54 each layer offers services to higher layers, using the services of lower layers e.g. send a bit over a link send a packet from to set up a connection between a master and a slave transport layer send a packet from to send a data word from router to router network layer link layer protocol layering: abstraction 55 each layer uses a protocol hide details of implementation send a packet from to send a data word from router to router transport layer network layer link layer protocol between master & slave protocol between two s protocol between two routers transport layer network layer link layer send a packet from to send a data word from router to router

<k.g.w.goossens@tue.nl> 29 protocol layering: abstraction 56 each layer uses a protocol hide details of implementation send a packet from to send a data word from router to router transport layer network layer link layer protocol between master & slave protocol between two s protocol between two routers transport layer network layer link layer send a packet from to send a data word from router to router protocol layering: OI & TCP/ 57 IO OI reference model has 7 layers application presentation session transport network data link physical the TCP/ model has 4 layers application transport internet host-to-network

<k.g.w.goossens@tue.nl> 30 protocol layering: OI on chip 58 as a result 1. each layer can be implemented, optimised, upgraded, etc. independently e.g. for different process generations 2. multiple different implementations of a layer can exist e.g. different link widths & types 3. in the same system different link widths chip boundary voltage domain boundary protocol layering: OI on chip application message passing, distributed shared memory transport DTL, AI, AHB, network different protocol optimisations buffering, switching, routing link width, synchronous, source-synchronous, asynchronous physical serial / parallel, on / off chip, voltage / power domain msg passing DTL path-based transport source layerouting sync on-chip PHY telnet TCP async AI shared mem AHB async serial off-chip PHY internet transport protocol layer() AN FTP on chip compare with internet MTP DN UDP LAN application transport network link physical application transport network link + phys 59

<k.g.w.goossens@tue.nl> 31 networks on chip vs. Internet 60 basic techniques are the same few essential differences in scale, cost, performance that lead to different design trade offs 1. scale of network 2. lower pressure for standardisation 3. embedded systems 4. wires are relatively short 5. wires are relatively cheap 6. buffers (routers & ) are relatively expensive network (on chip) architecture concepts Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty

<k.g.w.goossens@tue.nl> 32 network (on chip) concepts 62 topology how to interconnect routers, network interfaces, and blocks routing the path packets take through the network flow control how packets are moved through the network buffer management / back pressure how to deal with full buffers quality of service how to offer minimum throughput, maximum latency,... design flows how to design, instantiate, configure, program networks topology 63 network interface router link path = series of links = route path length = hop count minimal path diameter of network = largest minimal hop count over all pairs of terminal nodes path diversity = the number of minimal paths regular networks butterfly (k-ary n-fly), fat tree torus (k-ary n-cubes), mesh, torus, irregular networks

<k.g.w.goossens@tue.nl> 33 topology: butterfly 64 + minimum diameter (logarithmic) - no path diversity - requires long wires traverse at least half the diameter this does not fulfil our interconnect requirements k-ary n-fly k^n source terminals k^n destination terminals n stages of k^(n-1) (k)x(k) switch nodes links are unidirectional topology: torus 65 4-ary 3-cube (hypercube) 3-ary 2-mesh 4-ary 1-cube (ring) 4-ary 2-cube (torus)

<k.g.w.goossens@tue.nl> 34 topology: torus 66 + at low dimensions have short wires + good path diversity + can make use of locality i.e. talking to neighbours is cheap, unlike in butterfly networks - larger hop count than butterfly networks to minimise both latency & wire length take minimal n that makes network bisection limited topology: real life recall that chips consist of a transistor plane with -Y wiring planes on top mesh, folded torus, and express cubes are natural candidates for on-chip topologies however, the lay-out of a chip is hardly ever regular 67 compromises partial mesh, omit some nodes, mesh lay-out logically a mesh, morphed lay-out

<k.g.w.goossens@tue.nl> 35 topology: real life routers at all corners of blocks can use channel routing use space between block for long-distance (NOC) wires the alternative is routing the NOC wires over the blocks not always possible, e.g. for M & TriMedia that require all metal layers for local wiring CAB 68 MB + V MPEG 1394 T-PI MMI+AICP Conditional access MP M-PI TriMedia VLI M topology: real life minimal topology with one router per block / island almost all traffic is bound for the memory controller (MMI) the M and Trimedia need low latency access and should have minimum number of hops in Viper 30% of long global wires are due to MMIO bus CAB 69 1394 T-PI MMI+AICP Conditional access MP M-PI TriMedia VLI M MB + V MPEG

<k.g.w.goossens@tue.nl> 36 flow control Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty general router architecture 71 move packets that arrive at inputs to outputs for all-at-once (source-based) routing the packet header contains the path for incremental routing it contains the destination address data inputs switch data outputs require arbiter in case two packets go to same output at the same time (weighed) round robin priority last recently used, etc. arbiter

<k.g.w.goossens@tue.nl> 37 contention 72 NOCs è multiplexing / sharing of wires between multiple data flows sharing implies contention: multiple packets / data at the same place at the same time flow control 73 techniques to deal with contention: when two packets arrive at the same link at the same time or any other shared resource options 1. avoid contention altogether 2. deal with contention when it happens with or without buffering packets

<k.g.w.goossens@tue.nl> 38 flow control 74 when two (or more) packets arrive at the same link at the same time buffer-less flow control 1. avoid contention (circuit switching), or deal with contention drop both packets 2. forward one packet & drop one packet 3. forward both packets, but one to wrong output (misrouting) buffered flow control deal with contention delay both packets 4. forward one packet & delay one packet store & forward, virtual cut through, worm-hole, virtual channel buffer-less flow control: circuit switching 75 circuit switching first allocate a circuit from source to destination, reserving links then send data on circuit, guaranteed without contention deallocate circuit, freeing links like old telephone system used in the asynchronous transfer mode (ATM) networks

<k.g.w.goossens@tue.nl> 39 buffer-less flow control: circuit switching 76 four phases 1. set up () 2. acknowledge (A) 3. send data 4. tear down (T) source to destination destination to source message 1 message 2 link 1 link 2 link 3 link 4 A A A A T T T T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 buffer-less flow control: dropping 77 drop both packets forward one packet & drop one packet need acknowledgements, re-sequencing, (negative) acknowledgement (ack/nack) or timers, retransmission, (and buffering until acknowledgement) duplicate removal cannot guarantee delivery and hence cannot guarantee throughput and latency space for exactly one packet minimal latency & buffering per router

<k.g.w.goossens@tue.nl> 40 buffer-less flow control: dropping 78 drop both packets forward one packet & drop one packet inefficient in resource usage (links, buffers) non-minimal paths data is resent space for exactly one packet packets delivered perfect desirable congested packets sent buffer-less flow control: misrouting 79 forward both packets, but one to wrong output also known as deflection routing or hot-potato routing no packets are dropped still need re-sequencing must ensure that packet will arrive at its destination live lock, time to live,... minimal latency & buffering per router space for exactly one packet contention correctly routed mis-routed correctly routed

<k.g.w.goossens@tue.nl> 41 buffered flow control: store and forward 80 no distinction between packets & flits flits are shown for easier comparison later with VCT & H packet is forwarded to next router when the current router has received the whole packet and when there the next router has space for the whole packet latency: transmission of entire packet buffering: at least one packet when a packet cannot proceed, it waits in one router uses one buffer, does not block links buffered flow control: store and forward 81 packet is forwarded to next router when the current router has received the whole packet and when there the next router has space for the whole packet link 1 link 2 link 3 link 1 link 2 link 3 link 4 H T H T H T H T 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

<k.g.w.goossens@tue.nl> 42 buffering schemes (for Qo) Kees Goossens Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty what is quality of service 83 in our context: lossless data transport uncorrupted data transport minimum throughput maximum latency maximum jitter low latency cache misses, interrupts guaranteed bandwidth audio, video,... best effort cache prefetches, write backs, debug / monitoring information GUI, browsing, file transfers,...

<k.g.w.goossens@tue.nl> 43 what is the problem: contention 84 NOCs = multiplexing / sharing of wires between multiple data flows sharing implies contention: multiple packets at the same place at the same time what is the problem: congestion 85 congestion packets wait for waiting packets wait for even though they may not want to use the original contended link buffering strategies are not enough

<k.g.w.goossens@tue.nl> 44 general router architecture 86 move packets that arrive at inputs to outputs in case two packets go to the same output at the same time arbiter decides which packets proceed first move packets through switch buffer remaining packets data inputs switch data outputs arbiter overview 87 important components for Qo 1. flow control 2. buffering strategy 3. switch architecture 4. switch arbitration only with the right combination can a NOC offer Qo more generally what resources are shared how are they allocated / scheduled what can be pre-empted and what not we show a few solutions to offer guaranteed bandwidth & latency

<k.g.w.goossens@tue.nl> 45 buffering schemes 88 1. input buffering 2. output buffering 3. virtual-output buffering 4. virtual-circuit buffering 5. per-slave buffering combinations are possible too e.g. input & output buffering we compare them on # logical buffers # physical memories & type size of switch(es) performance & cost buffering schemes: input buffering 89 N = degree = # inputs = # outputs N logical buffers: one per input N physical FIFOs N*N switch i0 maximum ~58% utilisation simplest & cheapest worst performance i1 i2

<k.g.w.goossens@tue.nl> 46 buffering schemes: virtual circuit buffering 90 with non-blocking switch C logical buffers: one per circuit C physical FIFOs C*N switch gives potentially higher throughput than with blocking switch c0 c1 c2 c3 c4 c5 c6 c7 c8 buffering schemes: problem 91 buffered flow control 1. input buffering exhibits head-of-line (HOL) blocking 2. virtual output buffering has similar problem 3. output buffering has similar problem 4. buffering per slave HOL blocking per slave 5. no buffer sharing at all virtual circuit buffering blocked! 3x3 switch blocked free in all but 5 flows interfere with each other due to shared buffers

<k.g.w.goossens@tue.nl> 47 buffering schemes: virtual circuit buffering 92 c0 c1 c2 c3 c4 c5 c6 c7 c8 c0 c1 c2 c3 c4 c5 c6 c7 c8 c0 c1 c2 c3 c4 c5 c6 c7 c8 buffering schemes: relation with switch 93 blocking versus non-blocking for virtual output, virtual circuit, per slave, virtual channel buffering (3xN)xN switch NxN switch blocking switch introduces extra dependencies between flows reduces performance harder to analyse performance but has lower cost e.g. Æthereal 6x6 130nm: 0.13mm2 blocking vs. 0.17mm2 non-blocking

<k.g.w.goossens@tue.nl> 48 overview 94 important components for Qo 1. flow control 2. buffering strategy 3. switch architecture 4. switch arbitration only with the right combination can a NOC offer Qo more generally what resources are shared how are they allocated / scheduled what can be pre-empted and what not we show a few solutions to offer guaranteed bandwidth & latency to remember 95 problem: wires / communication physical: global wires become relatively expensive logical: wires are inefficiently used solution: networks on chip share wires protocol stack architecture choices on topology routing flow control buffering quality of service design flows

<k.g.w.goossens@tue.nl> 49 end 96 for further information Kees Goossens <k.g.w.goossens@tue.nl> Group Electrical Engineering Faculty