23-11-04 03:51
Arhitektura sustava za upravljanje poslovima
piše EMIR IMAMAGIĆ
Sustavi za upravljanje poslovima (JMS) upravljaju izvođenjem korisničkih aplikacija na klasterima (vidi članak "Sustavi za upravljanje poslovima"). Slika prikazuje arhitektura tipičnog JMS-a. JMS-ovi su centralizirani sustavi čiji su središnje komponente smještene na zasebnom računalu. Kod Beowulf klastera je to frontend.
Sustav za upravljanje poslovima se sastoji tri komponente: | Reda poslova (engl. Queue Manager)
| | Raspoređivača poslova (engl. Scheduler)
| | Upravitelja resursima (engl. Resource Manager). |
Korisnik pomoću naredbi JMS-a (npr. qsub, condor_submit, itd.) pokreće aplikacije. Zahtjevi se spremaju u nizove poslova u kojima čekaju početak izvođenja. Primjer stanja u redu poslova na produkcijskom klasteru Isabella koji koristi sustav za upravljanje poslovima SGE:
job-ID name user state submit/start ------------------------------------------------------------- 3504 f2b14f2.ru gkovacev r 11/19/2004 01:41:01 3426 s2312-153. mpavicic r 11/12/2004 22:35:22 3531 run.scr zglasova r 11/22/2004 11:25:06 3420 racun3 rvianell r 11/14/2004 20:38:51 3532 submit2 bkovacev qw 11/22/2004 11:32:57
Prva četiri posla su aktivna, a 5. čeka na izvođenje.
Komponenta Red poslova prima zahtjeve za izvršavanjem poslova od korisnika, sprema poslove u redove i upravlja redovima poslova. Red poslova kontaktira komponentu Raspoređivač poslova i šalje podatke o poslovima koji čekaju u redovima. Korisnik pomoću Reda poslova dohvaća sve informacije o svojim poslovima. Dodatno, Red poslova sprema podatke o izvršenim poslovima (npr. količina memorije, trajanje posla) te različitih statistika o poslovima.
Komponenta Raspoređivač poslova odgovorna je za određivanje načina izvođenja poslova, tj. definiranje kada i gdje će se pojedini poslovi izvoditi. Pri tome Raspoređivač koristi tri skupa podataka: podatke o poslu (npr. zahtijevani broj procesora, količina memorije i HD), podatke o čvorovima klastera (npr. opterećenost čvorova, količina slobodne memorije i HD) i utvrđenih pravila, policy raspoređivanja. Podatke o poslovima dobiva od Reds poslova, a podatke o stanju i opterećenosti resursa od Upravitelja resursima. Politike raspoređivanje definira administrator klastera i na osnovu njih se definira politika korištenja klastera, tj. definira se koja vrsta poslova (npr. duži, kraći, usporedni, interaktivni) ima prednost. Raspoređivač poslova zadužen je da, u skladu s politikom raspoređivanja, optimira korištenje klastera.
Upravitelj resursima zadužen je za prikupljanje podataka o stanju čvorova te pokretanje i praćenje izvršavanja poslova. Upravitelj Resursima se sastoji od dvije komponente: poslužitelja i klijenata. Klijenti su servisi koji se izvršavaju na svim čvorovima klastera i zaduženi su za pripremanje okoline za izvršavanje poslova, praćenje stanja čvorova te pokretanje i praćenje izvođenja korisničkih aplikacija. Poslužitelj je servis smješten na frontendu koji prikuplja informacije od klijenata, šalje poslove na izvođenje klijentima te pruža informacije komponentama Raspoređivač i Red poslova.
|