Cluster (Ghid practic)
Cum de a construi rapid un cluster?
Este reprezentat o situație în care, indiferent de motiv, pentru a implementa un cluster staționar nu este posibilă. Ei bine, de exemplu, atunci când clasa de calculator pe care doriți să o utilizați ca un cluster de calcul trebuie, indiferent de motiv, pentru a opera în cadrul sistemului de operare Windows. E în regulă! Cu ajutorul specializat pe care PelicanHPC distribuție GNU Linux, în orice moment, de exemplu, după sfârșitul zilei, și cursuri în laboratorul de informatică, puteți rula cluster și aduceți-l în crenelat ia nu mai mult de cinci minute. În plus, sistemul de operare original, software-ul și datele cu privire la utilizarea calculatoarelor nu va fi modificat ca un cluster. După oprirea clusterul calculatorul va veni la starea în care se afla înainte de începerea cluster-ului.
Pentru a implementa acest grup virtual, veți avea nevoie de un CD-ROM-ul cu cea mai recentă versiune a distribuției Linux GNU PelicanHPC, ISO-imagine pe care le poate lua de aici. Cu acest disc vă încărcați sistemul de operare de cluster (fără a instala pe hard disk) la un computer care va juca rolul consolei de cluster, de exemplu, computerul, neposredsvenno pentru care lucrați, compilarea și rulează programul paralel.
Restul nodurile clusterului vor fi încărcate într-o rețea. Pentru a descărca nodul de cluster OS de calcul în rețea este necesară pentru plăcile de rețea de calculatoare capabile să efectueze boot de rețea. Cele mai multe carduri moderne, inclusiv built-in, este capabil să facă. Dacă sunteți ghinion, puteți face întotdeauna un CD de la un gpxe.iso imagine și încărcați nodurile Compute din acel CD. Daca nu sunteti norocos si noduri de calcul potențiali lipsesc, și capacitatea de a porni prin rețea și CD-drive, iar în acest caz, nu dispera. resursă Vizitați www.rom-o-matic.net. genera și înregistra pe o dischetă floppy-imagine corespunzătoare cardului dvs. de interfață de rețea. Cu această dischetă și porniți sistemul de operare de pe alte noduri din cluster.
Acum, să vedem cum, în practică, a efectuat sarcina de cluster.
- Încărcați consola de cluster PelicanHPC GNU Linux CD Live
- După un timp povyalyaetsya următoarea interogare:
Aici va trebui să specificați dispozitivul, care va fi amplasat un dosar personalizat. Acesta este directorul de lucru în cazul în care vă va pune de coduri și date sursă program de fișiere. În mod implicit, va oferim pentru a împărți discul virtual este situat în RAM. Aceasta este cea mai ușoară opțiune, dar nu cel mai convenabil, în sensul că, după oprirea computerului, toate datele de pe disc vor fi distruse. În acest caz, veți avea de fiecare dată pentru a salva datele pe un dispozitiv de stocare extern înainte de a opri, cum ar fi o unitate flash USB. Va fi mai convenabil dacă selectați o partiție separată pentru datele de pe hard disk-ul computerului. Ca o opțiune poate fi considerată conexiune extern de stocare (flash drive sau USB-HDD). În acest caz, în loc de ram1 propus va trebui să specificați ceva de genul hda7, sda5, hdb1, etc. în funcție de configurația mașinii și opțiunile selectate. - Următoarea întrebare vi se va da, după cum urmează:
Sistemul cere utilizatorului în directorul de configurare inițială indiferent dacă sunt efectuate. În cazul în care utilizați ca un director de disc virtual ram1, răspunde întotdeauna „Da“. Dacă sunteți ales ca locația directorului de utilizator cu post (hard disk Secțiunea calculator, o unitate flash USB sau un USB extern HDD) mediu, atunci răspunsul este „da“, va trebui să selectați numai prima dată. În toate clusterului de boot ulterioare, trebuie să alegeți răspunsul „Nu“. - În etapa următoare, va trebui să specificați o parolă de utilizator, cu care va fi conectat la sistem:
- După ce setați ecranul de conectare standard, parola vor fi oferite:
Pentru a vă conecta, puteți utiliza numele de utilizator „utilizator“ și parola pe care ați specificat în etapa anterioară. - Deci, ne-am dus în sistemul consola de cluster. Acum, avem nevoie pentru a conecta toate nodurile noastre klasetru de calcul. Pentru a face acest lucru, executați configurația de comandă pelican_setup cluster. Primul lucru pentru a cere această echipă - vom configura bootarea rețeaua de noduri de calcul?
Desigur, noi spunem „Da“. - Configurarea serverului de boot de rețea, programul ne va oferi toate oțel de boot nodurile de cluster:
În acest moment, trebuie să includem toate celelalte computere din cluster, nu uitați să corectați BIOS nastroiki, astfel încât acestea să poată efectua o rețea de boot. Intervenția în procesul de boot de noduri de calcul din cluster nu este necesară. Trebuie doar să aștepte procedura de încărcare până când au terminat, care va indica următoarea imagine pe ecranul konmpyuterov:
După ce toate computerele vor fi încărcate, faceți clic pe butonul „Yes“. - În continuare, programul de configurare va încerca să găsească toate calculatoarele încărcate și să le includă într-o configurație de cluster. După acest punct se va afișa rezultatul final:
Pe acest ecran, programul ne spune cum s-au găsit mai multe noduri de calcul (în acest caz, două), în plus față de nodul, care este o consolă de cluster. Dacă totul merge bine - apăsați pe „Da“. - Și, în sfârșit, programul de configurare de cluster ne spune că toate setările sunt finalizate și cluster este gata de utilizare:
Rămâne doar să-l completeze, făcând clic pe „OK“. - În unele cazuri, am terminat configurarea cluster-ului cu eroarea, așa că am recomandăm următorii pași pentru a rula reconfigurarea script: pelican_restart_hpc. astfel repetă pașii 7-9 din nou.
Acum cluster este operațional. verifica activitatea sa cu privire la programul de testare. Să luăm drept exemplu de program pentru a calcula numărul flops.f. În orice fel, copiați codul sursă al programului în directorul utilizatorului de pe consola de cluster. Apoi, efectuați următorii pași:
- Noi compila programul MPI mediu paralel, folosind mpif77 flops.f o- flops echipa
- Rulați programul pe un singur procesor ./flops echipa
- Rulați programul pe două procesoare comanda mpirun n2,0 ./flops
După cum se poate observa din rezultatele programului
calcularea vitezei pe două procesoare este de aproximativ de două ori mai mare decât unul. Adică, clusterul este de a face exact ceea ce ne-am așteptat.
Notă importantă. Indiferent de motiv, configurația de cluster se face astfel încât lista de noduri de calcul ale registrelor consola clusterului ale acesteia din urmă. Cu toate acestea, este logic să se aștepte că producția programului va merge pentru a monitoriza acea mașină, cu care se execută, adică, pe consola. În același timp, programe paralele, de obicei, scrise în așa fel încât toată producția este într-un proces care opereaza la primul nod. Prin urmare, este necesar să se specifice în mod explicit o secvență de noduri pe care va fi executat atunci când începe programul. Și primul în această listă ar trebui să fie exact consola de cluster. În exemplul nostru, un grup format din trei mașini. Numerotarea începe să le de la zero. Adică 0, 1, 2. De aceea, am subliniat în mod explicit faptul că prima mașină - un număr de mașină 2 (acesta din urmă în lista de configurare). Am indicat parametrul n2,0. adică, programul este rulat pe mașină și mașina N2 N0.
Dacă am avut un astfel de grup de 16 de mașini, numărul lor ar fi 0, 1, 2, 14, 15. Pentru a porni programul nostru de test pe un astfel de grup ar trebui să utilizeze comanda
mpirun n15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 ./flops
sau abreviat realizare
mpirun n15,0-14 ./flops