32 - Základní architektury přepínačů, algoritmy pro plánování, řešení blokování, vícestupňové přepínací sítě Flashcards

1
Q

Obecná architektura přepínače

A

Základní části přepínače:
- Vstupní rozhraní (fabric input interface) - propojuje vstupní modul a přepínací logiku, rozděluje pakety na buňky pevné délky pro přepínání a posílá data na přepínací logiku podle plánovače

  • Vstupní buffer (fabric input buffers) - ukládá příchozí data pokud je nelze poslat do přepínací logiky
  • Přepínací logika (switch fabric, též backplane) - síťová topologie, kde uzly sítě jsou spojeny každý s každým pomocí jednoho či více přepínacích obvodů
  • Plánovač (scheduler) - plánuje přepínání dat ze vstupu na výstup
  • Výstupní rozhraní (fabric output interface)
  • Výstupní buffer (fabric output buffers)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Požadavky na přepínače a problémy přepínání

A

Požadavky na přepínače

  • Maximální přenos dat přepínací logikou
  • Paralelní přenosy mezi různými rozhraními
  • Spravedlivé přidělování šířky pásma
  • Zachování pořadí paketů

Problémy

  • vnitřní blokování
  • soutěžení o porty
  • blokování fronty (HOL - head of line)
  • přenos multicastu
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Metriky pro měření činnosti přepínače

A

Propustnost - přenesená data za jednotku času (bps / pps)
latence - “zpoždění” - doba přenosu paketu ze vstupního na výstupní rozhraní (s)
počet dostupných cest - počet možných cest v přepínací logice které propojují každou dvojici vstupních a výstupních portů

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Architektury přepínačů ->

Přepínače se sdílenou propojovací deskou (shared backplane) ->

Přepínače se sdílenou sběrnicí (shared bus)

A
  • Sdílené přenosové médium – řídící a datové linky
  • Bus protocol – řídí přenos po sběrnici
  • Potřebná propustnost sběrnice R x N - Vhodné pro zařízení s propustností kolem 1 Gb/s

Šířka sběrnice w = (R x N)/r

  • R – rychlost na portu
  • N – počet portů
  • r – taktovací frekvence sběrnice
  • Nativní implementace přenosů broadcast/multicast
  • Pouze jeden port může v daný okamžik komunikovat
  • S počtem portů rose šířka sběrnice

16 portů, rychlost 100 Mb/s, frekvence 40 MHz
propustnost RxN = 16x100 -> 1,6 Gb/s
šířka sběrnice 100x16/40 -> 40 bitů

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane), scheduler

A
  • Paralelní přenos paketů
  • Buňky pevné délky
  • Přenos buněk ve fixních časových intervalech (time slots)
  • Potřeba plánování přepínání - plánovač (scheduler) ->
  • Detekce buněk na vstupu > Plánování přenosu -> Přenos buněk

Scheduler

  • řeší problém párování portů, vnitřní blokování a virtuální fronty
  • algoritmy pro přidělování - lístků, PIM, iSLIP (round-robin)

Jednostupňové - přepínače se sdílenou pamětí / křížový přepínač
Vícestupňové - Closova síť, Benešova síť, síť Torus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane) ->

Jednostupňové přepínání ->

přepínač se sdílenou pamětí

A
  • Centrální paměť mezi vstupy a výstupy
    Pakety uloženy po příchodu do sdílené paměti

Paměť (pevná X proměnná velikost) rozdělena do front příslušejících k výstupům

Rychlost při přístupu do paměti (Šířka pásma paměti)
- BW = 2 x N x R (simultánní čtení a zápis)

Doba zápisu/ čtení buňky
t = C / (2xNxR),
- C – velikost buňky paměti
- R – rychlost na portu
- N – počet portů
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane) ->

Jednostupňové přepínání ->

Křížový přepínač (crossbar)

A
  • N^2 propojení (crosspoints) - dvoustavové chování: on/off (např. tranzistory)
  • Interně neblokující -> možnost paralelních přenosů (Více propojení aktivních v daném časovém slotu)
  • lze přepojit všechny vstupy a výstupy
  • Nativní podpora multicastu
  • Možnost kolizí - více vstupů požaduje jeden výstup

Centrální plánovač

  • řídí propojení (crosspoints) pomocí řídící linky
  • nastavuje konfiguraci přepínače podle požadavků na vstupu

Nevýhody

  • Rozšiřitelnost – kvadratická složitost O(N2)
  • Obtížné garantovat kvalitu služby QoS - souběžné požadavky z více vstupů na jeden výstup

Chybí redundance (pouze jedna cesta mezi vstupem a výstupem)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Plánovací algoritmy a blokování

A

Největší párování (maximum matching) - Párování, které obsahuje největší možný počet hran (každý s každým - Globálně optimální, největší propustnost)
Maximální párování (maximal matching) - Párování, ke kterému nelze přiřadit další hranu, aniž bychom zvýšili stupeň některého z uzlů na 2 - Lokální maximum

Problém plánování je biparitní graf, uzly jsou množina vstupních X výstupních portů, hrany množina propojení

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Plánovací algoritmy a blokování - Algoritmus přidělování lístků

A
  1. Žádost o lístek (Request) - Vstupní port P pošle po řídící sběrnici požadavek na výstupní port Q
  2. Přidělení pořadí (Grant) - Port Q vrátí P lístek TQX s přiděleným pořadovým číslem X.
  3. Propojení a přenos (Connect & Transfer)
    - Výstupní port Q umístí na řídící sběrnici aktuální číslo TQX – broadcast.
    - Q nastaví příslušný propojovací tranzistor do stavu zapnuto.
    - Vstupní port P zapíše data na datovou sběrnici.

Výhody:

  • Umožňuje asynchronní zpracování
  • Přenos rámců variabilní velikosti

Nevýhody:

  • Blokování na začátku fronty (HOL) – menší propustnost (první buňka v pořadí blokuje, blokované buňky čekají i když je cílový port dostupný)
  • Nezávislé přidělování lístků – problém s multicastem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Plánovací algoritmy a blokování - Algoritmus PIM (Parallel Iterative Matching)

A
  • Podobné jako přidělování lístků
  • využívá virtuální fronty (VOQ)
    • Virtuální výstupní fronty VOQ (virtual output queues) – řešení HOL
    • Rozdělení vstupní fronty na portu do více front (Pro každý výstupní port)
      • celkově potřeujeme N^2 front
  • hledá největší párování pomocí NÁHODNÉHO VÝBĚRU výběru

Žádost o port - Vstupní port P posílá žádosti na všechny žádané porty
Udělení portu - Výstupní port Q přidělí port - V případě více žádostí o přístup, NÁHODNĚ vybere jednu.
Přijetí a přenos - Vstupní port P zpracuje došlé udělení portů - V případě povolení více přenosů, NÁHODNĚ vybere jeden

1 iterace - Propustnost cca 63%
možné vylepšení pomocí více iterací (např. dvě iterace cca 75% propustnost)

Nalezení největšího párování (nejhůře N iterací - všechny vstupy na jeden výstup, nejlépe 1 iterace (každý vstup na jiný výstup), orůměr logN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Plánovací algoritmy a blokování - Algoritmus iSLIP

A
  • využívá virtuální fronty (VOQ)
  • deterministická obsluha (vs náhodná u PIMú, propustnost 75%
  • Při soupeření o port používá rotující ukazatele
  • Po každé iteraci se inkrementují ukazatele
    Ii – ukazatel na vstupním portu i
    Oj – ukazatel na výstupním portu j
  1. Žádost - každý port zašle žádost na každý výstupní port
  2. Přidělení - pokud výstupní port Y dostane více žádostí, vybere tu, která má číslo portu ≥ Oj - pokud je jich více, vybere se ta s nejmenší hodnotou
  3. Přijetí - pokud vstupní port X obdrží více povolení, vybere ten port, který je ≥ Ii - pokud je jich více, vybere se ta s nejmenší hodnotou
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane) ->

Vícestupňové přepínání (Rozšiřitelné architektury pro velké množství portů) - porovnání s jednostupňovým

A

Jednostupňové

  • např křížový přepínač, problém s kvadratickým nárůstem portů,
  • HOL blokování
  • vyžaduje algoritmy pro hledání maximálního párování
  • je možné zvětšit počet portů anož by se nafouklo přepínací pole?

Vícestupňové

  • vstup -> více přepínacích obvodů -> výstup
  • bez HOL
  • algoritmy pro hledání interního bezkonfliktního propojení
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane) ->

Vícestupňové přepínání (Rozšiřitelné architektury pro velké množství portů)->

Přepínací síť Clos (m,n,r)

A

(m,n,r)
m - různých cest mezi vstupním a výstupním portem (počet přepínačů uvnitř té přepínací sítě)
n - vstupů v jedné jednotce
r - počet vstupních přepínačů (v tom co jsi uvedl 2) a taky typ přepínače uvnitř té přepínačí sítě (tedy v tom co jsi uvedl to je 2x2)

Např. Clos(7,4,2)

  • > 7 různých cest mezi porty = 7 prostředních přepínačú typu 2x2
  • > 4 vstupy v jednom vstupním a výstupním přepínači (4x7 & 7x4)
  • > 2 vstupní přepínače

Closův teorém: pokud platí m >= 2n - 1 pak lze přidat nové propojení vstupu a výstupu bez přeskládání - síť je tak neblokující

  • přepínač o 256 portech vyžaduje síť (31, 16, 16) -> drahé - modifikované řešení - m >= n - není již neblokující, ale levnější (je neblokující PO PŘESKLÁDÁNÍ - využívá se barvení hran)

Třístupňová přepínací síť - využívá křížové přepínače

  1. První stupeň – rozdělí n-vstupů na menší skupiny
  2. Prostřední stupeň – propojí každý vstupní a výstupní přepínač.
    - > m-různých cest mezi daným vstupním a výstupním portem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane) ->

Vícestupňové přepínání (Rozšiřitelné architektury pro velké množství portů)->

Přepínací síť Beneš, BNn

A
  • Modifikovaná síť Clos(2,2,1) s přeskládáním
  • Hierarchicky rekurzivní konstrukce!!
  • Počet vstupů: N=2^n
  • Blok N/2-vstupních přepínačů 2x2
  • Prostřední část rekurzivních bloků BN(n-1)
  • Blok N/2-výstupních přepínačů 2x2
  • Počet bloků (stupňů): 2 log2 N – 1

Beneš BN3 -> N = 2^3 = 8 vstupů (4 přepínače na vstupu a výstupu), 5 stupňů (sloupců)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Architektury přepínačů ->

Přepínače s přepínanou propojovací deskou (shared backplane) ->

Vícestupňové přepínání (Rozšiřitelné architektury pro velké množství portů)->

Přepínací síť Torus

A

Decentralizované přímé přepínání

  • Každý uzel slouží jako vstup, výstup i přepínací uzel (přímá síť)
  • n-dimenzionální síť uzlů ki s adresou (a1,a2, …, an)
  • Každý uzel ki připojen dvěma cestami v každé dimenzi

existuje víc cest mezi uzly - síť torus 8 x 8 x 8: 90 cest přes 6 uzlů

How well did you know this?
1
Not at all
2
3
4
5
Perfectly