O mașină virtuală paralelă (pvm) este baza programării paralele pe un cluster și o

Masina virtuala paralela (PVM)

Bazele mediului de calcul al grupului Beowulf sunt mașinile virale PVM paralele. PVM (Virtual Machine Paralelă) este un pachet software care vă permite să utilizați un set de computere eterogene conectate la rețeaua locală care operează sub sistemul de operare Unix ca un singur calculator paralel mare. Astfel, problema calculilor mari poate fi rezolvată foarte eficient utilizând puterea combinată și memoria unui număr mare de computere. Pachetul software PVM este ușor de transferat pe orice platformă. Codul sursă, distribuit gratuit de către netlib, a fost compilat pe computere, de la laptop la CRAY.

Paralel cu mașina virtuală poate fi definită ca o parte a mijloacelor de sistem real de calcul (procesoare, memorie, periferice, etc.), pentru executarea unei multitudini de sarcini implicate în obținerea rezultatului total de calcul. În general, numărul de sarcini poate depăși numărul de procesoare incluse în PVM. În plus, compoziția PVM poate include computere destul de eterogene care sunt incompatibile cu sistemele de comandă și formatele de date. Cu alte cuvinte, Parallel Virtual Machine poate fi atât PC-uri individuale și rețele locale, care include supercalculatoare cu arhitectura paralela, calculatoare mainframe, stații de lucru grafice și toate de aceeași low-power PC. Este important doar ca PVM inclus în mijloacele de calcul să aibă informații în software-ul PVM utilizat. Cu acest software, utilizatorul poate presupune că el comunică cu un computer, în care este posibil executarea în paralel a mai multor sarcini.

PVM permite utilizatorilor să utilizeze hardware-ul existent pentru a rezolva sarcini mult mai complexe, cu costuri suplimentare minime. Sute de grupuri de cercetare din întreaga lume utilizează PVM pentru a rezolva probleme științifice, tehnice și medicale importante și, de asemenea, utilizează PVM ca un instrument educațional pentru predarea programării paralele. În prezent, PVM a devenit standardul de facto pentru calculul distribuit.

Scopul principal al utilizării PVM este creșterea vitezei de calcul prin execuția lor paralelă. Funcționarea PVM se bazează pe mecanismele de schimb de informații între sarcinile efectuate în mediul său. În acest sens, este foarte convenabil să se implementeze PVM în cadrul complexului de calcul multiprocesor, alocând mai multe procesoare mașinii virtuale și RAM-ului general sau individual (în funcție de condiții). Utilizarea PVM este posibilă atât pe computerele multiprocesor (SMP), cât și pe sistemele informatice construite pe tehnologia cluster. Atunci când se utilizează PVM, de regulă, problemele de schimb rapid de informații între sarcini sunt mult simplificate, precum și problemele de reconciliere a formatelor de reprezentare a datelor între sarcinile efectuate pe diferite procesoare

Programarea eficientă pentru PVM începe cu faptul că algoritmul de calcul trebuie să fie adaptată la compoziția PVM și caracteristicile sale. Aceasta este o sarcină foarte creativ, care, în multe cazuri, trebuie să fie abordată de către programator. Pe lângă sarcina de calcul paralelizare, apare și sarcina de a gestiona procesul de calcul, coordonarea acțiunilor de sarcini care participă la acest proces. Uneori, pentru management este necesar să se creeze o sarcină specială, care însăși nu participă la calcule, furnizează munca coordonată a altor sarcini - calculatoare.

Anterior, a menționat în treacăt că în calcul paralel este necesară pentru a programa acțiuni specifice de coordonare a sarcinilor, cum ar fi procesele care rulează sarcini pe procesoarele de cluster, gestiona schimbul de date între sarcini, și așa mai departe. De asemenea, trebuie definite în mod clar „zona de activitate“ pentru fiecare sarcină.

Cea mai simplă și populară modalitate de a organiza un cont paralel este după cum urmează. În primul rând, se începe o sarcină (master), care în echipa de sarcini va juca funcțiile coordonatorului de lucru. Această problemă face ca unele măsuri pregătitoare, cum ar fi inițializarea condițiile inițiale, și apoi se execută alte sarcini (sclavi), care pot fi fie același fișier executabil, sau diferite executabilele. O astfel de variantă de calcule, de preferință, în paralel, la complicații de calcul logica de gestionare a procesului, precum și algoritmi implementate în diferite sarcini diferă semnificativ sau are o cantitate mare de operațiuni (de exemplu, de intrare - ieșire) care servește procesului de calcul în ansamblu.

Articole similare