24-11-04 20:17
Svojstva sustava za upravljanje poslovima
piše EMIR IMAMAGIĆ
U ovom članku pregledavamo pojmove uz izvođenje i upravljanje aplikacija (poslova) na klasterima. Pojmovi nisu isključivo specijalizirana terminologija za klastere, nego vrijede općenito, uz izvođenje aplikacija na običnim računalima ili pak raspodijeljenim sustavima kao što je tehnologija grida.
Vrste poslova
Osnovne vrste poslova su: | interaktivni
| | zadani (batch) |
te | usporedni (paralelni)
| | nizani (serijski). |
Moguće su sve kombinacije vrsta iz pojedinih skupina: paralelni-interaktivni, paralelni-batch, serijski-interaktivni i serijski-batch.
Interaktivni poslovi su oni poslovi kod kojih korisnik interaktivno sudjeluje u izvođenju posla (npr. unos parametara, grafički prikaz dobivenih međurezultata), a batch poslovi su oni čije izvođenje ne zahtijeva interakciju korisnika (npr. izvođenje kompleksnog računa sa unaprijed zadanim svim parametrima).
Usporedni poslovi zapošljavaju u izvođenju više procesora, a serijski samo jedan procesor.
Postoje i složeniji oblici poslova kao što su polja poslova (engl. job arrays) i tijekovi radnoga procesa (workflowi). Pod poljem poslova podrazumijeva se višestruko izvođenje istoga posla, s različitim ulazom. Workflow je skup međusobno ovisnih poslova gdje se pojedine aplikacije moraju izvesti prije drugih.
Heterogeni klasteri
Heterogeni klasteri su klasteri sastavljeni od čvorova različite arhitekture. Čvorovi se, primjerice, razlikuju po hardverskim komponentama, OS-u ili instaliranom softveru. JMS mora omogućiti izvođenje poslova na takvom obliku klastera. Korisnik pri tome mora moći definirati koja platforma je potrebna za izvođenje posla.
Dijeljeno vrijeme i prostor (Time vs. Space Sharing)
Vremensko dijeljenje (engl. time sharing) je oblik dodjeljivanje procesora (čvorova) onim poslovima kod kojih se na jednome procesoru istovremeno izvodi više poslova. Izvođenje se ostvaruje tako da poslovi naizmjenično dobivaju procesor na korištenje. te se tako stvara privid istovremenoga izvođenja više poslova. Vremensko dijeljenje je karakteristično za obična jednoprocesorska računala.
Prostorno dijeljenje (engl. space sharing) je takvo dodjeljivanje procesora poslovima gdje svaki posao dobiva vlastiti procesor za izvođenje. Takav oblik dijeljenja karakterističan je za višeprocesorske sustave i klastere.
JMS-ovi su namijenjeni za ostvarivanje prostornog dijeljenja, ali moraju imati mogućnost ostvarivanja i vremenskoga dijeljenja. Administrator treba moći definirati čvorove na kojima će se ostvarivati vremensko dijeljenje procesora.
Opisivanje poslova
JMS mora omogućiti korisnicima jezik opisivanja poslova (engl. job description language). Opisivanje posla je iznimno bitno, jer, koristeći dodatne informacije o poslu, JMS poslove djelotvornije raspodjeljuje. Primjerice, SGE i PBS omogućavaju korisnicima da definiraju jednostavne atribute poslova (ime posla, duljina trajanja, itd.), a Condor pruža cijeli jezik ClassAds koji omogućava definiranje složenih zahtjeva (npr. OS ili arhitekturu čvorova).
File stage in/out
File stage in/out je postupak snimanja skupa datoteka na/sa čvor(ove) na kojima se posao izvodi. Kod Beowulf klastera ovo svojstvo nije toliko bitno, jer čvorovi putem NFS-a koriste HD na frontendu, no kod klastera gdje čvorovi nemaju dijeljeni filesystem ovo je svojstvo nužno.
Skripte prologa i epiloga
Prolog i epilog su skripte koje se izvode prije, odnosno nakon izvođenja svakoga posla. Skripte omogućavaju administratorima izvođenje akcija poput osiguravanje brisanja zaostalih datoteka i sl.
Advance reservation
Rezervacija resursa unaprijed (engl. advance reservation) postupak je rezervacije čvorova na određeno vrijeme za izvođenje pojedinih poslova. Ta funkcionalnost je bitna za aplikacije koje moraju biti izvedene u posve određenom vremenskom razdoblju, primjerice, ako aplikacija ostvaruje online obradu podataka dobivenih od nekog mjernog instrumenta.
Uz ovaj pojam se veže i pojam backfilling. Backfilling je postupak raspoređivanja kraćih poslova na resurse u onim razdobljima koja nisu rezervirana. Efikasno ostvarivanje backfilling algoritma zahtijeva od korisnika precizno definiranje trajanja poslova.
CPU harvesting
CPU harvesting je postupak dinamičkog priključivanja neopterećenih radnih stanica klasteru. Taj oblik rada je karakterističan za klastere tipa mreže radnih stanica (vidi članak "Mreže radnih stanica").
Checkpointing
Checkpointing je postupak spremanja trenutnoga stanja posla. Korištenjem spremljenog stanja posao se s toga mjesta može nastaviti izvoditi.
Većina JMS-ova se oslanja na sposobnost samog OS-a da ostvari checkpointing. Kako mnogo OS-ova nema tu mogućnost, checkpointing je rijetko dostupan. Primjer OS-a koji omogućava checkpointing je SGI Irix. Neki JMS-ovi posjeduju vlastite mehanizme za checkpointing (npr. Condor).
Checkpointing je bitan za ostvarivanje sljedeća dva svojstva: process migration i fault tolerance.
Process migration
Selidba procesa (engl. job migration) je postupak premještanja poslova s jednog čvora na drugi. Pri tome se posao pokreće iz početka ili iz spremljenoga stanja, ovisno o tome što je racionalnije. Selidba procesa je bitna za ostvarivanje sljedeća dva svojstva: fault tolerance i load balancing.
Fault tolerance
Oporavak od pogreške (engl. fault tolerance) - JMS mora osigurati izvođenje poslova od pojavljivanja pogreške u radu čvorova. Kada se u radu određenih čvorova pojavi greška, poslovi se moraju nastaviti bez intervencije korisnika ili administratora. Oporavak se obično ostvaruje tako da se posao pokrene od početka ili iz spremljenog stanja na drugom funkcionalnom čvoru.
Load balancing
Load balancing je postupak usklađivanja opterećenja čvorova, na način da se dio poslova s opterećenijeg čvora premjesti na slabije opterećene strojeve. JMS ostvaruje load balancing već prilikom raspoređivanja poslova, tako da svakom čvoru dodijeli broj poslova koji će stvoriti optimalno opterećenje.
Job preemption
Job preemption je postupak privremenog ili potpunog zaustavljanja izvođenja jednog posla u korist drugog. Taj se postupak obično obavlja kada iskrsne posao visokog prioriteta ili kada na čvoru na kojem se izvodi prvi posao postoji rezervacija.
http://www.buyya.com/cluster/
http://www.cs.wisc.edu/condor/
http://gridengine.sunsource.net
http://www.pbspro.com
|