Comments
Description
Transcript
Network-on
SINTESI PUNTI SALIENTI • Da shared bus a network on chip • Concetto di nodo • Standard commerciali shared bus: • AMBA, Wishbone, CoreConnect • Opzioni avanzate shared bus: • pipelining, split transactions, preemption, lock, etc.. • Importanza delle politiche di arbitraggio • diversi tipi: round robin, TDMA, priorità, versioni evolute • performance di un algoritmo di arbitraggio dipende da: Tipo e profilo di traffico Hardware di comunicazione • Importanza del matching hardware - software Network-on-chip network switch interface link DSP CPU Memory Memory CPU Supporto contemporaneo di transazioni multiple Segmenti al posto di linee globali Scalabilità Comunicazione a pacchetti Disponibilità di diversi gradi di libertà per il progettista: - topologia - routing - ampiezze dei bus - numero di porte - controllo di flusso Performance metrics Sender Sender Overhead Transmission time (size ÷ bandwidth) (processor busy) Time of Flight Transmission time (size ÷ bandwidth) Receiver Overhead Receiver Transport Latency (processor busy) Total Latency Total Latency = Sender Overhead + Time of Flight + Message Size ÷ BW + Receiver Overhead Topologia • Struttura della rete di interconnessioni • Determina: Grado: numero di link che parte da un nodo Diametro: max numero di links tra nodi (max dist) Distanza media: numero di hop tra destinazioni random Bisezione: numero minimo di links che separano la rete in due metà ATTENZIONE: Strutture tri-dimensionali sono difficili da mappare su un chip che è invece bi-dimensionale Topologie 1D Mesh Torus 2D Mesh Ring Hypercube Butterfly Fat tree Pacchettizzazione Obiettivi della Network Interface: • Rendere trasparente il supporto di comunicazione tra IP IP End-to-End protocol Network protocol • Header contiene ad es. Pacchettizzazione del messaggio: Pacchetto TAIL FLIT PAYLOAD … FLIT HEADER FLIT Network FLIT Percorso nella rete (Path) Mittente (Source) Destinatario (Destination) Natura del pacchet. (Packet Type) Numero trasferimenti (MBurst) Tag per il riordino (ID-PACKET) Canale Virtuale uscita A SW0 Pacchetto SW1 SW2 SW3 uscita B Pacchetto • Presenza di più registri per ogni porta di uscita • Riduce la contention sul link Routing Shared Bus comunicazione di tipo broadcast Routing per switched bus. Opzioni: Source-based routing: il messaggio specifica già il percorso da seguire (cambi di direzione) Virtual Circuit: connessione tra sorgente e destinazione. Il messaggio sceglie la connessione di interesse Destination-based (distributed) routing: il messaggio specifica la destinazione, lo switch seleziona il percorso deterministic: sempre lo stesso percorso adaptive: differenti percorsi in base a congestione e guasti Randomized routing: scelta tra diversi percorsi per bilanciare il carico di rete STREET SIGN ROUTING Esempio di tecnica di source routing: street-sign-routing (iWarp) N Stopt Header: PATH = (N,N,E) E O Header “leggero“ Start S Controllo di flusso Store-and-forward policy: ogni switch attende che l’intero pacchetto sia arrivato prima di inoltrarlo al prossimo switch (WAN) Cut-through routing and worm hole routing: lo switch esamina l’header, decide il percorso ad inizia il forward immediatamente In worm hole routing, flit di payload e di tail seguono ordinatamente il flit di head Packet SWITCH SWITCH SWITCH Packet A B C tail header Cut through routing : anche qualora l’hear si Bloccasse, il tail prosegue fino alla memorizzazione Di tutto il pacchetto in uno switch (richiede una gran capacità di memorizzazione) Controllo della congestione • Reti a pacchetti: no meccanismi di “bandwidth reservation”: ciò porta a problemi di contention • OPZIONI • PACKET DISCARDING: se il pacchetto arriva ad uno switch il cui buffer è pieno, il pacchetto viene eliminato (es. UDP) • CONTROLLO DI FLUSSO: tra coppie di sender e receiver. “FEEDBACK” per comunicare al sender che può spedire BACK-PRESSURE: Wires separate per inviare start/stop WINDOWING: dà al sender il diritto di inviare N pacchetti prima che questi abbia il permesso di inviarne altri (es. TCP), Architettura di uno switch uscita IP •Instradare i pacchetti ingresso IP •Transazioni sicure •Gestione delle contese ingressi uscite Matrice connessioni Buffer Arbitro Matrice Buffer d’ingresso Buffer d’uscita Arbitro Architettura Switch 4x4 IN[0] OUT[0] ACK[0] IN[0] OUT[0] Porta uscita[0] IN[3] ACK[0] IN[3] IN[1] IN[0] OUT[1] OUT[3] Modulo ACK Porta uscita[1] OUT[1] IN[3] ACK[1] ACK[3] IN[0] ACK[1] OUT[3] Porta uscita[3] IN[3] ACK[3] IN[2] OUT[2] ACK[2] Ritrasmissione Trasmissione Rilevazione ACK e memorizzazione Rilevazione NACK Progazione ACK NACK Deallocazione memoria Ritrasmissione Go back N Impatto dei parametri (1) 10 Numero di flit spediti sulla rete 9 Burst write (10 dati) (W / MDATAWD) = 4 8 9 flit 7 6 5 4 Tempo per creare un flit 3 header 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Cicli di clock trascorsi dalla prim a richiesta dell' IP Impatto dei parametri (2) Numero di flit spediti sulla rete 18 Burst write (10 dati) (W / MDATAWD) = 1 16 16 flit 14 12 10 8 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 Cicli di clock passati dalla prima richiesta dell' IP 27 29 Confronto - I Vantaggi di NoC…….. - Ogni unità funzionale aggiuntiva aggiunge capacità parassit + Si utilizzano solo wires point-to-point one-way - Problemi di bus timing in bus sub-micrometrici + Possibilità di wires pipelined poiché il protocollo è GALS - Il delay dell’arbitro cresce col no. di master. Arbitro instance-specific + Decisioni di routing distribuite. Switches reinstanziabili - Banda è limitata e condivisa da tutte le unità + La banda scala con la dimensione della rete Confronto - II e vantaggi di Shared Bus…….. + La latenza di accesso al bus è nulla dopo la concessione del bus -problemi di congestione di rete possono causare un certo delay + Costo in termini di silicio di un bus è pressochè nullo -Notevole costo in area per una rete on-chip + Le interfacce bus – IP sono molto semplici -Le interfacce bus-IP possono essere molto complesse (wrappers) + Criteri di progetto semplici e ben compresi - Necessità di un nuovo paradigma progettuale