SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 1
Cluster
Cluster Computing Computing Raytracer Raytracer
generarea
generarea reprezentarilorreprezentarilor de de lumilumi 3D 3D folosind
folosind tehnologiitehnologii de tip de tip clustercluster Silviu
Silviu HomoceanuHomoceanu SabinSabin BuragaBuraga
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 2
Cuprins Cuprins
• Punerea • Punerea problemei problemei
• • Cluster computing Cluster computing
• • Raytracing Raytracing
• • Cluster Computing Cluster Computing Raytracer Raytracer
• Concluzii • Concluzii
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 3
Punerea
Punerea problemei problemei
•• GenerareaGenerarea uneiunei imaginiimagini pornindpornind de la de la scena
scena de de obiecteobiecte 3D = 3D = raytracingraytracing
–– PuterePutere mare de mare de calculcalcul
–– Mare consumatoareMare consumatoare de de timptimp
•• SolutiiSolutii::
–– StatiiStatii graficegrafice
–– Software de Software de renderingrendering in in retearetea ((proprietarproprietar)) –– ClusterCluster / / gridgrid
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 4
Punerea
Punerea problemei problemei
• • Idee/idei Idee/idei : :
–– ProiectareaProiectarea & & implementareaimplementarea
uneiunei aplicatiiaplicatii distribuitedistribuite de de renderingrendering de scene 3D
de scene 3D
–– FolosireaFolosirea unuiunui clustercluster Linux Linux pentru
pentru rularearularea aplicatieiaplicatiei
–– UtilizareaUtilizarea exclusivaexclusiva a a tehnologiilortehnologiilor open source
open source
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 5
Cluster Computing Cluster Computing
•• Premise:Premise:
–– NevoiaNevoia de de putereputere mare de mare de calculcalcul ⇒⇒ mijloacemijloace noinoi de de cresterecrestere a a performanteiperformantei sistemelorsistemelor de de calcul
calcul ((high performance computinghigh performance computing)) –– O O solutiesolutie actualaactuala: : cluster computingcluster computing
••Multi-Multi-procesorprocesor
••Cluster localCluster local
••Cluster industrial (enterprise clusterCluster industrial (enterprise cluster))
••SistemSistem de tip de tip grid grid (la (la nivelnivel global)global)
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 6
Cluster Computing Cluster Computing
•• UtilizariUtilizari::
–– ComertulComertul electronic electronic pepe scarascara largalarga
–– CautareaCautarea distribuitadistribuita de de resurseresurse (motoare(motoare de de cautare
cautare, , sistemesisteme de de recomandarerecomandare,,……))
–– CreareaCrearea de de aplicatiiaplicatii criticecritice rulindrulind in in timptimp--real real ((sistemesisteme de de comandacomanda & control pentru& control pentru
aeroporturi
aeroporturi, , bancibanci, , centralecentrale nuclearenucleare etc.)etc.) –– StocareaStocarea distribuitadistribuita a a unuiunui volumvolum mare de mare de
date +
date + depozitedepozite de date (de date (warehouseswarehouses)) –– SimulareaSimularea ((biocomputingbiocomputing, , economieeconomie, ,
divertisment divertisment))
–– AplicatiiAplicatii cu specific cu specific militarmilitar
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 7
Cluster Computing Cluster Computing
• Cluster• Cluster ≡≡ set de calculatoare set de calculatoare independente interconectate
independente interconectate conlucrindconlucrind intrintr--un un sistemsistem unificatunificat via software & via software &
infrastructura
infrastructura de de retearetea ((e.g.e.g., Internet), Internet)
• Face • Face posibilposibilaa utilizarea la maxim a utilizarea la maxim a resurselor
resurselor colectieicolectiei de de calculatoarecalculatoare ((mainframemainframe--uriuri, PC, PC--uriuri, , laptoplaptop--uriuri, ,
smartphone
smartphone--uriuri etc.)etc.)
• Formeaza• Formeaza o o resursaresursa unicaunica de de calculcalcul
• Alternative: NOW (• Alternative: NOW (Networks of WorkstationsNetworks of Workstations), ), COW (
COW (Clusters of NetworksClusters of Networks))
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 8
Cluster Computing Cluster Computing
•• NiveluriNiveluri::
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 9
Cluster Computing Cluster Computing
•• Clustere dedicateClustere dedicate
– Constituite– Constituite din noduridin noduri omogeneomogene
((procesorprocesor, OS,, OS,……) ) –– rackrack de de placiplaci de de bazabaza
•• ClustereClustere de de intreprindereintreprindere
– E– Eterogenterogenee, distribuite, distribuite geografic, geografic, control limitat
control limitat
– Activitatile– Activitatile locale au prioritate mai mare locale au prioritate mai mare decdecaat cele ale t cele ale iintreprinderiintreprinderii
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 10
Cluster Computing Cluster Computing
•• Clustere Clustere cyclecycle--sharingsharing
– Partajeaza ciclurile procesoarelor– Partajeaza ciclurile procesoarelor
•• Clustere Clustere adad--hochoc
– C– Createreate iin mod dinamic pentru rezolvarea n mod dinamic pentru rezolvarea unor probleme tranzitorii
unor probleme tranzitorii
•• ClustereClustere mobilemobile
– Pur– Pur mobile (mobile (dispozitivedispozitive mobile: mobile: telefontelefon, , smartphone
smartphone, laptop, laptop, , palmtoppalmtop, , consolaconsola de de jocuri
jocuri,,……) ) sausau mixtemixte (mobile + (mobile + fixefixe))
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 11
Cluster Computing Cluster Computing
•• ArhitecturaArhitectura
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 12
Cluster Computing Cluster Computing
• Beowulf • Beowulf
–– Solutie Solutie clustercluster (infrastructura) pe Linux(infrastructura) pe Linux –– Dezvoltat la NASA din 1994Dezvoltat la NASA din 1994
–– Ofera suport pentru constituirea de clase de Ofera suport pentru constituirea de clase de cluster
cluster--e (e (lowlow--endend//highhigh--endend))
–– Calculatoarele pot fi adaugate dinamicCalculatoarele pot fi adaugate dinamic –– Comunicarea se realizeaza via Comunicarea se realizeaza via
MPI (
MPI (Message Passing InterfaceMessage Passing Interface))
–– Modelul de programare e independent Modelul de programare e independent
de infrastructura, de tehnologiile retelei sau de infrastructura, de tehnologiile retelei sau
de componente de componente
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 13
Raytracing Raytracing
• Raytracing• Raytracing ≡≡ metodmetodaa dede determinaredeterminare
a a vizibilitvizibilitatatii ii suprafesuprafettelorelor, a producerii de , a producerii de imagini
imagini 2D2D pe baza unei scene 3Dpe baza unei scene 3D, , cu suportul calculatorului
cu suportul calculatorului
• E• Extensiextensie a metodei raya metodei ray--castingcasting, bazata, bazata pepe conceptul de eliminare a
conceptul de eliminare a suprafesuprafettelorelor ascunseascunse
• I• Incearcncearcaa ssaa simuleze fenomene fizice din simuleze fenomene fizice din realitate
realitate iin ceea ce n ceea ce priveprivesste propagarea luminiite propagarea luminii
• Puterea• Puterea de de calculcalcul necesaranecesara trebuietrebuie sasa fie mare fie mare pentru
pentru scene complicate, cu scene complicate, cu numarnumar considerabilconsiderabil de de reflexiireflexii sisi refractiirefractii
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 14
Cluster Computing
Cluster Computing Raytracing Raytracing
• Aplicatia dezvoltata este una paralela• Aplicatia dezvoltata este una paralela
• Se instaleaza pe nodul • Se instaleaza pe nodul mastermaster
al al clustercluster--ului Beowulf constituitului Beowulf constituit
• Interactiunea cu utilizatorul are loc • Interactiunea cu utilizatorul are loc via o interfata Web
via o interfata Web
• Imaginea• Imaginea--rezultat va fi obtinuta rezultat va fi obtinuta prin rularea algoritmului de
prin rularea algoritmului de raytracing raytracing paralel pe toate nodurile
paralel pe toate nodurile slave slave
• Ofera comparatii intre rularea pe cluster • Ofera comparatii intre rularea pe cluster si rularea pe o singura gazda
si rularea pe o singura gazda
• Date de intrare in format 3DS • Date de intrare in format 3DS
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 15
Cluster Computing
Cluster Computing Raytracing Raytracing
• • Arhitectura: Arhitectura:
–– Raytracing standaloneRaytracing standalone (bibliotecile (bibliotecile
grafice OpenGL si GLVU pentru C++) grafice OpenGL si GLVU pentru C++) – Sistemul Beowulf peste Linux– Sistemul Beowulf peste Linux
•Slackware 9.1•Slackware 9.1
– Partea de interactiune cu – Partea de interactiune cu clustercluster--ul ul (biblioteca de comunicatii LAM
(biblioteca de comunicatii LAM--MPI)MPI) – Interfata Web (– Interfata Web (scriptscript PHP)PHP)
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 16
Cluster Computing
Cluster Computing Raytracing Raytracing
•• ClusterCluster--ul de test (config. hardware)ul de test (config. hardware)
– 1 – 1 switchswitch cu 8 porturi cu 8 porturi N-N-WayWay – 3 calculatoare– 3 calculatoare
• AMD K6•AMD K6--2 400 M2 400 MHz, 6Hz, 64 M4 MB, B, video 4 MB, HDD video 4 MB, HDD 15 GB
15 GB, p, placă de bază BUS lacă de bază BUS SpeedSpeed 100 MHz100 MHz
• AMD •AMD BartonBarton 2600+ (1901 MHz) cu overclocking2600+ (1901 MHz) cu overclocking la 30
la 3000+ (2300 MHz)00+ (2300 MHz), 512 MB, 512 MB, v, video 128 ideo 128 MB, MB, HDD 80
HDD 80 GB, pGB, placă de bază BUS lacă de bază BUS SpeedSpeed 400 MHz400 MHz
• AMD •AMD BartonBarton 2500+ (1833 MHz) cu overclocking2500+ (1833 MHz) cu overclocking la 28
la 2800+ (2110 MHz)00+ (2110 MHz), 512 MB, 512 MB, v, video 128 ideo 128 MB, MB, HDD 60
HDD 60 GB, pGB, placă de bază BUS lacă de bază BUS SpeedSpeed 333 MHz333 MHz – Cablu UTP 100 TX cat5– Cablu UTP 100 TX cat5
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 17
Cluster Computing
Cluster Computing Raytracing Raytracing
• Timpii de rulare se jurnalizeaza • Timpii de rulare se jurnalizeaza
pentru a se realiza diverse optimizari pentru a se realiza diverse optimizari
prin
prin dividedivide--etet--imperaimpera
• Procesarea de o singura gazda dureaza • Procesarea de o singura gazda dureaza aproape dublu fata de procesarea
aproape dublu fata de procesarea pe un cluster cu 2 noduri
pe un cluster cu 2 noduri slaveslave
• Timpii de procesare depind de structura • Timpii de procesare depind de structura cluster
cluster--ului (topologie, performante,...)ului (topologie, performante,...)
• Nodul cel mai putin performant poate fi • Nodul cel mai putin performant poate fi nod nod mastermaster
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 18
Cluster Computing
Cluster Computing Raytracing Raytracing
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 19
Concluzii Concluzii
• Domeniul calculului paralel, in general, • Domeniul calculului paralel, in general, si a
si a cluster computingcluster computing--ului, in particular, ului, in particular, poate constitui un punct de plecare
poate constitui un punct de plecare in realizarea de aplicatii performante in realizarea de aplicatii performante cu reale utilizari interesante, folosind cu reale utilizari interesante, folosind
actualele tehnologii
actualele tehnologii openopen--sourcesource
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 20
Resurse Resurse
•• T. Sterling, W. T. Sterling, W. GroppGropp, E. Lusk, , E. Lusk, Beowulf Cluster Computing with Beowulf Cluster Computing with
Linux
Linux (2nd Edition), MIT Press, 2003(2nd Edition), MIT Press, 2003
•• www.beowulf.orgwww.beowulf.org
•• www.openclustergroup.orgwww.openclustergroup.org
•• www.linuxhpc.orgwww.linuxhpc.org
•• www.lamwww.lam--mpi.orgmpi.org
•• www.mpiwww.mpi--forum.orgforum.org
SabinSabin--CorneliuCorneliuBuragaBuraga••LVLE 2006LVLE 2006 http://http://www.infoiasi.ro/~busacowww.infoiasi.ro/~busaco//
Arad, 11-14 septembrie 2006 / 21
Cluster
Cluster Computing Computing Raytracer Raytracer
generarea
generarea reprezentarilorreprezentarilor de de lumilumi 3D 3D folosind
folosind tehnologiitehnologii de tip de tip clustercluster
Multumiri
Multumiri pentrupentru atentieatentie!... !... IntrebariIntrebari??