Solutii eficiente clustering
* Echipamente SCI (și software de suport) permite construirea așa-numitele topologii MASH fără utilizarea de switch-uri
Figura 10. strâns legată de sistem multiprocesor cu memorie cu acces asimetricO caracteristică interesantă a interfețelor de comunicare care asigură o latență scăzută, este faptul că, pe baza lor, este posibil să se construiască sisteme cu arhitectura NUMA, precum și sisteme care software-ul de nivel poate simula sisteme multiprocesor SMP. Avantajul acestui sistem este că puteți utiliza sisteme de operare standard și software-ul, axat pe utilizarea soluțiilor SMP, dar din cauza ridicate, de mai multe ori mai mare decât interacțiunea interprocessor SMP latență, performanța unui astfel de sistem va maloprognoziruemo.
Există mai multe abordări diferite pentru sisteme de calcul paralel de programare:
la standard de limbaje de programare utilizate pe scară largă folosind biblioteci de comunicare și interfețe pentru a organiza comunicarea interprocessor (PVM, MPI, HPVM, MPL, OpenMP, ShMem)
folosirea limbilor specializate de programare paralelă și extensii paralele (implementari paralele ale Fortran și C / C ++, ADA, Modula-3)
utilizarea paralelizarea automate și semi-automată a programelor secvențiale (BERT 77, forja, KAP, sâmburii, VAST)
Limbaje de programare folosind proceduri standard biblioteci paralele specializate, care sunt axate pe soluționarea problemelor în domenii specifice, cum ar fi algebra liniara, metode Monte Carlo, algoritmi genetici, imagistica, chimie moleculara, etc. (ATLAS, DOUG, GALOPPS, NAMD, ScaLAPACK).
Există, de asemenea, o mulțime de instrumente care simplifică proiectarea programelor paralele. De exemplu:
COD - sistemul grafic pentru crearea de programe paralele. Un program paralel este reprezentat ca un grafic al cărui vârf este o secvență de program. Pentru a trimite mesaje utilizând PVM și MPI biblioteci.
TRAPPER - produs comercial al companiei germane Genias. mediu de programare grafică, care include componente pentru construirea de software paralel.
În experiența utilizatorilor sistem de clustere de înaltă performanță, cele mai eficiente sunt programe scrise în mod specific în ceea ce privește comunicarea nevoie interprocessor. Și în ciuda faptului că programarea în pachete care folosesc interfata de memorie sau instrumente pentru paralelizare automată comune, mult mai convenabil, cel mai frecvent astăzi, MPI si PVM biblioteci.
Având în vedere MPI popularitate masivă (The Message Passing Interface), pe care doriți un pic despre el să spună.
Pentru a evalua funcționalitatea MPI vreau să prezint atenția o reprezentare grafică a timpului de sisteme de ecuații liniare în funcție de numărul de procesoare din cluster de rezolvare. Cluster bazate pe procesoare Intel și nod sistem de interconectare SCI (Scalable Coherent Interface). Este o problemă deosebită, și nu înțeleg rezultatele ca un model general pentru estimarea performanței sistemului dorit.
Figura 11. Dependența timpului sistemelor de ecuații liniare în funcție de numărul de procesoare din cluster rezolvareamijloace de punere în aplicare Cluster de înaltă disponibilitate
Clusterele disponibilitate ridicată pot fi grupate în:
Shared Nimic Arhitectura (arhitectura partajată-nimic)
Shared Disk Architecture (arhitectura shared-disc)
Figura 12. Shared Nimic ArhitecturăArhitectura fără alocarea de resurse nu utilizează sistemul de stocare partajat. Atunci când este utilizat, fiecare nod are propriile unități de pe disc, care nu sunt partajate noduri ale sistemului de cluster. De fapt, numai canalele de comunicare sunt împărțite în hardware-ul.
Figura 13. Arhitectura partajată-discArhitectura shared-disc utilizat clasic pentru a construi un sisteme de cluster de înaltă disponibilitate destinat procesării volumelor mari de date. Un astfel de sistem include un sistem de stocare a datelor comune și mănunchiul de noduri care au distribuit acces la date partajate. La sistem de stocare de mare putere, atunci când se ocupă cu sarcini orientate arhitectura de procesare cu un disc partajat este mai eficient. În acest caz, nu este nevoie să păstreze mai multe copii ale datelor și, în același timp, în cazul în care un nod eșuează, sarcinile pot fi disponibile instantaneu la alte noduri.
În cazul în care în cazul în care problema este logic posibil de a face schimb de date pentru a solicita de la subset de cereri pot fi procesate folosind o parte din date, sistemul partajat-nimic nu poate fi o soluție mai eficientă.
Figura 14. Un sistem de grup eterogenCele mai populare sisteme comerciale sunt doua noduri cluster-ele. Distinge de punere în aplicare (Active-Active) și Active-pasive (pasive-active) Activ-activ model de sisteme de tip cluster tolerant la erori în distribuirea resurselor software.
Figura 15. Modelul Active-Active Figura 16. clusterului activ-activ cu 3 noduriUtilizatorii se confruntă de multe ori aceeași problemă atunci când aveți nevoie pentru a oferi o operațiune de autoprotejat a soluțiilor software gata făcute. Din păcate, modelul activ-activ, în acest caz, nu funcționează. Pentru aceste situații, utilizați un model în care este asigurată de sarcinile de migrare efectuate pe nodul, corigenți, la alte noduri. Astfel, vom obține punerea în aplicare a Active-pasive.
Figura 17. Modelul activ-pasivăAvând în vedere că, în multe cazuri, putem rupe o sarcină în mai multe zone de distribuție de responsabilitate, precum și faptul că, în general, compania avea nevoie pentru a efectua mai multe sarcini diferite, puse în aplicare așa-numitul model al unui pseudo Activ-Activ.
Figura 18. Active-Active nodurile clusterului Pseudo 3Dacă aveți nevoie pentru a asigura funcționarea autoprotejat a mai multor resurse software, este suficient pentru a adăuga un nou sistem de gazdă, și rula pe un grup de sarcini necesare, care, în caz de eșec al acestei unități va fi transferat la execuție pe un alt nod. Acest model este implementat în software-ul ReliantHA pentru OS Caldera OpenUnix și UnixWare, care sprijină gruparea, de la 2 la 4 noduri din MSCS (Microsoft Cluster Service) și modelul Linux Failover Cluster.
Sistemul de comunicare în sistemele de cluster tolerant la erori pot fi construite pe același echipament ca în clustere de înaltă performanță. Dar, în cazul arhitecturii cu o unitate de disc partajat, devine necesar pentru a oferi acces de mare viteză la sistemul de stocare a datelor partajate. Această problemă are o mulțime de soluții de azi.
Dacă utilizați un model simplu de 2-nod, accesul pe disc poate fi construit prin conexiunea lor directă la magistrala SCSI partajat,
Figura 19. Arhitectura unui autobuz SCSI partajatsau utilizând un subsistem independent, cu disc SCSI integrat la controlerul SCSI. În acest din urmă caz, drive-urile sunt conectate la un canale independente interne ale subsistemului disc.
Figura 20. Un model cu SCSI pentru subsistemul disc SCSIOpțiunea de a folosi SCSI SCSI la subsistemul disc este mai scalabil, și tolerant la erori funcționalitate. În ciuda faptului că există o altă punte de legătură între unitatea și discurile, viteza unui astfel de sistem este de obicei mai mare ca avem acces dial-up la unitatea (situația este similară cu utilizarea unui hub și un comutator în rețeaua locală). Spre deosebire de exemplul de realizare cu accesul la disc de separare pe o magistrală SCSI comună, un subsistem separat de disc independent este, de asemenea, un mod convenabil de sisteme de construcții fără puncte unice de eșec și posibilitatea construirii unei configurații multi-nod.
Recent, o nouă interfață serială populară pentru protocolul SCSI - FC (Fibre Channel). Bazat pe FC așa-numita rețea zona de stocare - SAN (Storage Area Network).
Sistemul Cluster Figura 21. cu un SAN bazat pe Fibre ChannelPrincipalele avantaje Fibre Channel pot include practic toate caracteristicile sale.
debit mare de date
independență Protocol (nivelurile 0-3)
distanțe lungi între puncte
latență scăzută în transmiterea de pachete scurte
Fiabilitate ridicată de transmisie
scalabilitate practic nelimitat
Aceste caracteristici extraordinare Fibre Channel a primit, datorită faptului că specialiștii săi de proiectare au fost implicați în domeniile de ambele interfețe de canal și de rețea, și au reușit să combine într-o interfață FC dintre caracteristicile pozitive ale ambelor.
Pentru a înțelege semnificația FC I dau comparație tabelul FC și interfața SCSI paralelă.
Tabelul 2. Tabelul Caracteristicile comparative ale FC și SCSI interfață paralelă
punerea în aplicare punct-la-punct a unui dispozitiv de comutare de circuit extrem de complicat
Astăzi, FC dispozitive sunt mai scumpe decât dispozitivele cu SCSI paralel, dar diferența de preț în ultimii ani a redus dramatic. Unități și dispozitive de stocare sunt aproape egale ca valoare implementările SCSI paralele, o diferență semnificativă în costul de numai adaptoare FC.
Există un alt exemplu de realizare foarte interesantă a arhitecturii de cluster - sistem de clustere cu memorie partajată (inclusiv RAM) a memoriei partajate Cluster. De fapt, acest grup poate funcționa ca un model moderat legat de sistem multiprocesor și sunt strâns legate. Un astfel de sistem, așa cum am menționat mai devreme în acest articol, se numește NUMA.
Figura 22. Modelul de memorie partajată de clusterCluster de memorie partajată utilizează software (servicii de clustere), care oferă o imagine de sistem unic (o singură imagine de sistem), chiar dacă cluster este construit ca o arhitectura nimic în comun, care este văzut de sistemul de operare.
La sfârșitul poveștii sistemelor de dispersie disponibile extrem, vreau să dau statistici referitoare la timpii morți diferite sisteme.
Figura 23. Compararea nefuncționare medii a diferitelor sistemeDupă cum puteți vedea, sistem de clustere de înaltă disponibilitate nu este un panaceu, în timp ce minimizează timpii morți. În cazul în care un sistem simplu este foarte critic, atunci utilizarea sistemului de clasă tolerantă la defecte sau continuă disponibilitate, din această clasă au disponibilitatea sistemului este mult mai mare decât clasa de sistem de înaltă disponibilitate.
Exemple de soluții testate
Deoarece succesul oricărei tehnologii dovedit exemple de aplicarea sa practică, vreau să vă arăt câteva variante ale celor mai importante, în opinia noastră, soluții de cluster.
Mai întâi de clustere de înaltă performanță.
În IBM SP2 sunt folosite ca noduri mașină RS / 6000 SP Switch2 comutator conectat. Throughput a comutatorului - 500MB / s într-o singură direcție, valoarea retardare - 2,5 microsecunde.
Compaq AlphaServer SC. Unitățile - 4 procesoare de tip sistem Compaq AlphaServer ES45, conectate printr-o interfață de comunicație QsNet, parametrii care au fost menționate mai sus.
În aceeași listă supercomputer sunt mașini construite pe platformele uzuale Intel și switch-uri SCI și Myrinet și chiar ordinare rapid si Gigabit Ethernet. Mai mult decât atât, la fel ca în primele două exemple de realizare, precum și sistemele de înaltă dispersie, bazate pe echipamente de obicei, pachetele MPI sunt utilizate pentru programare.
Și, în sfârșit, vreau să dau un frumos exemplu al unui sistem scalabil de cluster de înaltă disponibilitate. Modelul hardware IBM DB / 2 soluție de cluster de prelucrare a bazei de date de mare viteză tolerant la erori.
Figura 24. Cluster IBM DB2Asta e tot. Dacă cineva are întrebări, sfaturi sau dorinta de a comunica - bun venit. Locația mea veți găsi la sfârșitul articolului.
"Arhitecturi Dimensionarea Up paralele", - Greg Pfister, Senior Technical membru al personalului de la IBM.
„Este posibil să failover pentru Windows?“, - Natalia Pirogov, editura materiale „sisteme deschise“.
„Utilizarea sistemelor paralleling problemelor într-un cluster legat slab“ - M.N.Ivanov.
„Calculatoare tolerante la defecte companii Stratus“, - Victor Schnitman, publicarea de materiale „sisteme deschise.“
„astăzi de calculatoare de înaltă performanță“, - V. Schnitman, informații și analize ale Tehnologiei Informatiei Center.
„Pasul la rețele de stocare,“ informații și materiale analitice companii USTAR.
„Evoluția arhitecturii interfeței virtuale“ - „sisteme deschise“ Thorsten von Aiken, Werner Vogels, publicarea de materiale
Laboratorul de Materiale paralele Tehnologii Informaționale „Centrul de Calcul al Universității de Stat din Moscova.“
Materiale Cluster Info Centrul de Calcul.
Materiale SCI Europa.
Materiale VI Forum (Virtual Architecture Forum Dezvoltatori).
Materiale de Caldera.
Materiale companii Dolphinics.
Materiale companii EMULEX.
Materiale companii DMI Software, o divizie a Intel Americas, Inc. (DMI).
Materiale companii Myricom, Inc.
Materiale de companie Oracle.
Recomandări Suport de Intel.