| 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.  
 
 |