Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Dobrodošli u clusterit-2.5 !

ClusterIt 2.5 has been released! Download it here.

Trajno održavanje ClusterIt-a je omogućeno uz velikodušnu podršku Mach1 Computing, LLC-a .

Ovo je kolekcija grupisanih alatki(clustering tools), sa ciljem da vašu svakodnevnu gomilu UNIX Radnih stanica(workstations) pretvori u “zver” paralelne brzine.

Isprva je ovaj posao bio baziran na radu IBM-ovog PSSP-a, i teško prekopiran iz ideja tamo.Takođe je pomalo baziran na radu čiji je pionir bio GLUnix. Ja sam odlučio da ga pojednostavim, a i učinim složenijim,kako god:

Glunix je čudovište. Dopušta bolju kontrolu nad individualnim nodovima(čvorovima), i mnogo bolji load sharing(podela pri učitavanju). Međutim,prilično sam ubeđen da se prednosti brzine u tome što imaju paralelni klaster (cluster,grupa) gube sa neverovatnim dodatnim radom glunix master-a i demon servisa na host-u. Glunix ,međutim,zaista nudi realno paralelno programsko okruženje.Nešto što je totalno iznad domašaja ovog paketa.

PSSP je takođe veoma moćan set alatki.Ne mnogo više od gomile osnovnih stvari napisanih u perl-u,one obezbeđuju neverovatni alatku za vezivanje glomaznog broja UNIX mašina u jedan brzi demon MPP-a.

Prednosti oba sistema su centralna kontrola velikog broja mašina.Na žalost,svi oni imaju nedostatke…kao i moje rešenje.

Šta moje rešenje pruža:

*Fast*(brzo) paralelno izvršenje daljinskih komandi.

C naspram Perl-a. Radite matematiku.

Heterogena klaster oprema.

Ovo čini veoma lakim administriranje velikog broja mašina, različitih struktura, i operativnih sistema. Činjenica da su moje alatke potpuno nezavisne od strukture,omogućava da dsh komanduje mašinama koje čak ni ne rade u istom OS-u!Ovo može biti korisno za raznolikost masovnih administrativnih zadataka koje jedan administrator možda treba da preuzme.

Izbor autentičnosti.

IBM vas primorava da koristite kerberos 4 zbog autentičnosti na SP-u. Ovo je zapravo u redu kod zatvorenog okruženja kao što je jedan SP, ali za nešto što treba da radi samo na gomili drugačijih korisnih odeljaka(boxes),potrebno vam je više slobode.Ovaj niz programa vam dopušta da radite šta god želite… ssh, kerberos, .rhosts. Šta god najbolje odgovara vašim potrebama sigurnosti.

Izvršenje sekvencijalnog noda(čvor), i nasumičnog noda

Ovde je ideja da vam ovi dsh-nalik programi dopuste da učinite nešto blisko balansiranom učitavanju skriptinga (load balanced scripting). Na primer,neko bi mogao da podesi NFS share-ovan direktorijum build-a (build directory), i izda komandu:

    make -j4 CC="seq 'cd /usr/src/foo ; gcc'"
		

Što će build komandu izvrštiti paralelno, na 4 noda u vašem klasteru, dodeljujući procese svakom nodu u nizu. Komanda za pokretanje je ekvivalentna rečima: "Nije me briga kuda trčiš,samo trči i kaži mi kako su stvari ispale.”Uopšteno govoreći, komanda za pokretanje će postići bolje rezultate kako veličina klastera raste.Ako imate samo tri noda,izgledi da ćete stalno ponovo dobijati isti nod podjedanko postoje.

Redosled posla

Moguć je uz korišćenje ovog paketa radi raspoređivanja procesa na daljinske mašine,tako da ne više od jednog procesa po mašini nije aktivan ni u koje vreme Ovo je dizajnirano da se izbori sa problemima kod korišćenja seq-a za paralelne build-ove.

Kada je build paralelan sa seq-om, moguće je da nod primi zadatak kojem će biti potrebno više vremena nego drugim nodovima da se završe.Takođe je moguće da,kako drugi nodovi završavaju njihov posao brže,nodu koji je “zaglibio” bude dodeljen drugi posao.Kada se izvode veliki paralelni build-ovi,veoma spore mašine će eventualno zagušiti čitav build,prilikom pokušaja da odjednom kompiliraju mnogo objekata,i na ovoj tački su obično “blizu-smrti” od brisanja.

Raspoređivanje posla(Job scheduling) u ClusterIt-u može ovo da spreči na dva načina.Prvi,raspoređivanje posla neće dozvoliti nodu da procesuira više od jedne komande istovremeno.Ako se traži više komandi nego nodova,prekomerne komande će se blokirati dok se neki nod ne oslobodi.Drugi,planer(scheduler) ima mogućnost da registruje neku vrstu broja merila(benchmark) za svaki nod.Ovo dopušta planeru da uvek razdeli najbrži od preostalih nodova kad god se jedan traži.Ovo dozvoljava da paralelni build efikasnije koristi heterogeni klaster.

Sinhronizacija(sync) barijere za shell(školjka) skripting.

Ovo je nova ideja. Barijera mehanizma se sastoji od demon rada na host-u,i klijenta koji može da se upotrebi da se sa njim sinhronizuje barijera.Primer upotrebe bi bio:



#!/bin/sh
uradite nešto
barrier -h host -k token -s 5
uradite nešto drugo

Tada biste uradili dsh izvršenje ove skripte vašim domaćinima (hosts). Barijera osigurava da su svi domaćini dovršili prvo”nešto” pre nego što nastave sledeće “nešto.” -S, je nivo paralelizma za skriptu, ie: koliko procesa treba sačekati pre nego se nastavi.

Distribuirani virtuelni terminali

Ovo je paralelno interaktivno okruženje izvršenja.Korisniku su dati prozori za svakog domaćina(host) u klasteru,i centralni prozor za upravljanje (central management window).Pritisci na tastaturi izvršeni na centralnom prozoru za upravljanje,odnosiće se i na sve sporedne prozore.Ovo korisniku dopušta da vidi fajl na 20 mašina simultano,na primer.Takođe možete da selektujete prozor,i koristite ga kao normalni xterm, da obavljate radnje na samo tom host-u.

__________________________________________________________________________________________________________________________

Sta moje resenje ne obezbedjuje:
Paralelno programiranje API

Koristite MPI ili PVM ili bilo sta za to... ovo je van obima ovog sajta.

__________________________________________________________________________________________________________________________



Published (Last edited): 09-10-2012 , source: http://www.garbled.net/clusterit.html