1 / 49

Capitolul 3 Aspecte de organizare fizica a sistemelor paralele

Capitolul 3 Aspecte de organizare fizica a sistemelor paralele. Organizarea fizica a sistemelor paralele. Sisteme cu spatiu de adrese comun -> consistenta datelor “cache coherence” Sisteme cu comunicare prin mesaje -> retele de interconectare Maparea topologiilor.

mikasi
Download Presentation

Capitolul 3 Aspecte de organizare fizica a sistemelor paralele

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. Capitolul 3Aspecte de organizare fizica a sistemelor paralele

  2. Organizarea fizica a sistemelor paralele • Sisteme cu spatiu de adrese comun -> consistenta datelor “cache coherence” • Sisteme cu comunicare prin mesaje -> retele de interconectare • Maparea topologiilor

  3. Problema memoriilor cache in sisteme multiprocesor • Prezenta memoriilor cache conduce la posibilitatea ca mai multe copii locale ale aceleiasi date sa fie modificate independent de catre mai multe procesoare in acelasi timp => problema consistentei memoriilor cache (cache coherence)

  4. Exemplu ilustrativ pentru problema Cache Coherence Cand se modifica valoarea unei variabile, toate copiile sale trebuie fie invalidate fie actualizate • Invalidate protocol (b) Update protocol Din: [Grama,Gupta,Kumar&Karypis]

  5. Cache Coherence: Protocoalele Update si Invalidate • Daca un procesor citeste o valoare o singura data si apoi nu o mai utilizeaza, protocolul tip Update genereaza o regie excesiva • Daca doua procesoare realizeaza alternativ testari si actualizari pe o variabila, protocolul de tip Update este mai bun • False sharing: procesoare diferite actualizeaza parti diferite ale aceleiasi linii de cache. Problema apare la ambele protocoale • Alegerea intre protocol tip Update si tip Invalidate: tradeoff intre surplus de regie (update) si procesoare in stare idle (invalidate) • Majoritatea implementarilor se bazeaza pe protocoale tip invalidate

  6. Protocolul Invalidate • Fiecare copie de date este asociata cu o stare • Exemplu de set de stari: shared, invalid, dirty. • In shared: exista mai multe copii valide. O actualizare a unei copii (comanda write a procesorului) marcheaza copia in cauza ca dirty si duce la generarea comenziii de invalidare pentru toate celelalte copii (prin comanda c_write) • In dirty: exista o singura copie valida, la manipularea acesteia nu este necesar sa se genereze comenzi de invalidare • In invalid: copia a fost invalidata deja, in consecinta o cerere de tip read asupra ei genereaza comanda de actualizare, ea devenind copie valida

  7. Protocolul Invalidate Processor actions Coherence actions State diagram of a simple three-state coherence protocol. Din: [Grama,Gupta,Kumar&Karypis]

  8. Implementarea Cache coherence protocols • De regula implementarile se fac prin mecanisme hardware • Snoopy cache systems • Directory based systems Pt detalii v. [GGKK] 2.4.6

  9. Retele de interconectare • Retelele de interconectare furnizeaza mecanismule de transfer de date intre procesoare sau intre procesoare si memorii • Topologia retelelor de calculatoare: • Statica : legaturi directe(point-to-point) intre nodurle procesoare • Dinamica : contin legaturi si elemente de comutare (switch) • Un element de comutare (switch): • set de porturi de intrare si porturi de iesire => gradul sau (numarul total de porturi) • Costuri: • costul unui switch creste cu patratul gradului sau • Costul echipamentelor periferice este direct proportional cu gradul • Costul impachetarii este direct proportional cu numarul de pini

  10. Retele cu topologie statica/dinamica Din: [Grama,Gupta,Kumar&Karypis]

  11. Tipuri de topologii • Retea complet conectata (Completely connected) • Retea stea • Masiv linear (Linear array) • Masiv bidimensional (2D mesh) • Masiv k-dimensional (k-D mesh) • Hipercub • Retea arborescenta (Tree-Based network) • Magistrala partajata (Bus-based) • Retea crossbar • Retea multietape (Multistage network)

  12. Metrici ale retelelor • Diametrul: • Distanta maxima intre 2 noduri procesoare • Distanta intre 2 noduri procesoare se defineste ca fiind calea cea mai scurta (in termenii numarului de legaturi directe) intre acestea • De dorit sa fie cat mai mic • Conectivitatea: • Numarul minim de drumuri diferite intre oricare 2 noduri • Numarul minim de arce care trebuie inlaturate oentru a rupe reteaua in 2 retele deconectate • De dorit sa fie cat mai mare • Latimea bisectiei (bisection width): • Numarul minim de legaturi care trebuie eliminate pentru a rupe reteaua in 2 jumatati egale (cvasi-egale daca reteaua are un numar impar de noduri) • De dorit sa fie cat mai mare

  13. Metrici ale retelelor (cont) • Latimea de banda a unui canal (channel bandwidth): • rata maxima de comunicare intre capetele unei legaturi directe • Bisection bandwidth: • Bisection bandwidth = bisection width * channel bandwidth • De dorit sa fie cat mai mare • Cost: • numarul de legaturi • De dorit sa fie cat mai mic

  14. Metrici ale retelelor – cazul retelelor dinamice • Diametrul: • distanta maxima intre doua noduri procesoare • Aproximata prin distanta maxima intre oricare doua noduri (procesoare sau switch) • Conectivitatea • De nod: Numarul minim de noduri (switch-uri) care trebuie eliminate pentru a fragnenta reteaua • De arc: Numarul minim de arce care trebuie eliminate pentru a fragmenta reteaua • Latimea bisectiei: • numarul minim de muchii care trebuie eliminate pentru a partitiona reteaua in doua jumatati cu acelasi numar de noduri procesoare (nodurile switch nu conteaza !)

  15. Metrici ale retelelor – cazul retelelor dinamice (cont)

  16. Retea complet conectata si retea stea Din: [Grama,Gupta,Kumar&Karypis]

  17. Retea complet conectata • Fiecare procesor este conectat cu toate celelalte procesoare • Diametrul = 1 • Conectivitatea = p-1 • Latimea bisectiei = p*p/4 • Cost : Numarul de legaturi este proportional cu O(p*p) • Complexitatea hardware nu permite realizarea acestui tip de retea pentru valori mari ale lui p • Asemanatoare cu retelele crossbar (diferenta e ca legaturile aici sunt statice)

  18. Retea stea • Fiecare nod este conectat numai cu un nod comun (“centrul”) • Diametrul = 2 (Distanta intre oricare doua noduri este O(1)) • Conectivitatea = 1 • Latimea bisectiei = 1 • Cost = p-1 • Nodul central este punctul slab al retelei • Din acest punct de vedere, reteaua stea este asemanatoare cu magistrala comuna

  19. Masive de procesoare: lineare, bidimensionale, k-dimensionale • Linear: fiecare nod are 2 vecini cu care este conectat direct. • Daca sunt legate si nodurile de la extremitati, reteaua se numeste inel sau tor 1-D • Masiv 2-D (2D mesh)(grila 2-D): fiecare nod “interior” are 4 vecini (N, S, E, V) • Exista si varianta de grila periodica (tor) (wraparound mesh) • Masiv k-D: prin generalizare, fiecare nod are 2k dimensiuni • Hipercub: caz special de masiv k-dimensional: K=log p, unde p este numarul total de noduri

  20. Masive lineare Din: [Grama,Gupta,Kumar&Karypis]

  21. Masive 2- si 3-dimensionale Din: [Grama,Gupta,Kumar&Karypis]

  22. Hipercuburi Din: [Grama,Gupta,Kumar&Karypis]

  23. Hipercuburi (cont) • Distanta maxima intre 2 noduri este log p • Fiecare nod are log p vecini • Distanta intre 2 noduri este data de numarul de pozitii binare in care difera numerele nodurilor (dist Hamming)

  24. Retele arborescente (Tree-Based Networks) Din: [Grama,Gupta,Kumar&Karypis]

  25. Retele arborescente (cont) • Distanta maxima intre doua noduri este 2logp. • Legaturile situate mai aproape de radacina au un trafic mai mare decat cele aflate mai aproape de baza • Varianta de arbore gras (fat tree): legaturile mai aproape de radacina constau din mai multe canale de comunicare • Topologiile arborescente sunt planare

  26. Fat Trees Din: [Grama,Gupta,Kumar&Karypis]

  27. Comparatie intre retelele cu topologie statica Din: [Grama,Gupta,Kumar&Karypis]

  28. Magistrala partajata

  29. Magistrala partajata (cont) • Avantaje: cost redus, costul comunicarii intre oricare 2 noduri este acelasi, adecvata ptr operatii de broadcast, scalabilitate • Dezavantaje: probabilitate mare de conflict • Evaluare: • Diametru: O(1) • Conectivitate: O(1) • Latimea bisectiei: O(1) • Cost: O(p)

  30. Retea crossbar Din: [Grama,Gupta,Kumar&Karypis]

  31. Retea crossbar (cont) • Evaluare: • Diametru: O(1) • Conectivitate: O(1) • Latimea bisectiei: O(p) • Cost: O(p*p) => dezavantaj pentru numar mare de procesoare • Non-blocking: daca un procesor este conectat la o memorie, aceasta nu impiedica celelalte procesoare sa se conecteze la celelalte blocuri de memorie

  32. Multistage Networks • Un compromis intre avantajele si dezavantajele retelelor crossbar si magistrala comuna: • Crossbar: scalabil in performanta, nu si in cost • Magistrala comuna: scalabil in cost, nu si in performanta

  33. Multistage Networks (cont) • Retea Omega: • Conecteaza p procesoare la p blocuri de memorie • Are logp etape • Fiecare etapa contine p/2 comutatoare • Fiecare etapa conecteaza p intrari si p iesiri dupa un tipar de interconectare de tip perfect shuffle

  34. Din: [Grama,Gupta,Kumar&Karypis]

  35. Din: [Grama,Gupta,Kumar&Karypis]

  36. Din: [Grama,Gupta,Kumar&Karypis]

  37. Rutarea in retea omega • Rutarea unui mesaj de la sursa nr s la destinatia nr d • Se considera reprezentarile binare ale lui s si d => au log p biti, numar egal cu numarul de etape • La fiecare etapa, daca bitul curent din s = bitul curent din d comutatorul este in regim pass through, altfel este in regim cross-over • Este posibil ca accesul la un bloc de memorie de catre un procesor sa blocheze accesul la alt bloc de memorie al altui procesor => reteaua se numeste de tip blocking network

  38. Din: [Grama,Gupta,Kumar&Karypis]

  39. Comparatie intre retelele cu topologie dinamica Din: [Grama,Gupta,Kumar&Karypis]

  40. Importanta topologiei in maparea proceselor pe procesoare

  41. Tehnici de mapare pentru grafuri • Ideal: prin asignarea de procese la procesoare, legaturile de comunicare directa intre procese sunt transpuse pe legaturi fizice directe intre procesoare • In practica: difera tiparul de comunicare intre procesele programului paralel de topologia retelei de interconectare • Se utilizeaza tehnici de mapare prin inglobare (embedding) a grafului programului pe graful retelei fizice

  42. Metrici pentru operatia de inglobare a grafurilor • La maparea prin inglobare a grafului G(V,E) (graf oaspete) intr-un graf G’(V’,E’) (graf gazda) se definesc metricile: • Congestia: numarul maxim de muchii ale lui G mapate la orice muchie a lui G’. • Dilatarea: numarul maxim de muchii a lui G’ la care este mapata o muchie din G • Expansiunea: raportul dintre numarul de noduri a grafului gazda si a grafului oaspete • Incarcarea: numarul maxim de noduri ale grafului oaspete care este mapat pe acelasi nod al grafului gazda • Ideal: congestia, dilatarea, expansiunea, incarcarea -> 1

  43. Inglobarea unui masiv linear in hipercub • Un masiv linear (sau inel) compus din 2d noduri (etichetate de la 0 la 2d − 1) poate fi inglobat intr-un hipercub d-dimensional hypercube prin maparea nodului i al masivului linear in nodul G(i,d) al hipercubului • Functia G(i, x) este definita: 0

  44. Inglobarea unui masiv linear in hipercub (cont) Functia G: binary reflected Gray code (RGC). G(i,d) = a i-a intrare in secventa de coduri Gray pe d biti Tabela codurilor Gray pe d+1 biti se obtine din tabela codurilor Gray pe d biti, prefixata de un bit de 0 si respectiv de un bit de 1 Deoarece valorile adiacente (G(i, d) and G(i + 1, d)) difera doar printr-o pozitie binara, nodurile corespunzatoare sunt mapate la noduri vecine in hipercub => Congestia, dilatarea, expansiunea sunt 1.

  45. Inglobarea unui masiv in hipercub • Un masiv (tor) 2r × 2s poate fi mapat pe un hipercub cu 2r+s noduri prin maparea nodului (i, j) al masivului la nodul G(i, r− 1) || G(j, s − 1) al hipercubului (operatia || denota concatenarea celor 2 coduri Gray).

  46. Inglobarea unui masiv multidimensional intr-un liniar • Apare situatia de congestie datorita maparii unui graf mai dens pe unul mai rar

More Related