Contacte

Sistemul de operare al clusterului. Rezumat: sisteme de cluster. Echipamente și protocoale de rețea


Departamentul 29 "Manageri Sisteme intelectuale"

Rezumat pe subiect:

Sisteme de cluster

Efectuat:

grupul de studenți K9-292.

Popov i.a.

Moscova 2001.

1. Introducere

2. Clase de bază ale computerelor paralele moderne

3. Arhitectura cluster de computere paralele

4. Obiectivele creării sistemelor de cluster

5. Clusterele de fabrică

6. Clustere de înaltă performanță

7. Proiectul Beowulf.

8. Concluzie

9. Literatură

Introducere

Dezvoltarea sistemelor de calcul multiprocesor

Dezvoltarea arhitecturilor tradiționale pentru construcția sistemelor de calcul, cum ar fi SMP, MPP, sistemele paralele vectoriale, merge destul de rapid. Creșterea productivității, fiabilitatea și toleranța la defecțiuni crește. Cu toate acestea, aceste arhitecturi au un dezavantaj - costul creat al sistemelor, uneori inaccesibil pentru mulți utilizatori ai unor astfel de sisteme - organizații educaționale și de cercetare. Are o foarte mare datorită complicațiilor componentelor hardware și software ale sistemului, care sunt necesare pentru a furniza astfel de rate de creștere a productivității. Cu toate acestea, nevoia de resurse computaționale este în prezent foarte ridicată în multe domenii de activități științifice și practice și nu are resursele sistemelor de supercomputere tradiționale.

Sistemele de cluster au apărut ca o soluție mai ieftină la problema lipsei de resurse de calcul și se bazează pe utilizarea tehnologiilor răspândite și relativ ieftine în arhitectura, hardware și software., cum ar fi PC-ul, Ethernet, Linux etc. Utilizarea tehnologiei de masă în sistemele de cluster a devenit posibilă din cauza progreselor semnificative în dezvoltarea componentelor sistemelor convenționale de calcul, cum ar fi procesoarele centrale, sistemele de operare, mass-media de comunicare.

Deoarece sistemele de cluster sunt arhitecturale, dezvoltarea sistemelor cu paralelism MPP, rolul principal în dezvoltarea lor este progresul în domeniul tehnologiilor de rețea. Până în prezent, au apărut soluții de comunicare ieftine, dar eficiente. Acest lucru a predeterminat apariția rapidă și dezvoltarea sistemelor de calcul al clusterului. Alți factori au contribuit, de asemenea, la progresul dezvoltării sistemelor de cluster.

Performanța computerelor personale bazate pe procesoarele Intel a crescut, de asemenea, semnificativ în ultimii ani. Astfel de computere au început să creeze o concurență serioasă pentru stațiile de lucru bazate pe procesoare mai scumpe și mai puternice de risc. În același timp, a început să dobândească popularitate crescândă a sistemului de operare Linux - gratuit, distribuită versiunea Unix. În același timp, în organizațiile științifice și universități, unde sunt dezvoltate cele mai multe sisteme de cluster, de regulă, există specialiști în sistemul de operare Linux.

Gradul ridicat de dezvoltare a sistemelor de cluster la data înregistrează faptul că în lista celor mai puternice supercomputere ale instalațiilor de cluster Mondiale Top500 - 11 sunt enumerate.


Clasele de bază ale computerelor paralele moderne

Sistemele de cluster sunt dezvoltarea sistemelor paralele. Pentru a face locul sistemelor de cluster, printre alte tipuri de arhitecturi paralele ale sistemelor de calcul, trebuie să oferiți clasificarea lor. Sistemele paralele pot fi clasificate prin diferite criterii.

Din punct de vedere hardware, parametrul principal pentru clasificarea computerelor paralele este disponibilitatea memoriei generale (SMP) sau a memoriei distribuite (MPP). Ceva ce media dintre SMP și MPP este numea arhitectură, unde memoria este distribuită fizic, dar este accesibile logic.

Sisteme multiprocesoare simetrice

SMP Sistemul constă din mai multe procesoare omogene și o matrice generală de memorie. Unul dintre abordările SMP utilizate frecvent la formarea unui sistem de memorie publică scalabilă, constă într-o organizație uniformă de acces la memorie prin organizarea unui canal de procesor de memorie scalabil:

Fiecare operație de acces la memorie este interpretată ca o tranzacție asupra magistralei de memorie a procesorului. Coerența cache-ului este menținută de hardware.

În SMP, fiecare procesor are cel puțin o memorie de cache proprie (și poate mai multe).

Se poate spune că sistemul SMP este un computer cu mai multe procesoare egale. Totul este într-o singură instanță: o memorie, un subsistem I / O, unul sistem de operare. Cuvântul "egal" înseamnă că fiecare procesor poate face tot ceea ce altul. Fiecare procesor are acces la toată memoria, poate efectua orice operație de intrare / ieșire, întrerup alte procesoare etc.

Dezavantajul acestei arhitecturi este nevoia de a organiza procesoarele procesorului canalului cu o lățime de bandă foarte mare.

Sisteme masive-paralele

Sistemul MPP masiv-paralel constă în noduri omogene de calcul, inclusiv:

  • unul sau mai multe procesoare centrale (de obicei RISC)
  • memoria locală (acces direct la memoria altor noduri este imposibil)
  • procesor de comunicare sau adaptor de rețea
  • hard disk-uri și / sau alte dispozitive în / în

Componentele speciale I / O și nodurile de control pot fi adăugate la sistem. Nodurile sunt asociate prin intermediul unui mediu de comunicare (rețea de mare viteză, comutator etc.)

Sisteme cu acces neuniform la memoria NATA

NUMA (accesul memoriei neuniforme) Spre deosebire de faptul că SMP-ul obișnuit al arhitecturii de memorie partajată este mai multe procesoare separate, fiecare dintre ele, în plus față de cache-ul proprii, are, de asemenea, memorie locală:

Într-o astfel de arhitectură, procesorul și modulele de memorie sunt strâns integrate, prin urmare, viteza de acces la memoria locală este mult mai mare decât în \u200b\u200bmemoria procesorului "adiacent". Subsistemele I / O pot face parte din fiecare nod sau consolidat pe nodurile I / O selectate. Dacă coerența cache-ului este menținută în întregul sistem, atunci o astfel de arhitectură se numește CC-NUMA.

Cea mai ușoară modalitate de a descrie sistemul NumA, prezentând un sistem SMP mare, împărțit în mai multe părți, aceste părți sunt asociate cu autostrada de comunicație conectată la anvelopele de sistem, iar fiecare parte include propria memorie de bază și un subsistem de intrare / ieșire. Acesta este Numa: SMP mare, rupt într-un set de SMP-uri mai mici și simple. Principala problemă Numa este de a asigura coerența cache-ului. Echipamentul vă permite să lucrați cu toate dispozitivele separate ale memoriei principale ale componentelor sistemului (numite de obicei noduri) ca și cu o singură memorie gigantică.

Cluster Arhitectură

Luați în considerare localizarea arhitecturii de cluster a sistemelor de calcul în această clasificare.

Clusterul este un set legat de computere cu drepturi depline utilizate ca o singură resursă. Sub conceptul de "computer cu drepturi depline" este înțeles de către completat sistem de calculatorAvând tot ceea ce este necesar pentru funcționarea sa, inclusiv procesoarele, memoria, subsistemul I / O, precum și sistemul de operare, subsistemele, aplicațiile etc. De obicei, computerele personale sau sistemele paralele care pot avea arhitecturi SMP și chiar Numa sunt potrivite pentru acest lucru. Clusterele sunt sisteme slab pierdute, legăturile nodului sunt utilizate de una dintre tehnologiile de rețea standard (Fast / Gigabit Ethernet, Myrinet) pe baza arhitecturii de autobuz sau a comutatorului. Prin urmare, ele sunt mai ieftine în construirea modificării arhitecturii MPP.

Arhitectura clusterată a computerelor paralele

Principii generale

După cum sa menționat deja, clusterul de calcul este un set de computere combinate într-o anumită rețea pentru a rezolva o sarcină (figura 3), care este trimisă pentru utilizator ca o singură resursă. Un astfel de concept de cluster a fost sugerat și implementat la începutul anilor 80 de echipamente digitale, care până în prezent dezvoltă această tehnologie

Conceptul de "resursă unificată" înseamnă disponibilitatea software-ului care vă oferă posibilitatea utilizatorilor, administratorilor și programelor de aplicații pentru a presupune că există o singură entitate cu care lucrează este un cluster. De exemplu, sistemul de procesare a pachetelor de cluster vă permite să trimiteți o sarcină pentru procesarea clusterului și nu un computer separat. Un exemplu mai complex sunt sistemele de baze de date. Aproape toți producătorii de sisteme de baze de date au versiuni care operează în modul paralel pe mai multe mașini de cluster. Ca urmare a aplicației utilizând baza de date, nu aveți grijă de locul în care se efectuează munca lor. DBMS-ul este responsabil pentru sincronizarea acțiunii paralele și menținerea integrității bazei de date.

Calculatoare care formează un cluster - așa-numitele noduri de cluster - sunt întotdeauna relativ independente, ceea ce permite oprirea sau oprirea oricare dintre ele munca preventivă Sau instalarea de echipamente suplimentare fără a perturba performanța întregului cluster.

Ca noduri de calcul în cluster, computerele personale cu un singur procesor sunt de obicei utilizate, două sau patru procesoare SMP SF. Fiecare nod rulează copia sistemului de operare, care este cea mai des folosită de sistemele de operare standard: Linux, NT, Solaris etc. Compoziția și puterea nodurilor pot varia chiar și în același cluster, permițând capacitatea de a crea sisteme neomogene. Alegerea unui anumit mediu de comunicare este determinată de mulți factori: caracteristicile clasei de sarcini rezolvate, necesitatea expansiunii ulterioare a clusterului etc. Este posibil să se permită computere specializate în configurație, cum ar fi un server de fișiere și, de regulă, este prevăzută posibilitatea accesului la distanță la cluster prin Internet.

Din definiția arhitecturii sistemelor de cluster rezultă că include o gamă largă de sisteme. Având în vedere punctele extreme, clusterul poate fi considerat o pereche de PC conectat de rețeaua locală de rețea de 10 megobit și sistemul de calcul creat ca parte a proiectului de cplant în Laboratorul Național Sandia: 1400 de stații de lucru bazate pe procesoare alfa asociate cu a Rețea Myrinet de mare viteză.

Astfel, se poate observa că există o mulțime de opțiuni de construcție a clusterului diferite. În același timp, tehnologiile și standardele de comunicații utilizate au o importanță deosebită în arhitectura clusterului. Ele determină în mare măsură gama de sarcini, pentru care pot fi utilizate clustere construite pe baza acestor tehnologii.

Tehnologii de comunicare pentru construirea clusterelor

Clusterele pot sta atât pe baza anvelopelor specializate de transmisie a datelor de mare viteză, cât și pe tehnologii de rețea de masă. Printre standardele de comunicare în masă sunt acum cele mai des utilizate de rețeaua Ethernet sau mai mult din opțiunea sa productivă - Fast Ethernet, de regulă, pe baza comutatoarelor. Cu toate acestea, rapoartele mari generale pentru trimiterea de mesaje în cadrul Fast Ethernet conduc la restricții grave asupra gamei de sarcini care pot fi rezolvate în mod eficient pe un astfel de cluster. Dacă un cluster necesită o performanță excelentă și o versatilitate, este necesar să se utilizeze mai multă viteză și tehnologii specializate. Acestea includ SCI, Myrinet, Clan, ServerNet etc. Caracteristicile comparative ale acestor tehnologii sunt prezentate în
Tabelul 1.

ServerNet.

Fast Ethernet

Leadnce (MPI)

Lățime de bandă (MPI)

180 MB / C

Lățime de bandă (hardware)

400 MB / C

160 mb / c

150 MB / C

12,5 MB / C

Implementarea MPI

Hpvm, Mpich-GM etc.

Tabelul 1.

Performanța rețelelor de comunicații în sistemele de cluster este determinată de mai multe caracteristici numerice. Principalele caracteristici sunt două: latență - timpul de întârziere inițial în momentul trimiterii mesajelor și lățimii de bandă de rețea, care determină viteza transferului de informații prin canale de comunicare. În același timp, nu există atât de multe caracteristici de vârf indicate în standard ca fiind reale, realizate la nivelul aplicațiilor utilizator, de exemplu, la nivelul aplicației MPI. În special, după provocarea de către utilizatorul trimiterea unui mesaj trimite (), mesajul va trece în mod constant printr-un întreg set de straturi determinate de caracteristicile organizației și echipamentelor software, înainte de a părăsi procesorul - prin urmare, există o planificare semnificativă standardele valorilor de latență. Prezența latenței duce la faptul că rata maximă de transfer în rețea nu poate fi realizată pe mesaje cu o lungime mică.

Viteza transmiterii datelor pe rețea în tehnologia Fast Ethernet și Scalable Coerenta (SCI) depinde de lungimea mesajului. Pentru Ethernet rapid, o mare varietate de latență este caracterizată - 160-180 μs, în timp ce latența pentru SCI este o valoare de aproximativ 5,6 μs. Rata maximă de transfer pentru aceleași tehnologii 10 MB / C și, respectiv, 80 MB / s.

Obiective de creare a sistemelor de cluster

Dezvoltatorii arhitecturilor sistemului de cluster au verificat diverse scopuri atunci când le creează. Primul a fost echipamentul digital cu clustere VAX / VMS. Scopul creării acestei mașini a fost îmbunătățirea fiabilității sistemului, asigurând disponibilitatea ridicată și toleranța la defecțiuni a sistemului. În prezent, există multe arhitecturi similare ale sistemului de la alți producători.

Un alt scop de a crea sisteme de cluster este de a crea sisteme de calcul paralel de înaltă performanță ieftine. Unul dintre primele proiecte care au dat un nume unei întregi clase de sisteme paralele - Cluster Beowulf - a provenit din centrul Centrului de Flight NASA Goddard Space pentru a sprijini resursele de calcul necesare ale proiectului de științe Pământ și Space. Proiectul Beowulf a început în vara anului 1994, iar în curând un cluster de prelucrare a fost asamblat pe procesoare Intel 486dx4 / 100 MHz. Fiecare nod a fost instalat pe 16 MB memorie cu acces aleator și 3 adaptoare de rețea Ethernet. Acest sistem a fost foarte reușit în legătură cu prețul / performanța, astfel încât o astfel de arhitectură a început să se dezvolte și să utilizeze pe scară largă în alte organizații și institute științifice.

Pentru fiecare clasă de clustere, arhitecturile și hardware-ul utilizat sunt caracteristice. Luați în considerare în detaliu.

Clustere de eșec

Principiile construcției

Pentru a asigura fiabilitatea și toleranța la defecțiuni a sistemelor de calcul, se aplică multe soluții hardware și software diferite. De exemplu, în sistem, toate subiectele care fac obiectul eșecurilor - surse de alimentare, procesoarele, memoria operațională și externă pot fi duplicate. Astfel de sisteme de toleranță la defecțiuni cu rezervare a componentelor sunt utilizate pentru a rezolva problemele în care nu există suficientă fiabilitate a sistemelor convenționale de calcul care sunt estimate în prezent prin probabilitate. lucrări fără probleme 99%. Aceste sarcini necesită o probabilitate de 99,999% și mai mare. O astfel de fiabilitate poate fi realizată prin utilizarea diferitelor metode de creștere a toleranței la defecțiuni. În funcție de nivelul de pregătire a sistemului de calcul, sunt alocate patru tipuri de fiabilitate:

Nivel de pregătire,%

Max. Timpul de nefuncționare

Tip de sistem

3,5 zile pe an

Convenţional)

8,5 ore pe an

Precizie ridicată (disponibilitate ridicată)

1 oră pe an

Defecțiune rezilientă)

5 minute pe an

Tolerant tolerant)

Masa 2.

Spre deosebire de sistemele de toleranță la defecțiuni cu componente excesive, precum și diverse variante de multiprocesare, grupurile combină mașini relativ independente, fiecare dintre acestea poate fi oprită pentru prevenirea sau reconfigurarea, fără a sparge capacitatea de lucru a clusterului în ansamblu. Performanța ridicată a clusterului și minimizarea perioadei de nefuncționare a aplicației se realizează datorită faptului că:

  • În cazul unei întreruperi de putere pe unul dintre noduri, aplicația continuă să funcționeze sau să repornească automat pe alte noduri de cluster;
  • eșecul unuia dintre noduri (sau mai multe) nu va duce la prăbușirea întregului sistem de cluster;
  • lucrările de prevenire și reparații, reconfigurarea sau schimbarea versiunilor software, de regulă, pot fi efectuate în nodurile de cluster alternativ, fără a întrerupe operațiile altor noduri.

O parte integrantă a clusterului este un software special care, de fapt, și rezolvă problema recuperării nodului în caz de eșec și, de asemenea, rezolvă alte sarcini. Software-ul de cluster are de obicei mai multe scripturi de recuperare a sistemului predeterminat și poate, de asemenea, să ofere administratorului capacitatea de a configura astfel de scenarii. Recuperarea după eșecuri poate fi acceptată atât pentru nod ca întreg cât și pentru componente individuale - aplicații, volume disc etc. Această caracteristică este inițiată automat în cazul unei defecțiuni a sistemului și poate fi, de asemenea, condusă de administrator, dacă, de exemplu, este necesar să opriți unul dintre noduri pentru reconfigurare.

Clusterele pot avea memorie partajată pe discuri externe, de regulă, pe matricea de disc RAID. Arrayul de disc RAID este subsistemul Server I / O pentru stocarea de date mare. În matricele RAID, un număr semnificativ de discuri relativ la capacitate redusă sunt utilizate pentru a stoca cantități mari de date, precum și pentru a oferi o fiabilitate și redundanță mai mare. O matrice similară este percepută de un computer ca un singur dispozitiv logic.

Recuperarea după eșecuri poate fi acceptată atât pentru nod ca întreg cât și pentru componente individuale - aplicații, volume disc etc. Această caracteristică este inițiată automat în cazul unei defecțiuni a sistemului și poate fi, de asemenea, condusă de administrator, dacă, de exemplu, este necesar să opriți unul dintre noduri pentru reconfigurare.

Nodurile de cluster controlează reciproc performanța și schimbările specifice "cluster", de exemplu, o configurație a clusterului, precum și transmiterea datelor între unitățile partajate și coordonarea utilizării acestora. Controlul ajutorului se efectuează utilizând un semnal special pe care nodurile de cluster le transmit reciproc pentru a confirma funcționarea normală. Terminarea semnalizării de la unul dintre semnalele de noduri software de cluster despre defecțiunea a apărut și necesitatea de a redistribui sarcina pe nodurile rămase. De exemplu, luați în considerare un cluster tolerant la defecțiuni VAX / VMS.

VAX / VMS Cluster

Dec a anunțat pentru prima dată conceptul de sistem de cluster în 1983, determinându-l ca un grup de mașini de calcul combinate, care sunt o unitate unică de procesare a informațiilor. În esență, grupul VAX este un sistem multifaceric slab cuplat, cu o memorie externă comună care oferă un mecanism unic de management și administrare.

Clusterul Vax are următoarele proprietăți:

Separarea resurselor. Calculatoarele VAX dintr-un cluster pot partaja accesul la banda partajată și unități de disc. Toate computerele VAX din cluster pot accesa fișiere de date separate ca fiind locale.

Ușor de pregătire. Dacă unul dintre computerele VAX nu reușește, sarcinile utilizatorilor săi pot fi transferați automat pe un alt computer cluster. Dacă există mai mulți controlori HSC în sistem și una dintre ele refuză, alți controlori HSC își ridică automat funcționarea.

Capacitate mare . O serie de sisteme de aplicații pot utiliza posibilitatea executării paralele a sarcinilor pe mai multe computere cluster.

Comoditate de întreținere a sistemului . Bazele de date partajate pot fi servite dintr-un singur loc. Programele aplicate pot fi instalate doar o dată discuri comune Cluster și împărțit între toate computerele clusterului.

Extensibilitate . O creștere a puterii de computere a clusterului este realizată prin conectarea computerelor suplimentare de VAX la aceasta. Dispozitive suplimentare de stocare pe discuri magnetice și benzi magnetice devin disponibile pentru toate computerele incluse în cluster.

Funcționarea clusterului VAX este determinată de două componente principale. Prima componentă este un mecanism de comunicare de mare viteză, iar al doilea este un software de sistem care oferă clienților acces transparent la serviciul de sistem. Din punct de vedere fizic, în interiorul clusterului este implementat folosind trei tehnologii diferite de anvelope cu caracteristici de performanță diferite.

Metodele de comunicare de bază în clusterul VAX sunt prezentate în fig. patru.

Smochin. 4 cluster VAX / VMS

Autobuzul CI Computer (Interconnect Computer) rulează cu o viteză de 70 Mbps și este utilizat pentru a conecta computerele VAX și a controlerelor HSC utilizând comutatorul de cuplu de stele. Fiecare conexiune CI are linii duble redundante, două pentru transmisie și două pentru a primi, utilizând tehnologia de bază CSMA, care utilizează o întârziere specifică pentru acest nod pentru a elimina coliziunile. Lungimea maximă a comunicării CI este de 45 de metri. Comutatorul în formă de stea al cuplajului Star poate accepta conectarea la 32 de anvelope CI, fiecare dintre acestea fiind proiectat pentru a conecta computerul VAX sau a controlerului HSC. Controlerul HSC este un dispozitiv inteligent care controlează funcționarea discurilor de disc și a benzii.

Calculatoarele VAX pot fi combinate într-un cluster, de asemenea printr-o rețea locală.

Ethernet utilizând interconectarea NI - rețea (așa-numitele clustere Vax locale), dar performanța unor astfel de sisteme este relativ scăzută datorită necesității de a împărtăși lățimea de bandă a rețelei Ethernet între computerele cluster și alți clienți de rețea.

De asemenea, clusterele pot costa anvelopele DSSI (interconectarea sistemului de stocare digitală). Pe autobuzul DSSSI pot fi combinate la patru computere Vax Clasa inferioară și mijlocie. Fiecare computer poate suporta mai multe adaptoare DSSSI. Un autobuz separat DSSSI funcționează cu o viteză de 4 MB / s (32 Mbps) și vă permite să conectați până la 8 dispozitive. Următoarele tipuri de dispozitive sunt acceptate: adaptorul de sistem DSSSI, controlerul discului de serie RF și controlerul de panglică din seria TF. DSSI limitează distanța dintre nodurile din cluster de 25 de metri.

Software Software Vax Clustere

Pentru a garanta interacțiunea corectă a procesatorilor unul cu celălalt la accesarea resurselor comune, cum ar fi discurile, Dec utilizează un manager de blocare DLM distribuit (manager de blocare distribuit). O caracteristică foarte importantă DLM este de a asigura starea coerentă a cache-urilor de disc pentru operațiile I / O de operare și programele de aplicații. De exemplu, aplicațiile relaționale DLM sunt responsabile pentru menținerea stării convenite între tampoanele de bază de date pe diferite computere cluster.

Sarcina de a menține coerența memoriei cache-ului I / O între procesoare din cluster este similară cu problema menținerii coerenței cache-ului într-un sistem multiprocesor puternic conectat, construit pe baza unei anumite anvelope. Blocurile de date pot apărea simultan în mai multe cache-uri și dacă un procesor modifică una dintre aceste exemplare, alte copii existente nu reflectă starea actuală a blocului de date. Conceptul de capturare a unui bloc (proprietatea blocului) este una dintre modalitățile de gestionare a acestor situații. Înainte ca unitatea să poată fi modificată de proprietatea blocului.

Lucrul cu DLM este asociat cu costuri semnificative generale. Overheads în mediul VAX / VMS poate fi mare necesitând transmisia până la șase mesaje asupra autobuzului CI pentru o operație I / O. Costurile generale pot atinge valorile de 20% pentru fiecare procesor din cluster.

Clustere de înaltă performanță

Principiile construcției

Arhitectura clusterelor de înaltă performanță a apărut ca elaborarea principiilor construirii sistemelor MPP pe componentele mai puțin productive și de masă, controlate de utilizarea generală a scopului general. Clusterele, precum și sistemele MPP constau în noduri slab cuplate, care pot fi atât omogene, cât și, spre deosebire de MPP, diverse sau eterogene. O atenție deosebită în proiectarea unei arhitecturi de înaltă performanță este plătită pentru asigurarea eficienței ridicate a anvelopei de comunicare care leagă nodurile clusterului. Deoarece există adesea anvelope masive relativ scăzute în clustere, este necesar să se ia o serie de măsuri pentru a exclude lățimea de bandă scăzută asupra performanței clusterului și organizarea de paralelizări eficiente în cluster. De exemplu, lățimea de bandă a uneia dintre cele mai mari tehnologii Ethernet Fast Ethernet la comenzi este mai mică decât cea a interconexiunilor din supercomputerele moderne ale arhitecturii MRR.

Pentru a rezolva problemele scăzute de performanță ale produselor, se utilizează mai multe metode:

Clusterul este împărțit în mai multe segmente, în cadrul căruia nodurile sunt conectate printr-o pneu de înaltă performanță a tipului de miret, iar legătura dintre nodurile de segmente diferite este efectuată de rețele de scădere de tip Ethernet / Fast Ethernet. Acest lucru vă permite să reduceți costul clusterelor pentru a crește semnificativ performanța unor astfel de clustere, rezolvând sarcini cu schimb de date intensive între procese.

Utilizarea așa-numitului "trunking", adică Combinând mai multe canale Ethernet rapid la un canal comun de mare viteză care leagă mai multe comutatoare. Dezavantajul evident al acestei abordări este "pierderea" porții de porturi implicate în interconectarea comutatoarelor.

Pentru a îmbunătăți performanțele, sunt create protocoale speciale de schimb de informații pe astfel de rețele care vă permit să utilizați mai eficient lățime de bandă de canale și să eliminați unele restricții suprapuse cu protocoale standard (TCP / IP, IPX). Această metodă este adesea utilizată în sistemele clasei Beowulf.

Calitatea principală care ar trebui să aibă un cluster de înaltă performanță va fi scalabilitate orizontală, deoarece unul dintre principalele avantaje pe care arhitectura clusterului le oferă capacitatea de a crește puterea sistemul existent Prin simpla adăugare a nodurilor noi în sistem. În plus, creșterea puterii are loc aproape proporțional cu puterea resurselor adăugate și poate fi efectuată fără a opri sistemul în timpul funcționării sale. În sistemele cu o altă arhitectură (în special, MPP), numai scalabilitatea verticală este posibilă: adăugarea memoriei, creșterea numărului de procesoare în sistemele multiprocesoare sau adăugați noi adaptoare sau discuri. Vă permite să îmbunătățiți temporar performanța sistemului. Cu toate acestea, sistemul va fi setat la numărul maxim acceptat de memorie, procesoare sau discuri, resursele de sistem vor fi epuizate și pentru a crește productivitatea, va trebui să creați un nou sistem sau să procesați semnificativ vechiul. Sistemul de cluster admite, de asemenea, scalabilitate verticală. Astfel, prin scalare verticală și orizontală, modelul clusterului oferă o mai mare flexibilitate și o simplitate a creșterii performanței sistemului.

Proiectul Beowulf.

Beowulf este un epic scandinav care spune despre evenimentele din VII - prima treime a secolului al VI-lea, al cărui participant este eroul de același nume, care sa proslăvit în bătăliile.

Un exemplu de implementare a sistemului de cluster a unei astfel de structuri este clusterele Beowulf. Proiectul Beowulf a unit despre o jumătate de duzină de organizații (în principal universități) în Statele Unite. Dezvoltatorii de proiecte principali sunt specialiști ai agenției NASA. În această formă de clustere, puteți aloca următoarele caracteristici principale:

Clusterul Beowulf constă din mai multe noduri separate, combinate într-o rețea comună, nu sunt utilizate resursele totale ale nodurilor de cluster;

OPTIMAL este considerat a construi clustere bazate pe sisteme SMP cu două procesoare;

Pentru a reduce deasupra capului de interacțiune între noduri, se utilizează un Ethernet complet de 100 MB Fast Ethernet (SCI este mai puțin frecvent), creați mai multe segmente de rețea sau conectați nodurile de cluster prin comutator;

Ca software, Linux este utilizat și bibliotecile de comunicații distribuite în mod liber (PVM și MPI);

Istoria proiectului Beowulf.

Proiectul a început în vara anului 1994 la Centrul Space NASA - Centrul de Flight Goddard Space (GSFC), mai exact în CESDIS creat pe baza ei (centrul de excelență în datele spațiale și științele informației).

Primul cluster Beowulf a fost creat pe baza computerele Intel. Arhitectura sub Linux OS. A fost un sistem constând din 16 noduri (pe procesoarele 486DX4 / 100MHz, memoria de 16 MB și 3 adaptoare de rețea pe fiecare nod, 3 "paralel" cabluri Ethernet timp de 10bit). A fost creată ca o resursă de calcul a proiectului "Proiectul de Științe Pământ și Space" (ESS).

În continuare în GSFC și alte diviziuni NASA, au fost colectate alte clustere mai puternice. De exemplu, mediul virtual extrem de paralel integrat) conține 64 de noduri de 2 procesoare de memorie Pentium Pro / 200MHz și 4 GB în fiecare, 5 comutatoare Ethernet rapid. Costul total al acestui cluster este de aproximativ 210 mii dolari. Proiectul Beowulf a dezvoltat un număr de drivere de rețea de înaltă performanță și specializate (în special, șoferul pentru utilizarea mai multor canale Ethernet simultan).

Arhitectura Beowulf.

Noduri de cluster.

Acesta este fie un singur procesor PC, fie servere SMP cu un număr mic de procesoare (2-4, eventual până la 6). Din anumite motive, optimul este considerat a construi clustere bazate pe sisteme de două procesoare, în ciuda faptului că, în acest caz, setarea clusterului va fi oarecum mai complicată (în principal, deoarece nu este permisă plăcilor de bază relativ ieftine pentru 2 procesoare Pentium II / III ). Merită instalarea pentru fiecare nod RAM 64-128MB (pentru sistemele cu două procesoare 64-256MB).

Una dintre mașini ar trebui să fie evidențiată ca un centru (cap) unde să se instaleze destul de mare hDD., poate un procesor mai puternic și mai multă memorie decât nodurile de odihnă (de lucru). Este logic să se asigure (protejat) conexiunea acestei mașini cu lumea exterioară.

Când componentele de lucru sunt configurate, este foarte posibil să abandonați hard disk-urile - aceste noduri vor descărca OS prin rețeaua de la mașina centrală, care, pe lângă salvarea fondurilor, vă permite să configurați sistemul de operare și tot ce aveți nevoie doar de 1 timp (pe mașina centrală). Dacă aceste noduri nu sunt folosite simultan ca locuri de muncă personalizate, nu este nevoie să instalați carduri video și monitoare pe ele. Este posibilă instalarea nodurilor în rack (raftuire), care va reduce locul ocupat de noduri, dar va costa oarecum mai scump.

Este posibilă organizarea de clustere pe baza rețelelor existente de stații de lucru, adică. Stațiile de lucru ale utilizatorilor pot fi folosite ca noduri de cluster pe timp de noapte și în weekend. Sistemele de acest tip sunt uneori numite vacă (cluster de stații de lucru).

Numărul de noduri ar trebui să fie ales pe baza resurselor de calcul necesare și a resurselor financiare disponibile. Trebuie să se înțeleagă că, cu un număr mare de noduri, va trebui, de asemenea, să stabilească echipamente de rețea mai complexe și mai scumpe.

Principalele tipuri de rețele locale implicate în proiectul Beowulf sunt Gigabit Ethernet, Fast Ethernet și 100-VG Anylan. În cel mai simplu caz, se utilizează un segment Ethernet (10Mbit / sec pe perechea răsucite). Cu toate acestea, ieftinitatea unei astfel de rețele, datorită coliziunilor, se transformă în costuri mari generale pentru schimburile interprocesoare; Și performanța bună a unui astfel de cluster ar trebui să fie așteptată numai pe sarcini cu o structură paralelă foarte simplă și cu interacțiuni foarte rare între procese (de exemplu, opțiuni de busting).

Pentru a obține o bună performanță de schimb Interprocessor, Ethernet rapid duplex este utilizat pe 100Mbit / sec. În același timp, pentru a reduce numărul de coliziuni sau pentru a seta mai multe segmente de ethernet "paralel" sau conectați nodurile de cluster prin comutator (comutator).

Mai scump, dar și o opțiune populară este utilizarea comutatoarelor de tip Myrinet (1.28gbit / sec, duplex complet).

Mai puțin popular, dar, de asemenea, de fapt, atunci când se construiește clustere tehnologii de rețea sunt tehnologiile Clan, SCI și GIGABIT Ethernet.

Uneori, pentru comunicarea dintre nodurile clusterului, mai multe canale de telecomunicații sunt utilizate în paralel - așa-numita "lipire de canale" (lipire de canal), care este frecvent utilizată pentru tehnologia Fast Ethernet. În acest caz, fiecare nod este conectat la comutatorul Ethernet rapid cu mai mult de un canal. Pentru a realiza acest lucru, nodurile sunt echipate cu mai multe cartele de rețea, fie cu plăci multiport Ethernet Fast Ethernet. Utilizarea legării canalelor în nodurile care rulează Linux Software vă permite să organizați o distribuție uniformă a încărcăturii de recepție / transmisie între canalele corespunzătoare.

Sistem de sistem.

Sistem de operare. Sistemul Linux este utilizat, de obicei, în versiunile optimizate special pentru calcule paralele distribuite. Kernelul Linux 2.0 a fost rafinat. În procesul de construire a clusterelor, sa dovedit că driverele standard ale dispozitivului de rețea din Linux sunt foarte ineficiente. Prin urmare, au fost dezvoltate noi drivere, în primul rând pentru rețelele Fast Ethernet și Gigabit Ethernet și este posibil să combine logic mai multe conexiuni de rețea paralelă între computerele personale (similar cu legarea canalelor hardware), care permite rețelelor locale ieftine cu scăzut Lățimea de bandă, pentru a construi o rețea cu lățime de bandă cumulată ridicată.

Ca și în orice cluster, există o copie a kernel-ului OS pe fiecare nod de cluster. Datorită finalizării, unicitatea identificatorilor proceselor în cadrul întregului cluster și nu sunt asigurate noduri individuale.

Bibliotecile de comunicare. Cea mai comună interfață de programare paralelă din modelul de transfer de mesaje este MPI. Recomandat de implementare gratuită MPI - pachet Mpich dezvoltat în Laboratorul Național de Argon. Pentru clustere bazate pe Switcherul Myrinet, a fost dezvoltat un sistem HPVM, care include, de asemenea, implementarea MPI.

Pentru o organizație eficientă a paralelismului într-un sistem SMP, sunt posibile două opțiuni:

  1. Pentru fiecare procesor din mașina SMP generează un proces de MPI separat. MPI procesează în acest sistem Mesaje de schimb prin memorie partajată (trebuie să configurați Mpich în consecință).
  2. Numai un proces MPI începe pe fiecare mașină. În interiorul fiecărui proces MPI, paralelizarea se face în modelul "memorie partajată", de exemplu, folosind directivele OpenMP.

După instalarea implementării MPI are sens pentru a testa performanță reală Transporturi de rețea.

În plus față de MPI, există și alte biblioteci și sisteme de programare paralele care pot fi folosite pe clustere.

Exemplu de implementare a clusterului Beowulf - Avalon

În 1998, în Los Alamos National Laboratory Astrofysicik Michael Warren și alți oameni de știință dintr-un grup de astrofizică teoretică au construit un supercomputer Avalon, care este un Beowulf-Claster bazat pe procesoare Dec Alpha / 533MHz. Avalon a constat inițial din 68 de procesoare, apoi a fost extins la 140. În fiecare nod, 256 MB de RAM, un hard disk de la 3,2 GB, un adaptor de rețea de la Kingston (costul total al nodului este de 1700 USD). Nodurile sunt conectate utilizând comutatoarele de port 46-36 de Ethernet Fast și "în centru" comutator de 12 port Gigabit Ethernet de la 3com.

Costul total al Avalonului este de 313 mii dolari, iar performanța sa Linpack (47,7 Gflops) ia permis să ia locul 114 în ediția a 12-a a listei Top500 (lângă sistemul procesor de 152 IBM SP2). Configurația de 70 de procesatori a Avalonului pe multe teste a arătat aceeași performanță ca și costul sistemului de procesor SGI Origin2000 / 195MHz, depășește 1 milion de dolari.

În prezent, Avalon este utilizat în mod activ în calcule astrofizice, moleculare și alte calcule științifice. La conferința SC "98, creatorii lui Avalon au prezentat un raport intitulat" Avalon: Un cluster alfa / Linux realizează 10 gflops pentru 150k $ "și a meritat un premiu în ceea ce privește prețul / performanța (" Premiul Bell Bell Bell "din" 1998 ").

Concluzie

Producătorii de frunte de microprocesoare: Sun Microsystems, Dell și IBM dețin același punct de vedere la viitorul industriei supercomputerelor: înlocuirea individuală, supercomputerele independente trebuie să vină un grup de servere de înaltă performanță combinate într-un cluster. Deja astăzi, sistemele de cluster distribuite sunt înainte de supercomputerele clasice moderne din punct de vedere al performanței: Cel mai puternic computer din lume - IBM ASCI White - are o capacitate de 12 teraflops, performanță rețelei [E-mail protejat] Se estimează la aproximativ 15 teraflops. În același timp, IBM ASCI White a fost vândut pentru 110 milioane de dolari, iar în întreaga istorie a existenței [E-mail protejat] A fost cheltuit aproximativ 500 de mii de dolari.

Literatură

2. http://www.beowulf.com.

3. http://newton.gsfc.nasa.gov/thehive/

4. Lobos, http://www.lobos.nih.gov.

5. http://parallel.ru/news/kentucky_klat2.html.

6. http://parlell.ru/news/anl_chibacitate.html.

7. http://parlell.ru/cluster/

8. http://www.ptc.spbu.ru.

MIMD Calculatoare

MIMD Computer are. N. Procesoarele efectuează independent N. Comandă fluxuri și prelucrare N. Fluxuri de date. Fiecare procesor operează sub controlul propriului său flux de comenzi, adică calculatorul MIMD poate efectua programe complet diferite în paralel.


Arhitectura MIMD este mai clasificată în funcție de organizația fizică Memorie, adică dacă procesorul are propria memorie locală și se referă la alte blocuri de memorie utilizând o rețea de comutare sau rețeaua de comutare conectează toate procesoarele în memoria publică. Pe baza organizării memoriei, următoarele tipuri de arhitecturi paralele distinchează:

  • Calculatoare cu memorie distribuită (Memoria distribuită.)
    Procesorul poate accesa memoria locală, poate trimite și primi mesaje transmise peste procesoarele de conectare a rețelei. Mesajele sunt utilizate pentru a comunica între procesoare sau, echivalente cu citirea și scrierea blocurilor de memorie la distanță. Într-o rețea idealizată, costul trimiterii unui mesaj între două noduri de rețea nu depinde atât de locația ambelor noduri, cât și de traficul de rețea, dar depinde de lungimea mesajului.

  • Calculatoare cu memorie generală (partajată) (Adevărată memorie partajată.)
    Toate procesoarele sunt denumite în comun o memorie comună, de obicei printr-o anvelopă sau ierarhie. Într-un PRAM idealizat (mașină paralelă de acces aleatoriu - o mașină paralelă cu acces arbitrar), un model utilizat adesea în studiile teoretice ale algoritmilor paraleli, orice procesor poate accesa orice celulă de memorie în același timp. În practică, scalabilitatea acestei arhitecturi duce, de obicei, la o anumită formă de ierarhie de memorie. Frecvența accesului la memoria globală poate fi redusă prin salvarea copiilor datelor utilizate frecvent din memoria cache asociată fiecărui procesor. Accesul la această memorie de numerar este mult mai rapid decât accesul direct la memoria globală.

  • Calculatoare cu memorie partajată virtuală (partajată) (Memorie partajată virtuală.)
    Memoria totală lipsește. Fiecare procesor are propria memorie locală și poate accesa memoria locală a altor procesoare folosind "adresa globală". Dacă "adresa globală" indică memoria locală, atunci accesul memoriei este implementat utilizând mesajele trimise de rețeaua de comunicații.

Un exemplu de mașini cu memorie partajată poate fi:

  • Sun Microsystems (stații de lucru multiprocesor)
  • Silicon Graphics Challenge (stații de lucru multiprocesor)
  • Simetrie secvențială.
  • Convex
  • Ray 6400.

Următoarele computere aparțin clasei de mașini cu memorie distribuită.

  • IBM-SP1 / SP2
  • Parsytec gc.
  • Cm5 (gândire mașină corporație)
  • Ray t3d.
  • Paragon (Intel Corp.)
  • nțube.
  • Meiko CS-2
  • AVX (computere paralele alex)
  • IMS B008.

Arhitectura MIMD cu memorie distribuită poate fi, de asemenea, clasificată pe lățimea de bandă a rețelei de navetă. De exemplu, în arhitectura în care perechile de la procesor și modul de memorie (elementul procesor) sunt conectate printr-o rețea cu topologii schgtka. Fiecare procesor are același număr de conexiuni de rețea, indiferent de numărul de procesoare de calculator. Lățimea totală de bandă a unei astfel de rețele crește liniar față de numărul de procesoare. Pe de altă parte, în arhitectură având o rețea cu topologii hyperkub. Numărul de conexiuni de procesor la rețea este o funcție logaritmică din numărul de procesoare, iar lățimea de bandă de rețea crește mai repede decât liniar în raport cu numărul de procesoare. În topologie clică Fiecare procesor trebuie să fie conectat la toate celelalte procesoare.


Rețea cu topologie 2D schgtka. (torp)

Rețea cu topologie 2D torp


Rețea cu topologie clică

Centrul Național pentru aplicații supercomputere (PC-ul universitar. Illinois, Urbana-Champaign)

MPI: interfața de trecere a mesajului

Numele "interfața de transmisie a mesajului", vorbește de la sine. Acesta este un mecanism bine standardizat pentru construirea de programe paralele în modelul de mesagerie. Există "legături standard" MPI în limbile C / C ++, Fortran 77/90. Există implementări gratuite și comerciale pentru aproape toate platformele supercomputerelor, precum și pentru rețelele de stații de lucru UNIX și Windows NT. În prezent, MPI este cea mai utilizată și mai dezvoltată interfață din clasa sa.

Beowulf - Clustere bazate pe sistemul de operare Linux

Mikhail Kuzminsky.

"Sisteme deschise"

Pe pragul Millenniei, avem toate șansele de a asista la monopolizarea industriei de calculatoare, care poate acoperi atât microprocesoare, cât și sistemele de operare. Desigur, vorbim despre microprocesoare de la Intel (Merced amenință la depășirea procesoarelor de arhitectură RISC) și OS de la Microsoft.

În ambele cazuri, succesul este în mare parte determinat de puterea mașinii de marketing și nu doar proprietățile "consumatorului" ale produselor produse. În opinia mea, comunitatea informatică nu a realizat încă amploarea posibilelor consecințe.

Unii experți compară potențialul monopolizare a pieței calculatorului cu dominația Monopoly IBM observată în anii '70 - atât în \u200b\u200bdomeniul principalilor, cât și în sistemele de operare. Am lucrat cu această tehnică de mult timp și, deoarece UNIX este distribuit în țara noastră, este din ce în ce mai conștient de multe avantaje ale sistemului de operare IBM MVS. Cu toate acestea, împărtășesc un punct de vedere comun că un astfel de monopol nu a contribuit la accelerarea progresului.

Universitățile occidentale, care, la un moment dat, printre primele trecute la utilizarea UNIX, încă în evoluțiile lor promițătoare se bazează pe acest sistem, iar Linux devine din ce în ce mai ales ca platformă. Acest articol este dedicat uneia dintre evoluțiile academice instructive.

Linux ca fenomen social

Nu mai suntem surprinși de faptul că Linux a arătat un fenomen remarcabil de viață pe calculator. În combinație cu cel mai bogat set de software distribuit liber GNU, acest sistem de operare a devenit extrem de popular cu utilizatorii necomerciali, așa cum avem și în străinătate. Popularitatea sa este în creștere. Versiuni Linux. există nu numai pentru intel platforme X86, dar și pentru alte arhitecturi de procesoare, inclusiv Dec Arrha, și sunt utilizate pe scară largă pentru aplicațiile Internet, precum și sarcinile naturii estimate. Pe scurt, Linux a devenit un fel de "sistem de operare al oamenilor". Aproape, totuși, spune că Linux nu are locuri slabe; Unul dintre ele este un sprijin insuficient pentru arhitecturile SMR.

Cea mai ieftină modalitate de a construi resurse de computere, inclusiv puterea de calcul, este de a construi un cluster. Supercomputerele masive-paralele cu memorie operațională distribuită fizic și logic pot fi, de asemenea, considerate clustere specifice. Cel mai viu exemplu al unei astfel de arhitecturi este faimosul computer IBM SP2.

Întreaga întrebare este că computerele (nodurile) din cluster se leagă. În supercomputerele "reale", specializate și, prin urmare, echipamente scumpe concepute pentru a oferi o lățime de bandă mare. În clustere, de regulă, se aplică standardele obișnuite de rețea - Ethernet, FDDI, ATM sau Hiri.

Tehnologiile de cluster utilizând sistemul de operare Linux au început să se dezvolte cu câțiva ani în urmă și au devenit disponibili cu mult înainte ca Wolfragk să apară pentru Windows NT. Deci, la mijlocul anilor 1990, proiectul Beowulf a provenit.

Eroul poemului epic

Beowulf este un epic scandinav care spune despre evenimentele din VII - prima treime a secolului al VII-lea, participantul cărora este eroul de același nume, care sa slăbit în bătăliile. Nu se știe dacă au fost concepuți autorii proiectului, cu care acum va lupta Beowulf (probabil cu Windows NT?), Cu toate acestea, imaginea eroică a făcut posibilă combinarea a aproximativ o jumătate de zeci de organizații din consorțiu (în principal universități) în Statele Unite. Nu se poate spune că centrele supercomputerelor domină între participanții la proiect, cu toate acestea, clusterele Loki și Megalon sunt instalate în cele mai cunoscute centre de calcul de înaltă performanță, cum ar fi Los Alamos și laboratorul SANDIA al Departamentului de Energie al SUA; Dezvoltatorii de proiecte principali sunt specialiști ai agenției NASA. În general, fără excepție, clusterele create de participanții la proiect primesc nume puternice.

În afară de Beowulf, este cunoscută o tehnologie de cluster mai strânsă - acum. În prezent, computerele personale conțin, de obicei, informații despre ele însele și sarcinile în sine, iar îndatoririle administratorului de sistem al unui astfel de cluster includ formarea acestor informații. Beowulf Clustere în această privință (adică din punctul de vedere al administratorului de sistem) este mai simplă: nodurile individuale nu știu despre configurația clusterului. Doar un nod selectat conține informații de configurare; Și numai el are o conexiune în rețea cu lumea exterioară. Toate celelalte noduri de cluster sunt combinate cu o rețea locală și numai "podul subțire" de la unitatea de comandă cu lumea exterioară este conectată.

Nodurile din tehnologia Beowulf sunt plăci de bază PC. De obicei, hard disk-urile locale sunt, de asemenea, implicate în noduri. Tipurile standard de rețele locale sunt utilizate pentru conectarea nodurilor. Vom lua în considerare această întrebare mai jos, mai întâi ne vom opri pe software.

Fundația sa din Beowulf este sistemul de operare Linux disponibil comercial disponibil, care poate fi achiziționat pe CD-ROM. La început, majoritatea participanților la proiect axat pe CD-urile publicate de Slackware și acum preferințele sunt preferate de versiunea Redhat.

În sistemul de operare obișnuit Linux, puteți instala mijloace bine cunoscute de paralelizare în modelul de mesagerie (Lam RMN 6.1, PVM 3.3.11 și altele). De asemenea, puteți utiliza standardul firelor R și mijloacele standard ale interacțiunii Interprocessor, care sunt incluse în orice sistem UNIX V. Ca parte a proiectului Beowulf, au fost efectuate evoluții suplimentare grave.

În primul rând, trebuie remarcat rafinamentul kernel-ului Linux 2.0. În procesul de construire a clusterelor, sa dovedit că driverele standard ale dispozitivului de rețea din Linux sunt foarte ineficiente. Prin urmare, au fost dezvoltate noi drivere (de către majoritatea evoluțiilor - Donald Becker), în primul rând pentru rețelele Ethernet și Gigabit Ethernet și este posibil să combine logic mai multe conexiuni de rețea paralele între computerele personale, care permite rețelelor locale ieftine cu mai mult de mai mult decât Viteza modestă., Construiți o rețea cu lățime de bandă cumulată ridicată.

Ca și în fiecare cluster, propria sa copie a kernelului OS locuiește în fiecare nod. Datorită finalizării, unicitatea identificatorilor proceselor în cadrul întregului cluster și nu sunt asigurate noduri individuale, precum și "livrarea la distanță" a semnalelor OS Linux.

În plus, este necesar să marcați descărcările în rețea (Netbooting) când lucrați cu plăcile de bază Intel PR 440FX și pot fi folosite și pentru a lucra cu alte plăci de bază echipate cu AMI BIOS.

Caracteristicile foarte interesante oferă mecanisme de memorie virtuală de rețea sau memorie distribuită distribuită DSM (memorie partajată distribuită), permițându-vă să creați o "iluzie" specifică a memoriei globale a nodurilor.

Rețea - materie delicată

Deoarece pentru a paraleliza aplicațiile supercomputerelor în general, iar grupul de lățime de bandă mare și întârzieri scăzute în mesageria dintre noduri sunt necesare, caracteristicile rețelei devin parametri care definesc performanța clusterului. Alegerea microprocesoarelor pentru noduri este evidentă - acestea sunt procesoare de producție Intel standard; Dar cu topologia clusterului, a tipului de rețea și a circuitelor de rețea, puteți experimenta. În acest domeniu, a fost efectuată principala cercetare.

La analiza diferitelor carduri de rețea PC prezentate astăzi pe piață, a fost acordată o atenție deosebită unor astfel de caracteristici ca un suport eficient de difuzare (multicasting), sprijinind munca cu pachete mari de dimensiuni etc. Principalele tipuri de rețele locale implicate în proiectul Beowulf, - Acesta este Gigabit Ethernet, Fast Ethernet și 100-VG Anylan. (Capabilitățile tehnologiei ATM au fost, de asemenea, studiate în mod activ, dar în ceea ce este cunoscut autorul, sa făcut în afara acestui proiect.)

Cum să colectezi un supercomputer

După analizarea rezultatelor lucrărilor efectuate în proiectul Beowulf, puteți ajunge la următoarea concluzie: Soluțiile găsite vă permit să asamblați independent un cluster de înaltă performanță bazat pe componente standard pentru componentele PC-ului și utilizați software-ul obișnuit. Printre cele mai mari cazuri, este imposibil să nu marcați clusterul de 50 de noduri din Cesdis, care include 40 de noduri de prelucrare a datelor (bazate pe incendiu unic și cu două procesuri de inchiriere IRRO / 200 MHz) și 10 noduri de scalare (placă dublă a procesorului RENTIUM Р / 166 MHz). Raportul dintre performanțele costului / vârfului într-un astfel de cluster este foarte reușit. Întrebarea este cât de eficient este posibilă paralele cu aplicațiile - cu alte cuvinte, ceea ce va fi real, și nu performanța de vârf. Participanții la proiect lucrează acum la soluționarea acestei probleme.

Trebuie remarcat faptul că construcția de clustere de la PC-urile obișnuite devine destul de la modă astăzi într-un mediu științific. Unele instituții academice din țara noastră intenționează, de asemenea, să creeze clustere similare.

Când combinați computerele într-un cluster de altă putere sau arhitectură diferită, ei spun clustere eterogene (neomogene). Nodurile de cluster pot fi utilizate simultan ca stații de lucru personalizate. În cazul în care nu este necesar, nodurile pot fi facilitat semnificativ și / sau instalate în raft.

Stațiile de lucru standard de operare sunt utilizate, cel mai adesea, distribuite în mod liber - Linux / FreeBSD, împreună cu mijloace speciale de susținere a programării paralele și distribuția sarcinii. Programarea, de regulă, în cadrul modelului de transfer de mesaje (cel mai adesea - MPI). Este discutat mai detaliat în următorul paragraf.

Istoria dezvoltării arhitecturii clusterului.

Dec a anunțat pentru prima dată conceptul de sistem de cluster în 1983, determinându-l ca un grup de mașini de calcul combinate, care sunt o unitate unică de procesare a informațiilor.

Unul dintre primele proiecte care au dat un nume întregii clase de sisteme paralele - Clustere Beowulf - au originat în centrul Centrului de Zbor NASA Goddard Space pentru a sprijini resursele necesare de calcul ale proiectului de științe Pământ și Space. Proiectul Beowulf a început în vara anului 1994, iar un cluster de 16 procesare a fost colectat în curând pe procesoarele Intel 486dx4 / 100 MHz. Fiecare nod a fost instalat 16 MB de adaptoare Ethernet RAM și 3 de rețea. Pentru a lucra într-o astfel de configurație, au fost dezvoltate drivere speciale care distribuie traficul între cardurile de rețea disponibile.

Mai târziu în GSFC, un grup de mediu virtual integrat integrat extrem de paralel, structura cărora este prezentată în fig. 2. Acest cluster constă din patru subclintre E, B, G și DL, combinând 332 de procesoare și două gazde selectate. Toate nodurile acestui cluster rulează Redhat Linux.

În 1998, în Laboratorul Național Los Alamos de Astrofysicik Michael Warren și alți oameni de știință dintr-un grup de astrofizicie teoretică a construit un supercomputer Avalon, care este un cluster Linux bazat pe procesoare alfa 21164A cu o frecvență de ceas de 533 MHz. Inițial, Avalon a constat din 68 de procesoare, apoi extins la 140. În fiecare nod, a fost instalat 256 MB de memorie RAM, un hard disk pe un adaptor de rețea 3 GB și un adaptor de rețea Ethernet. Costul total al proiectului Avalon a fost de 313 mii de dolari, iar performanța prezentată pe testul Linpack - 47,7 Gflops, la lăsat să ia locul 114 în ediția a 12-a a listei Top500 de lângă sistemul procesor de 152 IBM RS / 6000 SP. În același timp 1998, la cea mai prestigioasă conferință din domeniul supercomputing-ului de înaltă performanță "98, Avalon a făcut un raport "Avalon: Un cluster alfa / Linux atinge 10 gflops pentru $ 150K", care a primit primul premiu în nominalizare "Cel mai bun preț / performanță" nominalizare.

În luna aprilie a acestui an, un grup de viteze +, constând din 64 de noduri cu două procesoare Pentium III / 733 MHz și 2 GB de memorie RAM și 2 GB de memorie RAM fiecare și cu un disc total de 27 GB au fost instalate pentru studiile biomedicale Universitatea Cornell. Nodurile funcționează sub controlul Windows. 2000 și combinate de Giganet Can.

Loturile de casete pe proiectul de raftari sunt implementate la Institutul Național de Sănătate al SUA din aprilie 1997 și este interesant de utilizarea Gigabit Ethernet ca mediu de comunicații. În primul rând, clusterul a constat din 47 de noduri cu două procesoare Pentium Pro / 200 MHz, 128 MB de RAM și un disc de 1,2 GB pe fiecare nod. În 1998 a fost implementat

următoarea etapă a proiectului este Lobos2, în timpul căreia nodurile au fost transformate în computere desktop, menținând combinația într-un cluster. Acum, Lobos2 este alcătuită din 100 de noduri de calcul care conțin două procesoare Pentium II / 450 MHz, 256 MB de memorie de disc și 9 GB de disc. În plus față de cluster, sunt conectate 4 computere de control cu \u200b\u200bo capacitate totală de raid de 1,2 tb.

Una dintre ultimele evoluții de cluster a fost supercomputerul AMD Presto III, care este un cluster Beowulf de 78 de procesoare Athlon. Computerul este instalat în Institutul Tehnologic din Tokyo. Până în prezent, AMD a construit 8 supercomputere unite în clustere utilizând metoda Beowulf care rulează Linux OS.

IBM Clustere

RS / 6000.

IBM oferă mai multe tipuri de sisteme slab conexe bazate pe RS / 6000, combinate în clustere și funcționarea sub control produs software. Multiprocesor clasat clasificat de mare disponibilitate (HACMP / 6000).

Nodurile de cluster funcționează în paralel, partajând accesul la resursele logice și fizice utilizând capabilitățile Managerului de blocare incluse în HACMP / 6000.

Începând cu anunțul din 1991, produsul HACMP / 6000 a evoluat constant. Acesta include un manager de resurse paralele, un manager de blocare distribuit și un manager de volum logic paralel, iar acesta din urmă au oferit posibilitatea echilibrării încărcăturii la nivelul întregului cluster. Numărul maxim de noduri din cluster a crescut la opt. În prezent, nodurile cu procesare simetrică multiprocesare, construită utilizând comutatorul transversal de date, care oferă o creștere liniară a performanței cu o creștere a numărului de procesoare pe cluster.

Clusterele RS / 6000 sunt construite pe baza rețelelor locale Ethernet, Inel sau FDDI și pot fi configurate în diferite moduri în ceea ce privește îmbunătățirea fiabilității ridicate:

  • Rezervă caldă sau comutare ușoară în caz de eșec. În acest mod, nodul activ efectuează sarcini de aplicare, iar copia de rezervă poate efectua sarcini non-critice care pot fi oprite dacă este necesar atunci când este necesară ansamblul activ.
  • Rezervă simetrică. Similar cu rezervația fierbinte, dar rolul nodurilor principale și de rezervă nu este fixat.
  • Pickup sau mod reciproc cu distribuția încărcăturii. În acest mod, fiecare nod din cluster poate "ridica" sarcini care sunt efectuate pe orice alt nod de cluster.

IBM SP2.

IBM SP2 conduce în lista celor mai mari supercomputere de top500 în ceea ce privește numărul de instalare (instalare 141 și în total, 8275 astfel de computere funcționează cu un număr total de noduri de peste 86 mii. Baza acestor supercomputere se bazează pe arhitectură Ca o abordare a clusterului folosind un comutator central puternic. IBM folosește această abordare de mai mulți ani.

Arhitectura generală SP2.

Vederea generală a arhitecturii SP2 oferă orez. 1. Caracterul principal al arhitecturii este utilizarea comutatorului de mare viteză cu întârzieri scăzute pentru a conecta nodurile între ele. Această schemă extrem de simplă extrem de simplă, așa cum a arătat experiența, a fost extrem de flexibilă. În primul rând, nodurile SP2 erau un singur procesor, apoi au apărut noduri cu arhitectura SMP.

De fapt, toate detaliile sunt ascunse în structura nodurilor. Mai mult, nodurile sunt diferite tipuri, iar chiar și procesoarele din nodurile învecinate pot fi diferite. Oferă

flexibilitate excelentă de selecție a configurației. Numărul total de noduri din sistemul de calcul poate ajunge la 512 de noduri SP2 sunt de fapt computere independente, iar analogii lor direcți sunt vânduți la IBM sub nume independente. Cel mai frapant exemplu este serverul SMP cu patru procesoare RS / 6000 44P-270 cu microprocesoare de Power3-II, care în sine pot fi atribuite clasei de computere ale clasei de mijloc sau chiar la mini supercomputere.

Microprocesoarele stabilite în nodurile SP2 dezvoltate în două linii arhitecturale: Power - Power2 - Power3 - Power3-II și linia PowerPC până la modelul 604e cu o frecvență de ceas de 332 MHz.

Tradiționalul pentru SP2 sunt "subțiri" (nod larg) și "nod larg" (nod larg) cu arhitectură SMP. Acestea pot fi instalate atât PowerPC 604e (de la două la patru procesoare) cât și POWER3-II (până la patru). Capacitatea bateriei nodurilor este de la 256 MB la 3 GB (când utilizați POWER3-II - până la 8 GB). Principalele diferențe dintre nodurile subțiri și largi se referă la subsistemul I / O. Nodurile largi sunt concepute pentru sarcini care necesită caracteristici mai puternice de intrare / ieșire: au zece sloturi PCI (inclusiv trei 64 de biți) față de două sloturi în noduri subțiri. În consecință, numărul de compartimente de montare pentru dispozitive de disc În noduri largi mai mult.

Viteza comutatorului este caracterizată prin valori reduse de întârziere: 1,2 ms (până la 2 ms cu numărul de noduri de peste 80). Acesta este un ordin de mărime mai bun decât ceea ce poate fi obținut în grupurile moderne Linux-Clusters Beowulf. Lățimea de bandă de vârf a fiecărui port: Este de 150 MB / s într-o singură direcție (adică transmisie de 300 MB / s pe duplex). Aceeași lățime de bandă posedă adaptoarele de comutare situate în nodurile SP2. IBM oferă, de asemenea, întârzieri excelente și rezultate de lățime de bandă.

Cele mai puternice noduri SP2 sunt "mari" (nod înalt). Nodul înalt este un complex constând dintr-un nod de calcul cu dispozitive de intrare / ieșire / ieșire conectate într-o cantitate de până la șase bucăți. Un astfel de nod are, de asemenea, o arhitectură SMP și conține până la 8 procesoare Power3 cu o frecvență de ceas de 222 sau 375 MHz.

În plus, nodul de acest tip cuprinde o taxă de intrare / ieșire, care este, de asemenea, conectată la placa de sistem. Consiliul I / O conține două blocuri logice simetrice Saber prin care datele sunt transmise către dispozitivele externe, astfel

cum ar fi discurile și echipamentele de telecomunicații. Pe placa I / O există patru sloturi PCI pe 64 de biți și un slot cu 32 de biți (frecvență 33 MHz), precum și controlorii integrați UltraSCSI, Ethernet 10/100 Mbps, trei ori consecutiv și un port paralel.

Odată cu apariția nodurilor și a microprocesoarelor înalte ale POWER3-II / 375 MHz pe testele de la Linpack Parlell ale sistemului IBM SP2 au atins 723,4 gflops. Acest rezultat este realizat atunci când se utilizează 176 de noduri (procesor 704). Având în vedere că nodurile pot fi stabilite până la 512, acest rezultat arată că IBM SP2 elaborat în mod serios este aproape de 1 tflops.

Cluster Sun Solutions Sun Microsystems

Sun Microsystems oferă soluții de cluster bazate pe serverul de produs SPARCLAster PDB, în care serverele multiprocesor SMP SPARCSERVER 1000 și SparcCenter 2000 sunt folosite ca noduri, iar SparcServer 1000 poate intra până la opt procesoare, iar în SparcCenter 2000 până la 20 de procesoare Supersparcarc. Următoarele componente includ următoarele componente: două noduri de cluster bazate pe SPARCSERVER 1000 / 1000E sau SPARCCENTER 2000/2000E sau SPARCCENTORAGE ARRAY DISC, precum și un pachet pentru construirea unui cluster, inclusiv echipament de comunicații duplicat, managementul consolei consolei consolei consolei Consola, Software Software Software Software și pachet de servicii de cluster.

Pentru a asigura o performanță ridicată și disponibilitate a comunicărilor, clusterul suportă duplicarea completă a tuturor declanșatorilor de date. Nodurile de cluster sunt combinate cu canalele SunFastethernet cu lățime de bandă de 100 Mbps. Pentru a conecta subsistemele discului, interfața cu fibră de fibră optică cu o lățime de bandă de 25 Mbps, care admite îndepărtarea unităților și nodurilor unul de celălalt la o distanță de până la 2 km. Toate legăturile dintre noduri, noduri și subsisteme de disc sunt duplicate la nivelul hardware. Hardware, software și rețea de cluster înseamnă absența unui astfel de loc în sistem, o singură eșec sau un eșec al cărui sistem ar deriva întregul sistem.

Proiecte universitare

Dezvoltarea interesantă a Universității din Kentucky - Klat2 Cluster (Kentucky Linux Athlon Tested 2). Sistemul KLAT2 este alcătuit din 64 de noduri fără disc cu procesoare AMD Athlon / 700 MHz și 128 MB RAM pe fiecare. Software-ul, compilatoarele și bibliotecile matematice (Scalapack, Blacs și Atlas) au fost finalizate pentru a utiliza eficient tehnologia 3DNow! Procesoare AMD, care au făcut posibilă creșterea productivității. Interesul semnificativ este decizia de rețea utilizată, denumită "Network Verticooood Flat" (FNN). Fiecare nod are patru adaptoare de rețea Fast Ethernet de la SmartLink, iar nodurile sunt conectate utilizând nouă comutatoare de 32 de porturi. În același timp, pentru oricare două noduri există întotdeauna o conexiune directă printr-unul dintre comutatoare, dar nu este nevoie să conectați toate nodurile printr-un singur comutator. Datorită optimizării software-ului în cadrul arhitecturii AMD și topologia FNN, a fost posibilă obținerea unui raport de preț / performanță record - 650 USD pe 1 gflops.

Ideea divizării clusterului în secțiuni a primit o realizare interesantă în proiectul Chida Chida implementat în Laboratorul Național Argonne. Secțiunea principală conține 256 noduri de calcul, pe fiecare

din care există două procesoare Pentium III / 500 MHz, 512 MB de RAM și un disc local cu o capacitate de 9 GB. În plus față de partiția de calcul, partiția de vizualizare include (32 de computere personale IBM Intellistation cu grafică MATROX Millenium G400, 512 MB de acționări RAM și 300 GB), secțiunea de stocare a datelor (8 IBM Netfinity 7000 Servere cu procesoare Xeon / 500 MHz și 300 discuri GB) și direcție (12 computere IBM Netfinity 500). Toate acestea sunt fuzionate de rețeaua Myrinet, care este utilizată pentru a susține aplicațiile paralele, precum și rețelele Gigabit Ethernet și Fast Ethernet pentru manageri și servicii de serviciu. Toate secțiunile sunt împărțite în computere "Orașe" (oraș). Fiecare dintre ei are propriul său "primar", care își servește la nivel local "orașul", reducând povara rețelei de servicii și oferind acces rapid la resursele locale.

Proiecte de cluster în Rusia

În Rusia, a existat întotdeauna o nevoie mare de resurse de calcul de înaltă performanță, iar costul relativ scăzut al proiectelor de cluster au servit ca un impuls serios la diseminarea pe scară largă a unor astfel de soluții în țara noastră. Unul dintre primii a apărut o "paritate" de cluster, asamblată în YVVIBD și constând din opt procesoare Pentium II asociate cu rețeaua Myrinet. În 1999, soluția de cluster bazată pe rețeaua SCI a fost testată în Noanw, care este, în esență, un pionier care utilizează tehnologia SCI pentru a construi sisteme paralele în Rusia.

Un cluster de înaltă performanță bazat pe rețeaua de comunicații SCI este instalat în Centrul de Cercetare Științific pentru Universitatea de Stat din Moscova. Clusterul NIVC include 12 servere de procesor dublu eximer bazate pe Intel Pentium III / 500 MHz, un total de 24 de procesoare cu o performanță totală de vârf de 12 miliarde de operațiuni pe secundă. Costul total al sistemului este de aproximativ 40 de mii de dolari sau aproximativ 3,33 mii pe 1 gflops.

Nodurile de calcul al clusterului sunt conectate prin canale de rețea SCI unidirecționale într-un tor tridimensional 3x4 și conectați simultan la serverul central prin rețeaua auxiliară Fast Ethernet și comutatorul superstack 3Com. Rețeaua SCI este un nucleu de cluster care face acest sistem o instalare unică de calcul a unei clase de supercomputere orientate către o clasă largă de sarcini. Rata maximă de schimb de date pe rețeaua SCI în aplicațiile utilizatorului este mai mare de 80 MB / s, iar timpul de latență este de aproximativ 5,6 μs. La construirea acestui cluster de calcul, a fost utilizată soluția integrată Wulfkit dezvoltată de soluțiile de interconectare delfin și a computerului Scali (Norvegia).

Principalul mijloc de programare paralelă pe cluster este MPI (interfața de trecere a mesajelor) a Scampi 1.9.1. Pe testarea Linpack, la rezolvarea unui sistem de ecuații liniare cu matrice de dimensiuni de 16000x16000, performanța reală a fost mai mare de 5,7 gflops. Pe testele pachetului NPB, performanța clusterului este comparabilă și, uneori, depășește performanța supercomputerelor familiei Cray T3e cu același număr de procesoare.

Domeniul principal de aplicare al grupului NIVZ MSU NIVC Computing este suport pentru cercetarea științifică fundamentală și procesul educațional.

Din alte proiecte interesante, trebuie remarcat decizia implementată în Universitatea Sf. Petersburg pe baza tehnologiei Fast Ethernet: Clusterele colectate pot fi utilizate și ca cursuri independente de formare independente, precum și ca o singură instalație de calcul care rezolvă un singur sarcină. În centrul științific Samara

ei au mers de-a lungul modului de a crea un cluster de calcul neomogene, care include computerele bazate pe procesoare alfa și Pentium III. La Universitatea Tehnică Sf. Petersburg, instalând pe baza procesoarelor alfa și a rețelei Myrinet fără a utiliza discuri locale pe nodurile de calcul. În Universitatea Tehnică de Aviație de Stat din UFA, un cluster este proiectat pe baza a douăsprezece posturi alfa, o rețea Fast Ethernet și OS Linux.

Cluster (grup de computere)

Încărcați clusterele de distribuție

Principiul acțiunii lor se bazează pe distribuirea cererilor prin unul sau mai multe noduri de intrare care le redirecționează la procesarea în nodurile rămase, calculatoare. Scopul inițial al unui astfel de cluster este, totuși, metodele care cresc fiabilitatea sunt de asemenea utilizate în ele. Structurile similare sunt numite ferme de servere. Software-ul (software) poate fi atât comercială (OpenVMS, MOSIX, platformă LSF HPC, Cluster Solaris, Moab Cluster Suite, Maui Cluster Scheduler) și GRATUIT (OpenMOSIX, Sun Grid Motor, Server virtual Linux).

Clustere de calcul

Clusterele sunt utilizate în scopuri computaționale, în special în cercetarea științifică. Pentru clustere de calcul, indicatori semnificativi sunt performanțele ridicate ale procesorului în operații pe numerele de puncte plutitoare (flops) și latența scăzută a rețelei de combinare și mai puțin semnificativă - viteza operațiilor I / O, care este mai importantă pentru bazele de date și de baze de date Servicii. Clusterele de calcul fac posibilă reducerea timpului de calcul, comparativ cu un singur computer, ruperea sarcinii la ramurile paralele care sunt schimbate de datele de legare. Una dintre configurațiile tipice este un set de computere colectate din componente disponibile publicului, cu sistemul de operare Linux instalat pe ele, iar Ethernet, Myrinet, InfiniBand asociat cu rețeaua sau cu alte rețele relativ ieftine. Acest sistem este obișnuit să fie numit Cluster Beowulf. Alocați în mod special clustere de înaltă performanță (limba engleză este indicată prin abreviere HPC Cluster. - Cluster de înaltă performanță de calcul). Lista celor mai puternice computere de înaltă performanță (pot fi, de asemenea, notate de abrevierea HPC.) Puteți găsi în clasamentul lumii top500. Rusia are un rating de cei mai puternici computeri ai CSI.

Sisteme de computere distribuite (grilă)

Astfel de sisteme nu sunt considerate clustere, dar principiile lor sunt în mare măsură similare cu tehnologia clusterului. Ele sunt, de asemenea, numite sisteme de rețea. Principala diferență este disponibilitatea scăzută a fiecărui nod, adică incapacitatea de a garanta funcționarea acestuia la un moment dat (nodurile sunt conectate și deconectate în timpul operației), astfel încât sarcina trebuie împărțită într-un număr de procese independente unul de celălalt. Un astfel de sistem, spre deosebire de clustere, nu este ca un singur computer, și servește ca un mijloc simplificat de distribuire a calculelor. Instabilitatea configurației, în acest caz, este compensată de un număr mare de noduri.

Serverele de cluster organizate programatic

Sistemele de cluster ocupă un loc demni în lista celui mai rapid, câștigând în mod semnificativ supercomputere în preț. Pentru iulie 2008, locul 7 al ratingului Top500 este clusterul SGI Altix Ice 8200 (Chippewa Falls, Wisconsin, SUA).

O alternativă relativ ieftină la supercomputere sunt grupuri bazate pe conceptele Beowulf, care sunt construite din computere necostisitoare obișnuite pe baza software-ului liber. Unul dintre exemplele practice ale unui astfel de sistem este SusperComputer de piatră (UAC Ridge, Tennessee, SUA,).

Cel mai mare cluster aparținând persoanei private (din 1000 de procesoare) a fost construit de John Koza (John Koza).

Istorie

Istoria creației de cluster este legată inextricabil de evoluțiile timpurii în domeniul rețelelor de calculatoare. Unul dintre motivele apariției comunicării de mare viteză între computere a devenit speranțe pentru combinarea resurselor de calcul. La începutul anilor 1970 Echipa de dezvoltare a protocolului TCP / IP și laboratorul PARC Xerox sunt atribuite standarde de interacțiune în rețea. Sistemul de operare Hydra ("Hydra") a apărut pentru calculatoarele PDP-11 realizate de Dec, create pe această bază, clusterul a fost numit C.MPP (Pittsburgh, PC-uri. Pennsylvania, SUA,). Cu toate acestea, numai în apropierea orașului, au fost create mecanisme, permițând utilizarea distribuției sarcinilor și a fișierelor prin rețea, în cea mai mare parte a dezvoltat în Sunos (sistemul de operare bazat pe BSD de la Sun Microsystems).

Primul proiect de cluster comercial a fost ArcNet, creat de Datapoint în profit, el nu a făcut-o, și, prin urmare, construcția de clustere nu sa dezvoltat în fața orașului, când Dec a construit VaxCluster pe baza sistemului de operare VAX / VMS. ArcNet și VaxCluster au fost proiectate nu numai pentru calcule comune, ci și de partajarea sistemului de fișiere și periferie, ținând seama de conservarea integrității și unicității datelor. Vaxcluster (numit acum VMSCluster) - este o componentă integrală a sistemului de operare OpenVMS utilizând procesoare alfa și itaniu.

Alte două produse cluster timpurie care au primit recunoaștere includ Tandem Hymalaya (, Clasa HA și IBM S / 390 paralel sysplex (1994).

Istoria clusterelor din computerele personale obișnuite este în mare măsură necesară pentru a proiecta mașina virtuală paralelă. În acest software, pentru a combina computerele într-un supercomputer virtual, a fost deschisă posibilitatea de a crea clustere instantanee. Ca rezultat, performanța totală a tuturor clustere ieftine a creat apoi a depășit suma capacităților sistemelor comerciale "grave".

Crearea de clustere bazate pe calculatoare personale ieftine United printr-o rețea de date a continuat în orașul Agenției Americane Aerospațiale (NASA), apoi dezvoltarea clusterelor Beowulf dezvoltate în mod specific pe baza acestui principiu. Succesele unor astfel de sisteme au împins dezvoltarea rețelelor de grilă, care au existat de la crearea Unix.

Software.

Un instrument larg comun pentru organizarea unei interacțiuni excesive este limbile de susținere a bibliotecii MPI și Fortran. Este folosit, de exemplu, în programul MM5 Modeling Metemic.

Sistemul de operare Solaris oferă software-ul de cluster Solaris, care este utilizat pentru a asigura disponibilitatea ridicată și ruperea serverelor care rulează Solaris. Pentru OpenSolaris există o realizare cu sursa deschisa intitulat OpenSolaris HA cluster..

Mai multe programe sunt populare în rândul utilizatorilor GNU / Linux:

  • discuția, Mpich, etc. - Mijloace specializate pentru paralelizarea programelor. DistCCC permite compilarea paralelă în colecția de compilatoare GNU.
  • Linux Virtual Server, software-ul Linux-Ha - NODE pentru distribuirea interogărilor între serverele de calcul.
  • MOOSIX, OpenMOSIX, Krigat, OpenSsi - Companii de cluster complete, construite în kernel distribuind automat sarcini între nodurile omogene. OpenSsi, OpenMOSIX și crearea de kririg între noduri.

Mecanismele de cluster sunt planificate să fie încorporate în kernelul BSD Dragonfly, ramificat în 2003 de la FreeBSD 4.8. În planurile îndepărtate, de asemenea, transformându-l miercuri a unui singur sistem de operare.

Microsoft este fabricat de un cluster HA pentru sistemul de operare Windows. Se crede că se bazează pe tehnologia Digital Equipment Corporation, suportă până la 16 (din 2010) noduri într-un cluster, precum și lucrul la rețeaua SAN (rețeaua de depozitare). Setul API este utilizat pentru a sprijini aplicațiile distribuite, există spații libere pentru a lucra cu programe care nu prevede lucrarea în cluster.

Windows Compute Cluster Server 2003 (CCS) lansat în iunie 2006 este proiectat pentru aplicații de înaltă tehnologie care necesită computere de cluster. Publicația este concepută pentru desfășurarea pe o varietate de computere care sunt colectate într-un cluster pentru a obține o capacitate de supercomputer. Fiecare cluster pe serverul de cluster Windows Compute este alcătuit dintr-una sau mai multe mașini de control care distribuie sarcini și mai multe mașini subordonate care efectuează operația principală. În noiembrie 2008, Windows HPC Server 2008 este conceput pentru a înlocui Windows Compute Cluster Server 2003.

Principiul acțiunii lor se bazează pe distribuirea cererilor prin unul sau mai multe noduri de intrare care le redirecționează la procesarea în nodurile rămase, calculatoare. Scopul inițial al unui astfel de cluster este, totuși, metodele care cresc fiabilitatea sunt de asemenea utilizate în ele. Structurile similare sunt numite ferme de servere. Software-ul (software) poate fi atât comercială (OpenVMS, MOSIX, platformă LSF HPC, Cluster Solaris, Moab Cluster Suite, Maui Cluster Scheduler) și GRATUIT (OpenMOSIX, Sun Grid Motor, Server virtual Linux).

Clustere de calcul

Clusterele sunt utilizate în scopuri computaționale, în special în cercetarea științifică. Pentru clustere de calcul, indicatori semnificativi sunt performanțele ridicate ale procesorului în operații pe numerele de puncte plutitoare (flops) și latența scăzută a rețelei de combinare și mai puțin semnificativă - viteza operațiilor I / O, care este mai importantă pentru bazele de date și de baze de date Servicii. Clusterele de calcul fac posibilă reducerea timpului de calcul, comparativ cu un singur computer, ruperea sarcinii la ramurile paralele care sunt schimbate de datele de legare. Una dintre configurațiile tipice este un set de computere colectate din componente disponibile publicului, cu sistemul de operare Linux instalat pe ele, iar Ethernet, Myrinet, InfiniBand asociat cu rețeaua sau cu alte rețele relativ ieftine. Acest sistem este obișnuit să fie numit Cluster Beowulf. Alocați în mod special clustere de înaltă performanță (limba engleză este indicată prin abreviere HPC Cluster. - Cluster de înaltă performanță de calcul). Lista celor mai puternice computere de înaltă performanță (pot fi, de asemenea, notate de abrevierea HPC.) Puteți găsi în clasamentul lumii top500. Rusia are un rating de cei mai puternici computeri ai CSI.

Sisteme de computere distribuite (grilă)

Astfel de sisteme nu sunt considerate clustere, dar principiile lor sunt în mare măsură similare cu tehnologia clusterului. Ele sunt, de asemenea, numite sisteme de rețea. Principala diferență este disponibilitatea scăzută a fiecărui nod, adică incapacitatea de a garanta funcționarea acestuia la un moment dat (nodurile sunt conectate și deconectate în timpul operației), astfel încât sarcina trebuie împărțită într-un număr de procese independente unul de celălalt. Un astfel de sistem, spre deosebire de clustere, nu este similar cu un singur computer și servește ca mijloc simplificat de distribuire a calculelor. Instabilitatea configurației, în acest caz, este compensată de un număr mare de noduri.

Serverele de cluster organizate programatic

Sistemele de cluster ocupă un loc demni în lista celui mai rapid, câștigând în mod semnificativ supercomputere în preț. Pentru iulie 2008, locul 7 al ratingului Top500 este clusterul SGI Altix Ice 8200 (Chippewa Falls, Wisconsin, SUA).

O alternativă relativ ieftină la supercomputere sunt grupuri bazate pe conceptele Beowulf, care sunt construite din computere necostisitoare obișnuite pe baza software-ului liber. Unul dintre exemplele practice ale unui astfel de sistem este Suspercuterul de piatră în laboratorul național OK-Ridge (Tennessee, SUA, 1997).

Cel mai mare cluster aparținând persoanei private (din 1000 de procesoare) a fost construit de John Koza.

Istorie

Istoria creației de cluster este legată inextricabil de evoluțiile timpurii în domeniul rețelelor de calculatoare. Unul dintre motivele apariției comunicării de mare viteză între computere a devenit speranțe pentru combinarea resurselor de calcul. La începutul anilor 1970, dezvoltatorii protocolului TCP / IP și laboratorul Xerox Parc au fost alocate standardelor interacțiunii rețelei. Sistemul de operare al Hydra pentru computerele PDP-11 fabricate de Dec, creat pe această bază, clusterul a fost numit C.MPP (Pittsburgh, Pennsylvania, SUA, 1971). Cu toate acestea, numai în jurul anului 1983, au fost create mecanisme, permițând utilizarea distribuției sarcinilor și a fișierelor prin rețea, în cea mai mare parte a dezvoltat în Sunos (sistem de operare bazat pe BSD de la Sun Microsystems).

Primul proiect de cluster comercial a fost creat ARCNET de Datapoint în 1977. Nu a fost profitabil și, prin urmare, construcția de clustere nu sa dezvoltat până în 1984, când Dec a construit VaxCluster pe baza sistemului de operare VAX / VMS. ArcNet și VaxCluster au fost proiectate nu numai pentru calcule comune, ci și de partajarea sistemului de fișiere și periferie, ținând seama de conservarea integrității și unicității datelor. Vaxcluster (numit acum VMSCluster) - este o componentă integrală a sistemului de operare OpenVMS utilizând procesoarele Dec Alpha și Itanium.

Alte două produse cluster timpurii care au primit recunoaștere includ Tandem Hymalaya (1994, clasa) și IBM S / 390 paralel sysplex (1994).

Istoria clusterelor din computerele personale obișnuite este în mare măsură necesară pentru a proiecta mașina virtuală paralelă. În 1989, acest software pentru combinarea computerelor la un supercomputer virtual a deschis posibilitatea de a crea clustere instantanee. Ca rezultat, performanța totală a tuturor clustere ieftine a creat apoi a depășit suma capacităților sistemelor comerciale "grave".

Crearea de clustere bazate pe computere personale ieftine asociate cu rețeaua de date a continuat în 1993 de Agenția Aerospațială Americană NASA, apoi în 1995 au primit dezvoltarea grupurilor Beowulf dezvoltate în mod special pe baza acestui principiu. Succesurile unor astfel de sisteme au împins dezvoltarea

Sistemul de cluster.

Ce este un cluster?

Clusterul este o totalitate de servere, acționări și stații de lucru care:
· Acționați ca un sistem;
· Trimiteți utilizatorilor ca un sistem;
· Gestionat ca un sistem;
Cluster este, de asemenea, abilitatea de a utiliza resurse computaționale Sistemul dvs. astfel încât sistemul rezultat să depășească capacitățile sale cu posibilitățile totale ale părților sale.

Principalele avantaje ale clusterului sunt:
· Asigurarea unui nivel ridicat de pregătire în comparație cu setul fragmentat de computere sau servere. Îmbunătățirea disponibilității sistemului asigură activitatea aplicațiilor critice pentru afaceri în timpul celei mai lungi perioade de timp. Critical include toate aplicațiile care depind direct de capacitatea companiei de a obține un profit, de a oferi un serviciu sau de a oferi alte funcții vitale. Utilizarea clusterului vă permite să vă asigurați că dacă serverul sau orice aplicație nu mai funcționează în mod normal, un alt server din cluster, continuând să vă îndeplinească sarcinile, va lua rolul unui server defect pentru a minimiza timpul de nefuncționare a utilizatorilor datorită unei defecțiuni in sistem.
· Creșterea semnificativă a performanței globale a rețelei (grad înalt). Clusterul vă permite să măriți flexibil puterea de calcul al sistemului, adăugând noduri noi la acesta și fără întreruperea utilizatorilor.
· Reducerea costului de administrare a rețelei locale (manipulare bună).
· Asigurarea disponibilității ridicate a serviciilor de rețea. Chiar și cu eșecul uneia dintre servere de clusterToate serviciile oferite de un cluster rămân disponibile pentru utilizatori.

Separarea cu avalitatea ridicată și sistemele de înaltă performanță

În clasificarea funcțională, clusterele pot fi împărțite în "de mare viteză" (înaltă performanță, HP), "sisteme de înaltă disponibilitate" (de înaltă disponibilitate, ha), precum și "sisteme mixte".
Clusterele de mare viteză sunt utilizate pentru sarcini care necesită o putere semnificativă de calcul. Zonele clasice în care sunt utilizate sisteme similare sunt:
· Prelucrarea imaginilor: Renerarea, recunoașterea imaginii
· Cercetare științifică: fizică, bioinformatică, biochimie, biofizică
· Industrie (sarcini de informare geografică, modelare matematică)
și multe altele…
Clusterele care aparțin sistemelor de înaltă disponibilitate sunt utilizate oriunde costul posibilei idleness depășește costul costului necesar pentru a construi un sistem de cluster, de exemplu:
· Sisteme de bulling
· Operațiuni bancare
· comerț electronic
· Managementul întreprinderii etc. ....
Sistemele mixte combină caracteristicile primului și al doilea. Poziționarea acestora, trebuie remarcat faptul că clusterul, care posedă parametrii atât a performanței ridicate, cât și disponibilitatea ridicată, va pierde cu siguranță în viteza unui sistem orientat spre sistem de mare viteză și într-un posibil sistem orientat spre sistemul de timp inalta disponibilitate.

Ce este un cluster de înaltă pregătire?
Un cluster de înaltă disponibilitate este o varietate de sisteme de cluster concepute pentru a asigura funcționarea continuă a aplicațiilor sau a serviciilor critice. Utilizarea unui cluster de înaltă disponibilitate vă permite să împiedicați ambele liniuțe neplanificate cauzate de echipamente, cât și de eșecurile software și liniuțele planificate necesare pentru a actualiza software-ul sau repararea echipamentelor preventive.

Clusterul constă din două noduri (servere) conectate la o matrice de disc partajată. Toate componentele de bază ale acestui disc de alimentare - sursă de alimentare, unități de disc, controler I / O - au o redundanță cu posibilitatea înlocuirii fierbinți. Nodurile de cluster sunt interconectate de rețeaua internă pentru a face schimb de informații despre starea actuală. Alimentarea cu energie a clusterului este efectuată din două surse independente. Conectarea fiecărui nod la rețeaua locală externă este, de asemenea, duplicată.
Astfel, toate subsistemele de cluster au redundanță, astfel încât clusterul nu reușește să refuze orice element în ansamblu, va rămâne în starea de lucru.

Cum este aranjat clusterul
Clusterul este mai multe computere numite noduri pe care funcționează sistemul de operare Unix sau Windows. Aceste servere în raport cu restul rețelei acționează ca un singur obiect: un server puternic "virtual". Clienții sunt conectați la cluster, fără să știe ce fel de computer se va ocupa de serviciul lor. Accesul neîntrerupt la clustere se realizează prin detectarea în timp util a încălcărilor în funcționarea hardware-ului și a software-ului și a transferului automat al proceselor de prelucrare a datelor la un nod bun. Într-un cluster standard, fiecare nod este responsabil pentru plasarea unui anumit număr de resurse. În cazul unei insuficiențe sau a unor resurse noduri, sistemul transmite o parte din resursele unui alt nod și le oferă accesibilitatea clienților.

Universitatea de Stat de Informare și Tehnologii de Comunicare

abstract

de la disciplina "Circuit de calculator"

pe subiect: "Sisteme de cluster moderne și utilizarea lor"

Efectuat: Grupul Student al CSD-32

Muzalevsky Evgeny.


Intrarea 3.

1. Principii generale ale sistemelor de cluster 4

2. Clasificarea 4.

3. Utilizarea sistemelor de cluster 5

Concluzii 6.

Referințe 6.
Introducere

Clusterul este un sistem multiprocesor modular creat pe baza nodurilor standard de calcul conectate printr-un mediu de comunicare de mare viteză. Acum, cuvintele "cluster" și "supercomputer" sunt în mare parte sinonim, dar înainte de a deveni posibil să vorbească cu încredere, hardware-ul a avut loc un ciclu lung de evoluție. În primii 30 de ani de la momentul apariției computerelor, până la mijlocul anilor 1980, sub tehnologiile "supercomputer" înțelese exclusiv producția de procesoare puternice specializate specializate. Cu toate acestea, apariția unui microprocesor cu un singur cip a șters aproape diferența dintre procesoarele "Mass" și "Mai ales puternic" și din acel moment numai pe singura modalitate de a crea un supercomputer a fost modul de combinare a procesoarelor pentru o soluție paralelă la o singură sarcină .

O caracteristică atractivă a tehnologiilor de cluster este că acestea permit obținerea performanței necesare pentru a combina computerele de diferite tipuri în computerele unice, variind de la computerele personale și terminând cu supercomputere puternice. Tehnologiile de cluster pe scară largă obținute ca mijloc de a crea sisteme de clasă supercomputere din părțile componente ale producției de masă, ceea ce reduce semnificativ costul sistemului de calcul.


1. Principii generale Sisteme de cluster

După cum sa menționat deja mai devreme, clusterul de calcul este o totalitate
Computerele combinate într-o anumită rețea pentru a rezolva o sarcină, care este trimisă pentru utilizator ca o singură resursă.

Conceptul de "resursă unică" înseamnă disponibilitatea software-ului
Posibilitatea de utilizatori, administratori și programe aplicate de luat în considerare
Că există o singură entitate cu care lucrează este un cluster.
De exemplu, sistemul de procesare a pachetelor de cluster vă permite să trimiteți o sarcină
Procesarea clusterului, nu orice computer separat. Mai complex
Un exemplu este sistemele de baze de date. Aproape toți producătorii
Sistemele de baze de date au versiuni care operează în modul paralel
Mașini multiple de cluster. Ca rezultat, aplicațiile care utilizează baza de date
Datele nu ar trebui să aibă grijă de locul în care se desfășoară activitatea lor. DBMS.
Responsabil pentru sincronizarea acțiunii și întreținerii paralele
Integritatea bazei de date.

Calculatoare care formează un cluster - așa-numitele noduri de cluster - întotdeauna
relativ independentă, care permite oprirea sau oprirea oricărui din
pentru munca preventivă sau instalarea suplimentară
Echipamente fără a perturba performanța întregului cluster.

Deoarece nodurile de calcul în cluster sunt utilizate în mod obișnuit
Calculatoare personale cu un singur procesor, cu două sau patru procesoare SMP-
Servere. Fiecare nod funcționează sub controlul copiei sale de operare
sisteme, care sunt cele mai des utilizate standard
Sisteme de operare: Linux, NT, Solaris etc. Compoziția și puterea nodurilor
poate varia chiar și într-un grup, oferind ocazia de a crea
Sisteme neomogene. Alegerea unui anumit mediu de comunicații este determinată.
Mulți factori: caracteristicile clasei de sarcini rezolvate, necesitatea
Extinderea clusterului ulterior etc. Este posibil să se permită configurația.
computere specializate, cum ar fi serverul de fișiere și, de regulă,
A oferit posibilitatea accesului la distanță la cluster prin Internet.
Din definiția arhitecturii sistemului cluster rezultă că include în
tu o gamă foarte largă de sisteme.

2. Clasificare

Sistemele de cluster pot folosi o varietate de platforme și, de regulă, nu sunt clasificate de setul de componente, ci de aplicații. Se disting patru tipuri de sisteme de cluster: clustere de calcul, clustere de bază de date, clustere și clustere tolerante la defecțiuni pentru distribuția de descărcare. Cea mai numeroasă grup este clusterele de calcul. Poate fi rupt în subgrupuri; Adevărat, nu există alte mașini de calcul în interiorul acestui grup, dar soluții de software și hardware pentru software și hardware. Astfel de sisteme "la cheie" au un software aplicat preinstalat, cerut de client pentru a-și rezolva sarcinile. Soluții optimizate pentru diferite aplicații diferă în selectarea componentelor care asigură lucrările cele mai productive ale acestor aplicații cu cel mai bun raport preț / calitate.

Clusterele de bază de date au apărut recent. Aceste sisteme lucrează cu versiuni paralele Baze de date și sunt utilizate în organizații mari pentru activitatea sistemelor CRM și ERP, precum și baze de date tranzacționale. Astăzi, aceste sisteme sunt un concurent serios pentru serverele tradiționale, cu memorie partajată, datorită unui preț mai bun / productivității, scalabilității și toleranței defecțiunilor.

Clusterele de eșec sunt construite pentru a asigura fiabilitatea aplicațiilor critice în cel mai bun mod posibil. Aplicația este duplicată pe noduri diferite, iar în cazul unei erori într-unul dintre ele, aplicația continuă să funcționeze sau să repornească automat pe cealaltă. Astfel de clustere nu sunt mari, iar utilizatorii își construiesc adesea ei înșiși. Tehnologiile de cluster sunt, de asemenea, utilizate pentru a distribui un flux de interogare mare pentru multe servere. Astfel de soluții sunt adesea folosite pentru a sprijini site-urile web cu conținut dinamic care accesează în mod constant baze de date, cum ar fi motoarele de căutare. În funcție de dimensiunea serviciului, clusterele de alocare a încărcăturii pot avea un număr suficient de mare de noduri.

Activitatea sistemelor de cluster este asigurată de patru tipuri de aplicații specializate, cum ar fi: sisteme de operare (de obicei Linux), instrumente de comunicații, instrumente de aplicații paralele și instrumente de administrare a clusterului.

3. Utilizarea sistemelor de cluster

Dezvoltatorii arhitecturilor sistemului cluster au urmărit diverse scopuri atunci când
crearea lor. Primul a fost echipamentul digital cu clustere VAX / VMS.
Scopul creării acestei mașini a fost îmbunătățirea fiabilității sistemului,
Asigurarea disponibilității ridicate și a toleranței la defecțiuni. In prezent
Timpul există multe sisteme similare pentru arhitectura sistemelor de la alții.
Producătorii.

Un alt scop de a crea sisteme de cluster este de a crea ieftin
Sisteme de computere paralele de înaltă performanță. Unul dintre primii
Proiecte care au dat un nume pentru o întreagă clasă de sisteme paralele - Beowulf Cluster
- a provenit din centrul centrului de zbor NASA Goddard Space pentru a sprijini
Resursele de calcul integrale ale proiectului Pământ și științe spațiale.
Proiectul Beowulf a început în vara anului 1994, iar în curând a fost colectat 16 procesor
Cluster pe procesoare Intel 486dx4 / 100 MHz. Pe fiecare nod a fost
16 MB de RAM și 3 Network Ethernet
adaptor. Acest sistem a fost foarte reușit în legătură cu
prețul / performanța, astfel încât o astfel de arhitectură a început să se dezvolte și
Utilizarea pe scară largă în alte organizații și institute științifice.
Pentru fiecare clasă de clustere se caracterizează prin arhitecturi și
Hardware aplicat.

În medie, supercomputerele interne sunt încă foarte inferioare performanței occidentale: mașinile utilizate pentru cercetarea științifică, de 15 ori, resursele computaționale ale companiilor financiare - de 10 ori, supercomputere industriale - de 9 ori.


Concluzii

Clusterul este un complex complex de software și hardware format din noduri de calcul bazate pe procesoare standard conectate printr-o rețea de sistem de mare viteză, precum și de rețele auxiliare și de servicii.

Există patru tipuri de sisteme de cluster: clustere de calcul, clustere de baze de date, clustere și clustere tolerante la defecțiuni pentru distribuția de descărcare.

Domeniul de aplicare al sistemelor de cluster nu este deloc deloc decât supercomputerele cu o altă arhitectură: nu fac obiectul unei sarcini de modelare a unei varietăți de procese și fenomene. Modelarea supercomputerului poate avea mult timp și poate accelera concluzia pe piața produselor noi, precum și îmbunătățirea calității acestora.



Ți-a plăcut articolul? Împărtășește-l