Forum » Programska oprema » Porazdelitev procesov
Porazdelitev procesov
poweroff ::
Nekje sem zasledil da za Linux obstaja nek software, ki skrbi za porazdelitev procesov.
Se pravi - v mrezo namestimo vec masin, potem pa na vsaki od njih tece en kos procesa.
Morda kdo ve kako se zadeva imenuje in kje jo dobiti?
Se pravi - v mrezo namestimo vec masin, potem pa na vsaki od njih tece en kos procesa.
Morda kdo ve kako se zadeva imenuje in kje jo dobiti?
dr.J ::
Hja, kakšne procese bi pa ti rad delil po mreži?
V te namene se gradijo gruče računalnikov, na katerih tečejo paralelno narejene aplikacije. Poglej na Google pod "beowulf" pa v domače loge na http://www.activetools.si ali pa še kaj vprašaj, saj imam nekaj izkušenj s tem.
Tudi v tem forumu se je že večkrat govorilo o tej temi.
V te namene se gradijo gruče računalnikov, na katerih tečejo paralelno narejene aplikacije. Poglej na Google pod "beowulf" pa v domače loge na http://www.activetools.si ali pa še kaj vprašaj, saj imam nekaj izkušenj s tem.
Tudi v tem forumu se je že večkrat govorilo o tej temi.
Zgodovina sprememb…
- spremenil: dr.J ()
Brane2 ::
To kernel dela že sam.
Če imaš Linux distribucijo na osnovi kernala 2.4.x, se bo zelo lepo znašel tud z mašino na več procesorjih (dvo ali večprocesorke plate).
To dela tud na starejšem 2.2x kernelu, sam baje ne tko lepo...
Če pa misliš sestavit mašino iz več plat, potem bi bil verjetno bolj prav odgovor BeoWulf ali kaj podobnega...
Če imaš Linux distribucijo na osnovi kernala 2.4.x, se bo zelo lepo znašel tud z mašino na več procesorjih (dvo ali večprocesorke plate).
To dela tud na starejšem 2.2x kernelu, sam baje ne tko lepo...
Če pa misliš sestavit mašino iz več plat, potem bi bil verjetno bolj prav odgovor BeoWulf ali kaj podobnega...
poweroff ::
Tocno to me zanima. Imam moznost dobiti 20 stari 486-tk z mreznimi karticami (OK, samo 10 Mbit)... pa sem razmisljal zakaj se ne bi lotil sestavljanja masine...
poweroff ::
No, aplikacijo ki se razbije na več procesov bi znal napisati tudi sam.. .pač samo rabiš zagnrati na vsaki mašini isti proces z različnimi parametri, rezultati se pa potem nekam stekajo...
Ampak to je namenska aplikacija. Mene zanima na splošno. Da bi pognal en program na eni konzoli in bi potem laufal na vsaki masini en koscek - "sam od sebe" (v bistvu bi za to skrbela neka aplikacija)
Ampak to je namenska aplikacija. Mene zanima na splošno. Da bi pognal en program na eni konzoli in bi potem laufal na vsaki masini en koscek - "sam od sebe" (v bistvu bi za to skrbela neka aplikacija)
dr.J ::
Ravno za "stekanje" rezultatov skupaj moraš ustrezno poskrbeti. Zelo malo je aplikacij, kjer lahko samo na koncu vse skupaj združiš. Večina se že med delom mora sporazumevati med seboj. V ta namen moraš inštalirati na vse mašine ustrezne komunikacijske knjižnice, ki jih potem kličeš iz tvojega programa. Take so npr. Message Passing Interface (MPI) in PVM.
V splošnem se paralelno programiranje deli na "shared memory" in "distributed memory" tipa. V prvem so mašine s več CPUji in skupnim pomnilnikom, v drugem primeru pa je pomnilnik razdeljen.
Pa mašine morajo biti enako hitre, sicer ta hitrejše čakajo počasne. Zgodba zase je tudi pametno porazdeljevanje bremena med posamezne CPUje.
Prevajalniki znajo do neke mere sami otimizirati kodo za "shared model"; a če nisi vnesel ustreznih ukazov v tvoj program, je taka "optimizacija" zelo vprašljiva.
Za "shared" model še dobiš aplikacije, medtem ko za "distributed" skorajda ne.
Nikar ne misli, da boš kar tako enostavno z dvema 486kama delal zdaj 2x hitreje.
Ali sploh veš, kaj bi rad tako delal?
V splošnem se paralelno programiranje deli na "shared memory" in "distributed memory" tipa. V prvem so mašine s več CPUji in skupnim pomnilnikom, v drugem primeru pa je pomnilnik razdeljen.
Pa mašine morajo biti enako hitre, sicer ta hitrejše čakajo počasne. Zgodba zase je tudi pametno porazdeljevanje bremena med posamezne CPUje.
Prevajalniki znajo do neke mere sami otimizirati kodo za "shared model"; a če nisi vnesel ustreznih ukazov v tvoj program, je taka "optimizacija" zelo vprašljiva.
Za "shared" model še dobiš aplikacije, medtem ko za "distributed" skorajda ne.
Nikar ne misli, da boš kar tako enostavno z dvema 486kama delal zdaj 2x hitreje.
Ali sploh veš, kaj bi rad tako delal?
Zgodovina sprememb…
- spremenil: dr.J ()
poweroff ::
Neke statisticne analize (clustering,...), sortiranje in prirejanje nizom znakov številke od 1 do n.
dr.J ::
Kako lahko porazdeliš delo med računalniki, je odvisno od aplikacije same. Nekatere je razmeroma lahko prirediti.
Poglej na http://www.activetools.si pod EnFuzion.
Poglej na http://www.activetools.si pod EnFuzion.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | niti (threads) (strani: 1 2 )Oddelek: Programiranje | 5169 (3623) | noraguta |
» | SuperračunalnikOddelek: Strojna oprema | 3086 (2012) | CoolMike |
» | Desktop aplikacije večinoma niso multithreaded??? (strani: 1 2 )Oddelek: Programiranje | 4881 (4127) | Gundolf |
» | Cluster parallel computing (Kako?)Oddelek: Operacijski sistemi | 1222 (1071) | ješ |
» | Dva računalnika, delata kot eden?Oddelek: Pomoč in nasveti | 1207 (995) | Loki |