Diapositiva 1 - PowerPoint PPT Presentation

About This Presentation
Title:

Diapositiva 1

Description:

Title: Diapositiva 1 Author: pozzato Last modified by: pozzato Created Date: 11/19/2004 2:42:27 PM Document presentation format: Presentazione su schermo – PowerPoint PPT presentation

Number of Views:30
Avg rating:3.0/5.0
Slides: 62
Provided by: poz59
Category:

less

Transcript and Presenter's Notes

Title: Diapositiva 1


1
Gian Luca Pozzato Livio Robaldo
are proud to present
Wormhole routing
Bleah! Che schifo
2
Introduzione
  • Tra i sistemi distribuiti, i sistemi cluster
    hanno trovato larga diffusione
  • Prestazioni buone
  • Architettura ideale per lesecuzione di
    applicazioni parallele
  • Costi contenuti
  • CLUSTER sistema distribuito ottenuto collegando
    fra loro nodi indipendenti mediante una rete
    locale

Nodi di tipo blade
Nodi indipendenti
Nodi montati su rack
3
Introduzione (2)
  • Larchitettura direct network è molto utilizzata
    per la costruzione di sistemi cluster
  • Topologia di rete, flow control, switching e
    routing sono i concetti fondamentali legati alle
    direct networks
  • La tecnica di switching più utilizzata è il
    wormhole switching, che offre le performance
    migliori
  • In questo lavoro presentiamo nel dettaglio le
    caratteristiche e le problematiche legate al
    wormhole switching, oltre ad unampia panoramica
    sugli algoritmi di routing abbinati a questa
    tecnica
  • Articolo di riferimento Mohapatra, 1998

4
In questa presentazione
  • Introduzione alle diverse tecniche di switching
  • Wormhole routing
  • Topologie di rete nelle direct networks
  • Problema del deadlock e soluzione
  • Algoritmi di routing nel wormhole routing
  • Conclusioni
  • Bibliografia

5
Introduzione
6
Reti multicomputers (direct networks)
Nodo
Nodo
Nodo
Nodo
Rete locale di interconnessione
7
Reti multicomputers (direct networks) (2)
Unità funzionali
Memoria locale
Processore
Canali di output INTERNI
Canali di input INTERNI


Canali di output ESTERNI (canali di output)
Canali di input ESTERNI (canali di input)
Router


8
Reti multicomputers (direct networks) (3)
  • I nodi di una direct network comunicano
    attraverso lo scambio di messaggi
  • Un messaggio viene diviso in PACCHETTI
  • PACCHETTO la più piccola unità di informazione.
    Contiene informazioni di routing e di sequenza

PACCHETTO
Info di routing
Info di sequenza
informazioni
9
Reti multicomputers (direct networks) (4)
  • Quando si parla di reti multicomputers è
    necessario distinguere le attività di routing,
    flow control e switching
  • ROUTING determina il path che un pacchetto deve
    percorrere per raggiungere la destinazione a
    partire dal nodo sorgente
  • FLOW CONTROL riguarda lallocazione di canali e
    buffers ad un pacchetto durante il suo passaggio
    nel router. In caso di conflitto, la politica di
    flow control interviene per stabilire quale
    pacchetto viene bloccato a causa
    dellindisponibilità di una risorsa (in possesso
    di un altro pacchetto)
  • SWITCHING è il meccanismo che stabilisce come i
    dati vengono rimossi dal canale di input e posti
    nel canale di output
  • 4 tecniche di switching

10
Circuit switching
  • Prima che inizi il trasferimento dei dati viene
    stabilito un path dedicato tra la sorgente e la
    destinazione
  • Il path rimane allocato per lintera trasmissione
    del pacchetto
  • Una volta iniziato il trasferimento dei dati, il
    messaggio non viene mai bloccato
  • Non è richiesta bufferizzazione dei dati (grazie
    al path dedicato)
  • Pesante overhead durante la fase di
    trasferimento dei dati, tutti i canali sono
    riservati per lintero trasferimento del
    messaggio, con conseguente degrado delle
    prestazioni
  • Questa tecnica non viene usata nei sistemi
    multicomputer commerciali

11
Packet switching
  • Il messaggio viene diviso in pacchetti che sono
    instradati ognuno sulla propria strada
  • Lintero pacchetto viene memorizzato in ogni nodo
    intermedio ed instradato al successivo nodo del
    path quando
  • Il canale di output scelto è disponibile
  • Il nodo vicino ha un buffer libero per ricevere
    il pacchetto
  • Ogni pacchetto contiene le informazioni di
    routing e può selezionare un percorso piuttosto
    che un altro in base allo stato di congestione
    della rete
  • Il canale risulta occupato SOLO in fase di
    trasferimento di un pacchetto
  • Dato che ciascun pacchetto viene memorizzato in
    ogni nodo, il tempo per trasmetterlo dal nodo
    sorgente al nodo destinazione è proporzionale al
    numero di hops nel path inoltre, è richiesto
    spazio di bufferizzazione in ciascun nodo
    intermedio

12
Virtual cut-through switching
  • Il pacchetto viene memorizzato nel nodo
    intermedio solamente se il successivo canale
    richiesto è occupato da un altro pacchetto
  • Nel caso peggiore (blocco ad ogni nodo
    intermedio) coincide con il packet switching
  • Poco usata a causa degli eccessivi costi dato
    che molti messaggi potrebbero essere bloccati in
    un nodo, ogni nodo deve mettere a disposizione
    notevoli risorse di bufferizzazione

13
Wormhole switching
14
Wormhole switching
  • E una variante del virtual cut-through che
    consente di superare il problema della necessità
    di ampi spazi di bufferizzazione
  • Un pacchetto è trasmesso in unità dette flits
  • FLITla più piccola unità di un messaggio cui
    viene applicato il controllo di flusso
  • Lheader flit contiene tutte le informazioni
    necessarie per lesecuzione del routing, compreso
    lindirizzo di destinazione gli altri flits
    contengono soltanto dati
  • I flit vengono trasmessi in fila in modo
    canalizzato
  • Quando lheader flit viene bloccato, il blocco si
    propaga a tutti i flit che seguono, i quali
    vengono bufferizzati nei nodi intermedi

15
Wormhole switching (2)
MESSAGGIO
PACCHETTO
FLITS
D
H
D
D
D
D
D
D
D
D
16
Routing in sistemi Cluster
Flit
2
3
1
2
3
1
2
3
1
2
3
1
2
1
3
1
2
2
3
1
3
2
3
17
Un flit può avanzare...
Avanti Savoia!
18
Wormhole switching vantaggi e svantaggi
Vantaggi
  • Ogni nodo deve memorizzare un solo flit (anche se
    alcune implementazioni richiedono la
    memorizzazione di flit multipli per migliorare le
    prestazioni)
  • La limitata richiesta di spazio di
    bufferizzazione rende inferiori costi e
    dimensioni del sistema multicomputer.

Svantaggi
  • Il solo header flit conserva le informazioni di
    routing se non può avanzare nella rete, il
    blocco deve essere propagato a tutto il
    pacchetto.
  • Il deadlock è una conseguenza di questo fatto.

19
Routing in sistemi Cluster richiesta dello
stesso buffer di output
Flit
2
3
Ops..
1
2
1
2
3
3
1
1
2
1
2
3
2
3
3
1
2
1
3
1
2
1
3
2
1
2
3
2
3
3
1
2
3
1
1
2
3
2
3
1
2
3
Flit
2
3
  • Un verme passa, laltro si blocca
  • Il blocco si propaga allindietro a tutti i flit
    del pacchetto
  • Quando il primo verme è passato passa anche
    laltro

20
Deadlock
1
2
3
1
4
5
2
1
2
1
2
3
4
1
3
E, invece, il verde non continua...perchè qui
vuole un buffer in cui cè un flit del blu si
blocca anche lui
1
1
2
1
2
3
3
4
1
2
2
3
4
5
1
Ah! Il blu ed il verde vogliono lo stesso buffer
di output. Il verde continua ed il blu si blocca
Deadlock!
21
Topologie di rete
22
Topologie di rete
  • I nodi del cluster sono interconnessi tra loro
    attraverso una rete.
  • I nodi comunicano tra loro attraverso scambio di
    messaggi che vengono inviati
  • lungo la rete.
  • La scelta della tecnologia e della topologia
    della rete incide pesantemente
  • sulle prestazioni del cluster.

Le topologie di rete possono essere classificate
in
Il wormhole switching viene utilizzato in tutte e
due, ma noi vedremo solo topologie direct
23
Topologie di rete (2)
  • Le topologie di rete possono essere descritte
    attraverso un grafo in cui i vertici
  • sono i nodi del cluster e gli archi sono i
    canali fisici che li collegano
  • n-dimensional mesh n dimensioni e ki nodi nella
    dimensione i (i0, 1, , n-1)
  • k-ary n-cube k nodi in ciascuna delle n
    dimensioni, con wraparound connections

ESEMPI
mesh 3D con k3 in ciascuna dimensione
5-ary 2-cube (torus)
24
Topologie di rete (3)
  • Nella realtà, vengono utilizzate soprattutto tre
    sottoclassi
  • Lhypercube n-dimensional mesh con k fisso a 2
    in ogni dimensione
  • (es. Intel iPSC/1, nCUBE)
  • Il torus un k-ary n-cube con n fisso a 2 (es.
    Cray T3D)
  • Mesh 2D (es. Intel Paragon)

ESEMPI di mesh 2D
ESEMPI di hypercube
2-cube (n2)
3-cube (n3)
K4
K8
25
Topologie di rete (4)
  • In generale un n-dimensional mesh è una
    topologia asimmetrica nei nodi al
  • centro della maglia abbiamo una densità di
    traffico maggiore rispetto a quella
  • nei nodi sulla periferia.
  • Hypercube e torus, invece, sono topologie
    simmetriche ogni nodo ha la stessa
  • connettività con gli altri nodi.

Vediamo leffetto che questo ha sui parametri di
una retericordo che essi sono
Diametro lunghezza del più lungo shortest path
tra due qualsiasi nodi della rete
Bisection cut numero di link che deve essere
tagliato per dividere la rete in due metà
uguali.
26
Topologie di rete (5)
Vediamo un confrontoa parità di nodi n, si ha
che
Diametro
2nx2n 2DMesh gtgt 2nx2n 2DTorus gtgt 2nHypercube
Bisection cut
2nx2n 2DMesh ltlt 2nx2n 2DTorus ltlt 2nHypercube
Esiste anche una stima del costo della rete la
bisection density, che è data dal prodotto del
bisection cut e della banda del canale.
Sembrerebbe quindi che la topologia hypercube sia
una delle più costoseperò bisogna osservare
che, essendo lhypercube una struttura più
fitta di links, è necessaria molta meno banda
rispetto ad un torus (ed ancora meno rispetto
alla mesh) per ottenere le stesse prestazioni
(latenza e throughput). Quindi
27
Ah giàdimenticavo
Cosa sono latenza e throughput?
latenza tempo che la rete impiega a recapitare
un messaggio.
throughput massimo tasso di messaggi che può
essere immesso nella rete
senza che la latenza media cresca (la rete va in
saturazione).
Nelle reti cluster, come si è visto, lunità di
trasferimento è il flit ne consegue che se Tc
(tempo di ciclo) è il tempo che un flit impiega a
fare un hop e se D è il numero di nodi
attraversati, la latenza di tutto il pacchetto di
dimensione L è
Tm(L) Tc x (D L / W)
Dove W è la dimensione di ogni singolo flit.
Diminuendo il diametro, quindi, diminuiscono i
valori D nei trasferimenti di pacchetti tra i
nodi del cluster e, quindi, diminuisce la latenza.
28
Algoritmi di routing
Un algoritmo di routing, in generale, si può
classificare in vari modi
Lintero cammino sorgente-destinazione è
stabilito sul nodo sorgente prima che il
messaggio sia spedito
Il cammino sorgente-destinazione viene stabilito
di volta in volta dai nodi intermedi attraverso
cui i il messaggio transita
I messaggi sono sempre instradati lungo uno dei
cammini più corti tra sorgente e destinazione
I messaggi sono instradati attraverso qualsiasi
cammino tra sorgente e destinazione
Il cammino sorgente-destinazione è unico ed è
determinato solo sulla base degli indirizzi di
sorgente e destinazione
Il cammino sorgente-destinazione viene stabilito
di volta in volta dai nodi intermedi e dipende
dalle condizioni attuali della rete (guasti,
traffico, )
29
Deadlock
30
Deadlock free routing
Sia gli algoritmi deterministici che gli
algoritmi adattativi possono essere Deadlock free
La tecnica solitamente utilizzata per risolvere
il problema del deadlock è quella del Deadlock
avoidance
Questo teorema è solo condizione sufficiente per
gli algoritmi adattativi...
31
Deadlock free routing (2)
Magari ci vuole qualche definizione...
  • Una routing function RNxN?p(C) è una funzione
    che associa, ad ogni coppia di
  • nodi (ns, nd) ? NxN, linsieme dei canali p(C)
    su cui si può spedire un flit da ns per
  • raggiungere nd.
  • Una subrouting function R1 di R è una funzione
    che implementa un sottoinsieme
  • delle associazioni di R.
  • Una routing\subrouting function R è connessa se
    per ogni coppia di nodi (ns, nd) si
  • ha che R(ns, nd) non è vuoto.
  • Un extended channel dependency graph della
    routing function R è un grafo i cui
  • nodi sono i canali presenti in R ed in cui
    esiste un arco (ci, cj) se R permette un
  • cammino tra due nodi che passa per ci e cj (e
    ci precede cj in tale cammino).

32
Un esempio...
Invece che vedere la dimostrazione dei due
teoremi Duato, 1994, vediamo un esempio del
secondo...che è più complicato...
Consideriamo la seguente topologia...
  • Un semplice algoritmo che rispetta il secondo
    teorema
  • Se il nodo corrente ni è uguale al nodo
    destinazione nj, consuma il messaggio.
  • Altrimenti, spedisci il flit sul canale CAi (?i
    ? j) o sul canale CHi (?j gt i)

Tale algoritmo è ovviamente adattativo, perchè,
in quasi tutte le situazioni, ho più di un canale
in cui scegliere di spedire il flit.
33
Un esempio...
Consideriamo ora subrouting function di R, che
chiamiamo R1 e che è uguale ad R eccetto che...
  • CA0 non viene utilizzato.
  • CA1 e CA2 possono essere usati solo per spedire
    flits ad una destinazione con
  • indice più piccolo del nodo corrente.

E privo di cicli!!! Per il teorema visto, questo
algoritmo adattativo non entra mai in deadlock
Da n3 posso raggiungere n0, n1, n2 passando per
CH0 e CH1
I canali CHn possono spedire solo a nodi con
indici superiori ad n
CA1 può raggiungere solo n0 passando solo da CA2
e CA3
Da n2 posso raggiungere solo n0 ed n1 passando
per CA3 e CH0
34
Algoritmi di routing
35
Wormhole routing deterministico
  • Il path è determinato SOLO dalla coppia
    sorgente-destinazione
  • Per ogni coppia sorgente-destinazione, tutti i
    pacchetti seguono il medesimo percorso
  • Idea di base il deadlock è prevenuto ordinando i
    canali che un messaggio deve attraversare
  • Un messaggio percorre i canali in ordine
    ascendente o discendente, evitando dei cicli nel
    grafo delle dipendenze dei canali
  • Un esempio di routing deterministico è il
    dimension-order routing Dally e Seitz, 1987

36
Dimension-order routing
  • Schema di routing deterministico in cui il path
    selezionato attraversa le dimensioni della rete
    in sequenza
  • Le dimensioni della rete sono preventivamente
    organizzate mediante un ordine monotono x1, x2,
    , xn
  • Il messaggio compie prima tutti gli spostamenti
    nella direzione x1, quindi nella direzione x2,,
    fino al raggiungimento della destinazione
  • A questo punto, il messaggio attraversa la rete
    nella successiva dimensione, fino a che non
    raggiunge la destinazione
  • Il deadlock è scongiurato dal fatto che i
    messaggi non attraversano MAI la rete nella
    direzione inversa dellordine di dimensione

37
Dimension-order routing su hypercube
  • I nodi delln-cube vengono rappresentati da una
    stringa binaria di n bit
  • Lindirizzo di destinazione viene memorizzato
    nellheader flit
  • Quando un nodo riceve un messaggio esegue lXOR
    tra il proprio indirizzo e lindirizzo della
    destinazione
  • Se è zero, consuma il messaggio
  • Se è diverso da zero, inoltra il messaggio nella
    dimensione corrispondente alluno del risultato
    più a destra (o più a sinistra)
  • Si parla di e-cube routing ed è una tecnica
    minimale
  • Vediamo un esempio

38
Dimension-order routing su hypercube (2)
010
101
XOR
111
111
110
010
011
011
111
101
XOR
011
010
101
110
110
100
011
001
001
000
001
101
XOR
100
100
001
101
101
39
Dimension-order routing su mesh 2D
  • Chiamato routing XY, è minimale
  • Le due dimensioni della mesh sono etichettate con
    X e Y
  • Un messaggio viene prima inoltrato completamente
    nella direzione X, quindi viene inoltrato
    completamente nella direzione Y
  • Nelle mesh multidimensionali si esegue il
    medesimo algoritmo, completando il routing in una
    direzione prima di passare alla successiva (le
    dimensioni sono ordinate)
  • Questa tecnica è deadlock-free

40
Dimension-order routing su mesh 2D (2)
1 7
Possibili turns
0 4
6 2
Direzione Y
3 0
Direzione X
41
Dimension-order routing (conclusione)
  • Esistono algoritmi di routing minimali per k-ary
    n-cubes che sfruttano i canali virtuali Dally e
    Seitz, 1987
  • In ogni caso, il dimension-order routing è adatto
    ad una distribuzione uniforme del traffico sulla
    rete (sceglie il cammino minimo per tutto il
    messaggio)
  • Non sfrutta la possibilità di cammini multipli
    tra coppie di nodi sorgente-destinazione
  • Non è adatto a gestire
  • Guasti sulla rete
  • Congestione della rete

42
Dimension-order routing vs Routing adattativo
43
Wormhole routing adattativo
  • Gli algoritmi deterministici calcolano uno e un
    solo cammino tra sorgente e destinazione
  • Per gestire guasti e reagire opportunamente alla
    congestione della rete è necessario che gli
    algoritmi di routing calcolino dei cammini
    alternativi per i messaggi
  • Gli algoritmi che offrono questa opportunità sono
    detti ADATTATIVI che si dividono in

I messaggi vengono instradati su un sottoinsieme
dei possibili cammini tra sorgente e destinazione
Tutti i possibili cammini tra sorgente e
destinazione sono messi a disposizione per
linstradamento dei messaggi
44
Fully-adaptive algoritmo PFNF
  • Vediamo nel dettaglio un altro esempio
    lalgoritmo positive-first-negative-first (PFNF)
    per mesh bi-dimensionali, illustrato in Upadhyay
    et al., 1997
  • Lalgoritmo usa due canali virtuali per ciascun
    canale fisico
  • I messaggi vengono inoltrati nelle due reti
    virtuali in modo da distribuire uniformemente il
    carico ed ottenendo un algoritmo di routing
    fully-adaptive
  • Utilizzando il teorema di Duato si può provare
    che lalgoritmo PFNF è deadlock free

45
Fully-adaptive algoritmo PFNF (2)
  • La rete fisica è logicamente divisa in due reti
    virtuali VN1 e VN2
  • Due canali virtuali associati al medesimo canale
    fisico si trovano in reti virtuali diverse
  • La rete virtuale VN1 è gestita mediante le
    restrizioni dellalgoritmo positive first
  • La rete virtuale VN2 è gestita mediante le
    restrizioni dellalgoritmo negative first
  • Quando il nodo destinazione si trova nelle
    direzioni ltx, ygt e lt-x, -ygt, il messaggio viene
    instradato senza restrizioni
  • Quando il nodo destinazione si trova nelle
    direzioni lt-x, ygt o ltx, -ygt vengono applicate
    le restrizioni positive first e negative first

46
Fully-adaptive algoritmo PFNF (3)
2. Se tutti gli elementi in Routing_tag 0
Se Routing_tag0 gt0
aggiungi a VC i canali ? vcVN1((x0 ,
x1),(x0 1, x1)) ? vcVN2((x0 ,
x1),(x0 1, x1)) Se Routing_tag1 gt0
aggiungi a VC i canali ? vcVN1((x0 ,
x1),(x0 ,x11)) ? vcVN2((x0 , x1),(x0
,x11))
  • VCØ
  • Se tutti gli elementi in Routing_tag 0
  • Se Routing_tag0 lt0
  • aggiungi a VC i canali
  • ? vcVN1((x0 , x1),(x0 -1, x1))
  • ? vcVN2((x0 , x1),(x0 -1, x1))
  • Se Routing_tag1 lt0
  • aggiungi a VC i canali
  • ? vcVN1((x0 , x1),(x0 ,x1-1))
  • ? vcVN2((x0 , x1),(x0 ,x1-1))

3c. Se Routing_tag1 gt0 aggiungi
a VC il canale ? vcVN1((x0 , x1),(x0 , x1
1))
Nodo sorgente (x0 , x1)
3a. Se Routing_tag0 gt0 aggiungi
a VC il canale ? vcVN1((x0 , x1),(x0 1,
x1))
Nodo destinatario (d0 , d1)
Se vi è un solo canale in VC, lo
restituisce. Altrimenti, ne sceglie uno a
random o impiegando un multiplex-turn bias (se
possibile, si cerca di proseguire nella direzione
intrapresa, evitando di compiere dei turni)
SE di - xi gt0 ALLORA METTI 1 SE di - xi lt0
ALLORA METTI -1 SE di - xi 0 ALLORA METTI 0
3b. Se Routing_tag0 lt0 aggiungi
a VC il canale ? vcVN2((x0 , x1),(x0 -1,
x1))
3d. Se Routing_tag1 lt0 aggiungi
a VC il canale ? vcVN2((x0 , x1),(x0 , x1
-1)) return VC
1
Routing_tag
1
Routing_function
VN1
VN2
Selection_function(VC)
47
Fully-adaptive algoritmo PFNF (4)
  • Vediamo un esempio di funzionamento il mittente
    del messaggio è (2,2), il destinatario è (5,0)

(2,2)
(5,0)
48
Fully adaptive conclusioni
  • La flessibilità garantita dai meccanismi di
    routing adattativo migliorano le performance, ma
    richiedono una crescita della complessità di
    gestione da parte dellhardware, che rallenta
    notevolmente i router
  • E stato osservato che gli algoritmi adattativi
    non migliorano necessariamente le prestazioni di
    una rete a bassa dimensione
  • Un netto miglioramento si riscontra nelle reti ad
    alta dimensione, tipo hypercubes, e nelle reti in
    cui il traffico non è distribuito uniformemente
  • Spesso ci si accontenta di un grado di
    adattabilità più basso, in cambio di una gestione
    più semplice algoritmi parzialmente adattativi

49
Partially adaptive routing
  • Glass e Ni hanno proposto il turn model, sulla
    base del quale sono stati sviluppati diversi
    algoritmi parzialmente adattativi
  • Soffermiamoci ancora sulle mesh 2-D secondo il
    modello, ci sono otto possibili turni
  • Lalgoritmo xy previene il deadlock impedendo 4
    turns

50
Partially adaptive routing (2)
  • Per impedire il deadlock è sufficiente impedire 2
    soli turni, uno in ciascun ciclo
  • A seconda di quali turns vengono
    permessi/impediti si ottengono i seguenti
    algoritmi parzialmente adattativi

Algoritmo west-first
Algoritmo north-last
Algoritmo negative-first
51
Partially adaptive routing west-first routing
52
Deadlock recovery
  • Come discusso, la prevenzione del deadlock
    richiede luso di risorse aggiuntive ed una
    gestione impegnativa
  • Alcuni studi hanno evidenziato che le situazioni
    di potenziale deadlock sono rare nei sistemi
    multicomputers
  • Impiegare risorse aggiuntive per prevenire
    situazioni rare non è una buona scelta
  • Il deadlock recovery è una buona alternativa alla
    prevenzione del deadlock
  • I messaggi vengono instradati senza restrizioni
    permettendo la formazione di cicli
  • Un meccanismo di deadlock detection identifica
    potenziali configurazioni di deadlock in tal
    caso, un opportuno schema di recovery rompe il
    ciclo

53
Deadlock recovery disha
  • Disha è un esempio di strategia di deadlock
    recovery Anjan e Pinkston, 1995
  • Il recovery è realizzato mediante un singolo flit
    buffer presente in ciascun nodo, chiamato
    deadlock buffer
  • Tale buffer aggiuntivo viene utilizzato soltanto
    in caso di situazioni di potenziale deadlock
  • Durante il recovery, i deadlock buffers formano
    una strada deadlock-free
  • Al formarsi di un ciclo, uno dei messaggi del
    ciclo viene instradato nella strada deadlock-free
    e gli altri messaggi possono procedere

54
Deadlock recovery disha (2)
Viene fissato un time-out di permanenza di un
messaggio in un nodo. Scaduto il time out, il
messaggio è considerato deadlocked
55
Fault tolerant wormhole routing
  • Nelle reti multicomputers di grandi dimensioni
    non si può trascurare limportanza dei
    malfunzionamenti dei nodi
  • Gli algoritmi di routing dovrebbero garantire che
    un pacchetto raggiunga la destinazione, qualora i
    nodi sorgente e destinazione siano connessi
  • In letteratura sono stati presentati diversi
    algoritmi SPECIFICI che consentono di reagire ad
    eventuali guasti nella rete
  • Glass e Ni hanno proposto unestensione
    dellalgoritmo Negative-first che lo rendono in
    grado di reagire ai fallimenti Glass e Ni, 1993
  • Vengono rilassate le condizioni di non
    adaptivity il pacchetto viene fatto girare
    attorno al faulty node
  • Il pacchetto viene scartato qualora sia
    impossibile instradarlo ulteriormente

56
Fault tolerant wormhole routing (2)
  • Un altro approccio è quello di Varavithya et
    al., 1995
  • Estensione dellalgoritmo PFNF combinando
    wormhole routing e virtual cut-through
  • Quando un pacchetto incontra un guasto, viene
    instradato nei cammini alternativi offerti
    dallalgoritmo a meno che non si trovi
    nellultima dimensione
  • In tal caso, il messaggio viene completamente
    bufferizzato in un nodo adiacente a partire dal
    quale viene successivamente ritrasmesso
  • Questa soluzione offre ottime performance
    inoltre, non richiede hardware aggiuntivo per la
    gestione dei guasti

57
Conclusioni
58
Conclusioni
  • Il wormhole routing è la tecnica di switching più
    usata nei sistemi multicomputer, ma ci sono
    diversi problemi aperti
  • E necessario proseguire lo studio degli
    algoritmi adattativi (al momento, non sembrano
    efficienti al punto di giustificare i costi
    aggiuntivi)
  • Gli algoritmi di routing fault-tolerant sono
    stati valutati assumendo fallimenti casuali dei
    nodi. Sarebbe interessante studiare meccanismi
    che permettano di introdurre fallimenti mirati
  • Sono necessari algoritmi di routing specifici per
    certe applicazioni
  • Abbiamo presentato algoritmi di routing
    implementati dallhardware del router tuttavia,
    per reti con elevate prestazioni ma costi
    accettabili è possibile implementare alcune
    funzionalità via software (schemi di routing
    ibrido)

59
Bibliografia
60
Bibliografia
  • Anjan e Pinkston, 1995. K. V. Anjan e T. M.
    Pinkston. An Efficient, Fully Adaptive Deadlock
    Recovery Scheme DISHA. 22 International
    Symposium on Computer Architecture, 201-210,
    1995.
  • Dally e Seitz, 1987. W. J. Dally e C. L. Seitz.
    Deadlock Free Message Routing in Multiprocessor
    Interconnection Networks. IEEE Trans. Comput.,
    Vol. 36(5), 547-553, 1987.
  • Duato, 1994. J. Duato. A necessary and Sufficient
    Condition for Deadlock-free Adaptive Routing in
    Wormhole Networks. In Proceedings of the
    International Conference on Parallel Processing,
    Vol. I, 142-149, 1994.
  • Glass e Ni, 1993. C. J. Glass e L. M. Ni.
    Fault-tolerant Wormhole Routing in Meshes. In
    Proceedings of the International Symposium on
    Fault-Tolerant Computing, 240-249, 1993.

61
Bibliografia (2)
Mohapatra, 1998. P. Mohapatra. Wormhole Routing
Techniques for Directly Connected Multicomputer
Systems. ACM Computing Surveys, Vol. 30(3),
374-410, 1998. Ni e McKinley., 1993. L. M. Ni e
P. K. McKinley. A Survey of Wormhole Routing
Techniques in Direct Networks. IEEE Computer,
Vol. 26(2), 62-76, 1993. Upadhyay et al., 1997.
J. Upadhyay, V. Varavithya e P. Mohapatra. A
Traffic-balanced Adaptive Routing Scheme for
two-dimensional Meshes. IEEE Trans. Comput., Vol.
46(2), 190-197, 1997. Varavithya et al., 1995.
V. Varavithya, J. Upadhyay e P. Mohapatra. An
Efficient Fault-Tolerant Routing Scheme for
two-dimensional Meshes. In Proceedings of the
International Conference on High-Performance
Computing, 773-778, 1995.
Write a Comment
User Comments (0)
About PowerShow.com