1 / 80

2 . RETELE DE INTERCONECTARE

2 . RETELE DE INTERCONECTARE. PROPRIETATI ALE RETELELOR DE INTERCONECTARE RETELE STATICE RETELE DINAMICE RETELE PE UN CIP. 2.1 PROPRIETATI ALE RETELELOR DE INTERCONECTARE. O retea - graf cu un numar finit de noduri, conectate prin arce orientate sau neorientate.

mayten
Download Presentation

2 . RETELE DE INTERCONECTARE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 2. RETELE DE INTERCONECTARE • PROPRIETATI ALE RETELELOR DE INTERCONECTARE • RETELE STATICE • RETELE DINAMICE • RETELE PE UN CIP

  2. 2.1 PROPRIETATI ALE RETELELOR DE INTERCONECTARE O retea - graf cu un numar finit de noduri, conectate prin arce orientate sau neorientate. Gradul nodului (d – „degree”) = numarul de arce (legaturi sau canale) conectate la nod. Reflecta numarul de porturi de I/E necesare pentru un nod, deci costul unui nod. Diametrul (D) = maximul dintre cele mai scurte cai care leaga oricare doua noduri (numar de legaturi traversate). Largimea sectiunii (b – „bisection width”) = numarul minim de arce (canale) de-a lungul unei sectiuni care imparte reteaua in doua jumatati. Daca fiecare canal are o largime de w biti, atunci largimea sectiunii la nivel de fire este B = bw. Lungimea firului (canalului) intre noduri poate afecta latenta semnalului, alunecarea ceasului si cerintele de alimentare. Functiile de routare a datelor sunt utilizate pentru transferul de date intre elementele de prelucrare, fiind implementate in routere hardware. Exemple: deplasare („shifting”), rotatie, permutatie (unu la unu), „broadcast” (unu la toate), „multicast” (unu la mai multe), „shuffle”, etc.

  3. Retelele de interconectare: -retele statice: -conexiuni fixe in timp (nu se modifica in timpul executiei programului); -o conexiune => legatura punct-la-punct intre doua noduri; -se utilizeaza in multicalculatoare (sisteme MIMD cu transfer de mesaje). -retele dinamice: -conexiuni dinamice intre componente (se modifica in timpul executiei programului paralel, in functie de cerintele de comunicatie); -contin comutatoare („switches”) si interconexiuni („links”); -se utilizeaza in multiprocesoare (sisteme MIMD cu memorie partajata).

  4. 2.2 RETELE STATICE • Retea liniara • Inel. Inel cu coarde • Barrel shifter • Arbore si stea • Arbore gros • Retea plasa. Tor • Retele sistolice • Hipercuburi • Cicluri cub-conectate • Retea n-cub de baza k

  5. Retea liniara retea unidimensionala care conecteaza N noduri prin N-1 legaturi. -grad nod intermediar d = 2; -grad nod terminal d = 1; -diametrul D = N-1(afecteaza performantele pentru N mare); -largimea sectiunii b = 1. => Este cea mai simpla topologie de conectare, fiind economic pentru N mic. Nu se utilizeaza pentru N mare.

  6. Inel. Inel cu coarde conectarea nodurilor terminale ale unei retele liniare. Poate fi unidirectional sau bidirectional. Este simetric ! sau intr-o alta reprezentare: -grad nod d = 2 (constant); -diametru D = N/2 (inel bidirectional) sau D = N (inel unidirectional).

  7. Prin cresterea gradului de nod (exemplu la 3 sau 4 => un inel cu coarde (de grad 3, respectiv 4). scade diametrul retelei ! Comparand retelele inel si inel cu coarde de grad 4 => diametrul D4 2.

  8. In caz extrem, pentru reteaua complet conectata gradul de nod d = 7, iar diametrul D = 1. Exemple: Token Ring IBM, CDC Cyberplus Multiprocessor, KSR-1.

  9. Barrel shifter Intr-o retea de dimensiune N=2n , nodul i este conectat la nodul j, astfel incat |j-i|=2r, pentru r=0, 1, 2, ..., n-1. Gradul de nod este d=2n-1 si diametrul D=n/2. Exemplu: retea barrel shifter cu N=8 (n=3). => d=2n-1=5 si D=3/2=1.5 (=2).

  10. Arbore si stea -arbore complet echilibrat avand k niveluri =>N = 2k – 1 noduri; -grad maxim de nod d = 3; -diametrul D = 2(k - 1)(lungimea caii care leaga doua frunze cu radacina ca unic ascendent comun). Exemplu: k = 5=> arbore N = 31 noduri.

  11. sau intr-o alta reprezentare: => grad de nod constant (arhitectura scalabila),dar diametru mare.

  12. Steaua este un arbore cu doua niveluri, grad de nod maxim d = N-1 (nodul central) si diametrul D = 2. Exemplu: sistemul multiprocesor DADO de la Columbia University (arbore binar cu 10 niveluri si 1023 noduri).

  13. Arbore gros Arborele gros („fat tree”) propus de Leiserson in 1985 =>largimea de canal creste de la frunze spre radacina. sau Exemplu: sistemul CM-5.

  14. Retea plasa. Tor => retea plasa („mesh”) de dimensiune k are N = nk noduri, un grad de nod interior d = 2k si un diametru D = k(n – 1), unde n este numarul de noduri dintr-o dimensiune si k este numarul de dimensiuni. Exemplu:n = 6, k = 2, N = 36. Gradele nodurilor de pe granite si din colturi sunt 3, respectiv 2. Exemple de sisteme: Illiac IV, MPP, DAP, CM-2, Intel Paragon.

  15. - reteaua „mesh Illiac”:dimensiune n*n=> diametru D=n-1 (jumatate din diametrul mesh-ului pur).

  16. Torul -varianta de mesh (diametru si mai mic - combina inelul si meshul); -conexiuni de inel dupa fiecare linie si coloana. => tor n*n: grad de nod d = 4, diametru D = 2└ n/2 ┘.

  17. Retele sistolice - implementeaza algoritmi ficsi. Exemplu: reteau pentru inmultirea a doua matrici. -gradnod interior d = 6; -utilizare:sisteme cu fluxuri multidirectionale de date, procesoare de masive VLSI, pentru aplicatii speciale; -raport performanta / cost bun; -dezavantaje: aplicabilitate limitata si dificultate de programare.

  18. Hipercuburi => hipercub de dimensiune n are N = 2n noduri (2 noduri / dimensiune); -grad nod d = n si diametru D = n; -fiecare nod: căi de comunicaţie directe şi separate către n alte noduri (muchiile cubului); -fiecare nod:adresă n biţi (2n adrese distincte).

  19. => alta reprezentare 2D a unei retele hipercub de dimensiune mare: n=4 n=5 n = 4 n = 5

  20. Exemple: -cubul cosmic Caltech, dimensiune n=6 şi N=64 de procesoare; -sisteme comerciale: NCUBE, Intel şi FPS - Floating Point System (memoria distribuită între noduri, numai cu memorie locală la fiecare nod). Avantaje: -fiecare procesor cu memoria sa locală şi canalele directe de comunicaţie => problema gâtuirii sistemului este mai puţin importantă! Dezavantaj: -sisteme hipercub comerciale - comunicaţie directă interprocesor serială => limiteaza productivitatea!

  21. Cicluri cub-conectate => ciclurile cub-conectate (CCC – „cube connected cycles”) - modificare a arhitecturii hipercub. Exemplu: hipercub de dimensiune 3 => ciclu cub-conectat de dimensiune 3.

  22. -retea CCC de dimensiune k provine de la un hipercub de dimensiune k cu n = 2k noduri (fiecare nod inlocuit printr-un inel avand k noduri). =>retea cuk*2k noduri ! Pentru reteaua din figura (k = 3) => diametrul D = 6 (dublul diametrului hipercubului de origine). In general, diametrul unei retele CCC de dimensiune k este D = 2k! -avantaj: grad constant de nod d = 3 (nu depinde de dimensiunea hipercubului), => o arhitectura mai buna pentru realizarea sistemelor scalabile (daca se permite tolerarea latentei).

  23. Retea n-cub de baza k -n= dimensiunea cubului,k= numarul de noduri de pe fiecare dimensiune. Exemplu: retea 3-cub de baza 4:

  24. -numarul de noduri este N=kn; -un nod => adresa de n cifre in baza k: A = a0a1...an-1, unde ai reprezinta pozitia nodului in dimensiunea i; -toate legaturile sunt bidirectionale; -torul obisnuit bidimensional 3*3 este un 2-cub de baza 3; -costul acestei retele este dominat de numarul de fire si mai putin de numarul de comutatoare. => pentruo largime a sectiunii la nivel de fire constanta, retelele de dimensiune mica cu canale largi ofera o latenta mai scazuta , concurenta mai mica, productivitate generala mai mare, in comparatie cu retelele de dimensiune mare, dar cu canale inguste.

  25. Tabel recapitulativ cu principalele caracteristici ale retelelor statice:

  26. Implementarea fizica a retelelor statice => solutii tridimensionale (placile dispun de conectori pe ambele fete, nu numai lateral). -fiecare nod: un modul de prelucrare si un modul de comunicatie; -modulul de comunicatie: CFSM („Communication Finite State Machine”); -interfata catre procesor: cozi FIFO.

  27. Datele sunt transferate intre doua noduri vecine intr-o perioada de ceas !

  28. Exemplu: nod NuMesh.

  29. -topologia: tip mesh (posibil anumite noduri nu sunt populate); -nodurile speciale -> periferia sistemului.

  30. -sistemul ~ banda de asamblare bidimensionala; -buffer-ele FIFO -> functionarea procesoarelor la viteze diferite; -ceas de control: distribuit.

  31. 2.3 RETELE DINAMICE • Magistrale • Comutatoare grila • Retele multinivel

  32. Magistrale -una sau mai multe magistrale pentru inteconectarea componentelor; -organizarea generală:magistrală multiplexată în timp cun procesoare, m module de memorie partajată şi d dispozitive de I/E (partajate între procesoarele sistemului). Exemple: sisteme multiprocesor comerciale - Sequent, Encore, ELXSI.

  33. Avantaj: -flexibilitate (se pot oricând adăuga sau elimina module); Dezavantaj: -magistrala - resursă critică a sistemului: -scade productivitatea pe măsură ce se adaugă noi module; -căderea magistralei - catastrofală pentru sistem. => variantă: multiprocesor cu magistrală multiplă !

  34. Avantaj: previne gâtuirea sistemului ! Dezavantaj: creşterea costului sistemului prin utilizarea de mai multe magistrale şi fiecare modul cuplat la magistrală (procesor, memorie sau dispozitiv de I/E) este de tip multiport. => în practică numărul mic de magistrale (ex: 2) Exemplu: sistemul Alliant (magistrală duală între memoriile cache şi memoria principală partajată şi o magistrală concurentă pentru conectarea în exclusivitate a procesoarelor). Factori care afectează caracteristicile şi performanţele magistralei: -număr de dispozitive active pe magistrală; -algoritmul de arbitrare a magistralei; -centralizarea sau distribuţia controlului; -număr de biţi de date care se transferă la un moment dat (lungimea cuvântului); -sincronizarea transmisiei de date; -detectarea erorilor.

  35. Comutatoare grila => un comutator grilă (“crossbar switch”) conecteaza simultan oricare procesor sau procesor de I/E la oricare modul liber de memorie partajată. Organizarea generală:

  36. Comutatorul grilă permite legături de comunicaţie concurente între toate procesoarele şi toate modulele de memorie partajată. Dirijarea informatiei: prin comutatoarele punctelor de intersecţie CS (“crosspoint switch”). Structura unui CS:

  37. Avantaj: productivitate mare prin căi de comunicaţie concurente multiple. Dezavantaj:cost mare şi logica complexă. Exemplu: un sistem cu n procesoare şi n module de memorie partajate => n2 puncte de intersecţie, deci cost O(n2) !

  38. Structura unui comutator grila:

  39. Implementare comutator elementar:

  40. Varianta:

  41. Retele multinivel -în sistemele multiprocesor mari; -interconectare mai generală procesor-procesor şi procesor memorie.

  42. => interconexiuni de patru tipuri (Feng şi Wu): a) interconexiune strict fără blocare (“strictly nonblocking”): poate conecta orice intrare liberă la orice ieşire liberă, fără nici o condiţionare faţă de celelalte conexiuni existente în sistem. Exemplu: comutatorul grilă. Implementare eficientă - reţelele Clos ! Reţea Clos cu trei etaje:

  43. Numărul de intrări :N = r n (r= număr de comutatoare grilă din primul şi ultimul nivel, n= număr de intrări în fiecare comutator de pe primul nivel). => reţeaua are mai puţin decât N2 puncte de intersecţie pentru N24 şi, în general, necesită puncte de intersecţie. => pentru m2n-1 reţeaua Clos cu trei etaje este strict fără blocare.

  44. b) interconexiune fără blocare în sens larg (“wide-sense nonblocking”): poate suporta toate conexiunile posibile fără blocare, dar aceasta numai dacă se utilizează reguli specifice de rutare pentru realizarea conexiunilor. => pentru m3n/2 reţeaua Clos cu trei etaje este o reţeafără blocare în sens larg ! c) interconexiune fără blocare rearanjabilă (“rearrangeable nonblocking”): poate suporta toate conexiunile posibile între intrări şi ieşiri prin rearanjarea (reordonarea) conexiunilor sale existente. -înainte de începerea prelucrărilor trebuie să se specifice toate conexiunile dorite. => reţeaua Clos cu trei etaje este rearanjabilă dacă mn.

  45. Exemplu:reţea rearanjabilă cu număr minim de puncte de intersecţie (Benes): În general, pentruN=2nintrari=> 2n-1etaje şi N(2n-1)/2comutatoare. d) interconexiune cu blocare (“blocking”): poate realiza multe conexiuni, dar nu toate conexiunile posibile. Exemple: reţeaua Banyan, reţeaua Omega, reţeaua Data Manipulator, etc.

  46. -blocul de interschimb (comutator elementar) : • număr procesoare N => număr de niveluri log2N, număr blocuri de interschimb N/2 pentru fiecare nivel. • număr total blocuri de interschimb (N/2)log2N (în comparaţie cu N2 numărul de puncte de intersecţie ale unui comutator grilă).

  47. Retea cu legaturi hipercub -reprezentarea binară a oricărei etichete de legătură: L = bm-1 . . . b1 b0 -funcţia de interconectare a cubului: cub i ( L ) = cub i ( bm-1 . . . b1 b0 ) = bm-1 . . . bi+1 bi’ bi-1 . . . b1 b0 (pentru i=0,1, . . . , m-1, unde bi’ este complementul logic al bitului bi). => nivelul (etajul) i=2:   0 (000) 1 (001) 2 (010) 3 (011) 4 (100) 5 (101) 6 (110) 7 (111) => nivelul i=1:   0 (000) 1 (001) 4 (100) 5 (101) 2 (010) 3 (011) 6 (110) 7 (111) => nivelul i=0 :   0 (000) 2 (010) 4 (100) 6 (110) 1 (001) 3 (011) 5 (101) 7 (111)

  48. Reţea cu legaturi hipercub cu opt intrări / ieşiri şi trei niveluri:

  49. Retea omega PentruN intrări, notate cu i=0, 1, 2, …, N-1, funcţia de conexiune “shuffle”(amestecare a cărţilor de joc): sh ( i ) = ( 2 i +  2 i / N ) mod N Exemplu: pentru o conexiune “shuffle” cu un singur nivel (N=8): sh ( 0 ) = ( 0 +  0 / 8  ) mod 8 = ( 0 + 0) mod 8 = 0 mod 8 = 0 sh ( 1 ) = (2 +  2 / 8  ) mod 8 = ( 2 + 0) mod 8 = 2 mod 8 = 2 sh ( 2 ) = ( 4 +  4 / 8  ) mod 8 = ( 4 + 0) mod 8 = 4 mod 8 = 4 sh ( 3 ) = ( 6 +  6 / 8  ) mod 8 = ( 6 + 0) mod 8 = 6 mod 8 = 6 sh ( 4 ) = ( 8 +  8 / 8  ) mod 8 = ( 8 + 1) mod 8 = 9 mod 8 = 1 sh ( 5 ) = ( 10 +  10 / 8  ) mod 8 = ( 10 + 1) mod 8 = 11 mod 8 = 3 sh ( 6 ) = ( 12 +  12 / 8  ) mod 8 = ( 12 + 1) mod 8 = 13 mod 8 = 5 sh ( 7 ) = ( 14 +  14 / 8  ) mod 8 = ( 14 + 1) mod 8 = 15 mod 8 = 7 Conexiunea shuffle poate fi definita si prin relatia: sh(bm-1 bm-2 . . . b1 b0) = bm-2 . . . b1 b0 bm-1

More Related