Sun Grid Engine este o solutie de planificare pe griduri oferita de Sun Microsystems.
De ce planificare pe griduri?
In primul rand este nevoie de rezervare de resurse: vrem ca programul (job) pe care il rulam sa ruleze cu performante maxime iar pentru acest lucru nu trebuie ca doi utilizatori sa foloseasca aceeasi masina pentru procesare.
Securitatea este si ea un punct de interes in aces caz: datele unui job nu trebuie sa se amestece cu datele altui job al altui utilizator.
Arhitectura
Sun Grid Engine (SGE) foloseste modelul master – worker in care exista un master (qmaster) ce gestioneaza noduri worker, noduri pe care se ruleaza efectiv joburile. Astfel se poate face si o gestionare centralizata a nodurilor folosind utilitare incluse in pachet (qlogin, qrsh).
Slot
Un slot este o unitate de executie. Poate fi un core, procesor sau masina. In functie de acest lucru este necesar sa nu folosirea de medii paralele de executie.
Queue
In queue este o coada de prioritati dinamica in care joburile asteapta sa fie rulate. Se pot creea oricate cozi in functie de necesitate. Un caz comun este creearea a cate o coada pentru fiecare tip de procesor existent in sistem si includerea acelor noduri ca si noduri worker pentru acea coada.
Queue-urile ofera facilitatea de a rula scripturi particulare inainte si dupa rularea unui job (prolog si epilog scripts). Acestea sunt utile atunci cand se doreste rulare de joburi IntelMPI. IntelMPI nu se integreaza cu SGE si astfel layerul de comunicare peste retea trebuie bootat manual (looseless integration). OpenMPI nu are aceasta problema.
Parallel environment
Am vorbit mai sus de joburi MPI. In functie de cum este alocat un Slot este nevoie de a rezerva mai mult de unul pentru a rula cu un numar de procese dorit. Astfel la rularea jobului pe langa specificarea queue-ului este necesara si specificare pe-ului parallel environement) impreuna cu numarul de sloturi de rezervat.
Instalare
Pentru instalarea SGE este necesar cel putin o masina. Aceasta va avea rol de master host si de submiter host dar poate avea si rol de execution host (in cazul in care se doreste executarea seriala a unor procese batch). Pentru performanta se recomanda ca nodurile worker sa fie diferite de master.
Atasez mai jos o prezentare pe care am realizat-o pentru un curs de la facultate.

0 Comments.