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
Scarica

Network-on-chip