Dualprocesorovy server a linux

Michal Ludvig michal-linux na logix.cz
Čtvrtek Duben 4 11:41:05 CEST 2002


Milan Roubal wrote:
> Otazku kterou mam je - jak je to v linuxu s distribuovanymy vypocty?
> Je na to nutne programy specialne pripravovat, je to
> slozite/jednoduche?

To zalezi na metode distribuovani. Bud pouzijete nejaky klasicky 
vicevlaknovy/viceprocesovy program, ktery neco pocita, nebo vyuzijete 
PVM (nebo MPI - ale o tom moc nevim) a program napisete primo s podporou 
pro PVM.

V prvnim pripade muzete za urcitych podminek s uspechem vyuzit Mosix. Ty 
podminky jsou takove, ze proces nesmi byt vicevlaknovy, nemel by delat 
nic moc jineho nez pocitat (takze sahani na disk nebo vypisovani spousty 
hlasek neni dobry napad) a mel by pocitat relativne dlouho. Mosix docela 
mohutne komunikuje pres sit (presouva cele procesy vcetne jejich pameti 
a ma i celkem vysokou sitovou rezii), takze gigabit je pomerne vhodny. 
Jeste o neco lepsi je treba SCI, nebo Myrinet sit (oba jsou taky kolem 
1Gb, ale s nizsi latenci a vetsi propustnosti). Neco malo si o Mosixu 
mezete pracist na http://www.root.cz/clanek.phtml?id=844

Pokud se rozhodnete pro PVM, tak bude vypocet probihat tak, ze na vsech 
uzlech se skrz pvm-deamona spusti nejaky ten vas pocitaci program a pres 
  definovane pvm rozhrani z hlavniho uzlu dostane urcitou porci svych 
dat, prechrousta je a posle zpatky. Hlavni vyhoda oproti mosixu je ta, 
ze zde necestuji cele procesy, ale pouze data. Nevyhoda je takova, ze 
aplikace musi byt pro PVM pripravena a musi sama vedet jak nejlepe 
rozhazovat data po uzlech.

Pokud tu aplikaci budete psat sami, tak myslim, ze s PVM muzete 
dosahnout lepsich vysledku. Pro mosix to ale zase muzete mit rychleji 
napsane - proste 20x fork() a "ono se to nejak spocita" :-)

> jak je to s vypoctem na jedne ctyrprocesorove masine? musi se vypocet
> prizpusobit?

Vypocet musi probihat zaroven ve vice vlaknech nebo procesech. Jinak 4 
procesory nevyuzijete. Kdyz to dobre napisete, tak programu bude uplne 
fuk, jestli bezi na 4CPU masine nebo na 4 uzlovem mosixim clusteru.

Samozrejme vam nikdo nebrani kombinovat oba pristupy: Skrz PVM 
distribuovat data a kazdy SMP uzel je muze v nekolika vlaknech pocitat.

Ale to vsechno hodne zalezi na vasem zameru a na moznostech 
upravovat/psat tu aplikaci.

Michal Ludvig



Další informace o konferenci Linux