Sistemes de computaci´ d’altes prestacions o (Clusters) i programari lliure

´ Gabriel Verdejo Alvarez - Iv´n Couto Vivas a Laboratori de C`lcul de LSI (LCLSI), Universitat Polit`cnica de Catalunya a e gabriel@lsi.upc.edu - ivanc@lsi.upc.edu Maig de 2008
Resum Aquest document reflecteix l’experi`ncia de m´s de quatre e e anys del Laboratori de C`lcul del Departament de Llenguatges i Sisa temes Inform`tics (LCLSI) dintre de l’`mbit de la computaci´ massiva. a a o Conforme augmentaven les necessitats de c`mput dels diferents o grups de recerca del Departament de LSI, el LCLSI ha anat proporcionant diferents solucions per la creaci´ d’aquests sistemes. o El comprom´ amb el programari lliure de la Universitat juntament ıs amb l’aposta personal del Departament de LSI ha fet que volguem compartir la nostre experi`ncia amb la comunitat dintre d’aquestes e Jornades. Actualment i aprofitant la necessitat d’actualitzar els sistemes de computaci´ existents, el LCLSI ha realitzat un gran esfor¸ o c per tal de posar a disposici´ del departament les ultimes tecnologies o ´ en aquest camp. Aquestes document recull les nostres experi`ncies i conclusions. e

1

Introducci´ o

Des de l’any 1965 quan el senyor Gordon Moore [1], cofundador d’Intel, va publicar la seva famosa llei1 , els ordinadors han continuat creixent en pot`ncia sense que actualment es vegi un sostre definitiu. Tot i aix`, e o el segment de problemes amb grans necessitats de pot`ncia de c`lcul, e a criptografia o simulacions per exemple, continua creixent m´s r`pid del que e a la llei de Moore pot assolir.
1

El n´mero de transistors als xips es duplica cada dos anys. u

VII Jornades de Programari Lliure. http://www.jornadespl.org

1

o 2 Dels entorns tancats de computaci´ cap a les o solucions lliures Fins fa pocs anys les solucions aportades per les grans empreses com IBM. nosaltres ens centrarem en el sistema existent al Laboratori de C`lcul del Departament de Llenguatges i a VII Jornades de Programari Lliure. e 3 Problem`tica dels Clusters OpenMosix a Tot i que l’aproximaci´ a la computaci´ distribu¨ ´s for¸a complexa i o o ıda e c actualment existeixen diferents possibilitats. BSD. L’aparici´ de sistemes operatius lliures (Linux. van comen¸ar els primers c projectes de computaci´ massiva. com generalment passa amb el programari lliure. i la complexitat de les operacions a realitzar encara poden col·lapsar qualsevol ordinador actual. e A mesura que es consolid` l’´s d’aquests sistemes operatius a la societat. imaginem per exemple una gran companyia com Google.org 2 . http://www.L’augment de la quantitat de dades a processar.) i la gran o quantitat de gent i organismes (generalment universitats i grups de recerca) que van comen¸ar a col. va propiciar c la interoperativitat d’aquests sistemes funcionant en entorns de m`quines a heterog`nies.. a u el seu grau de maduresa va comen¸ar a fer-los atractius per entorns de c producci´ tant d’universitats com d’empreses. Paral·lelament van anar o sorgint les primeres plataformes de desenvolupament de projectes lliures.. D’aquesta manera. una mica per portar les coses al l´ ımit i experimentar la distribuci´ de tasques o entre diferents ordinadors i una mica per crear una soluci´ no propiet`ria o a pels ordinadors amb sistemes operatius lliures. SUN o HP s’apropaven a la computaci´ massiva mitjan¸ant solucions en o c entorns homogenis i tancats basats unicament en els seus productes de ´ software i hardware.laborar en el seu desenvolupament.jornadespl. inicialment liderada per FSF-GNU [11]. com Sourceforge [2] i Savannah [3]. Beowulf [4] ´s probablement el primer o e projecte d’aquestes caracter´ ıstiques que va apar`ixer per Linux. Tanmateix la proliferaci´ de les xarxes locals LAN [16] i l’augment del o seu rendiment (ara mateix tenim xarxes a gigabit com a gamma dom`stica) e fa m´s viable que mai la creaci´ d’agrupacions d’ordinadors (Clusters [6]) e o per assolir la computaci´ d’aquests problemes.

Cal destacar u tamb´ que el projecte OpenMosix va deixar de ser mantingut oficialment e l’1 de Mar¸ del 2008! c Respecte el sistema de fitxers. D’aquesta forma un usuari despistat pot crear un gran n´mero de processos que saturin el sistema de Cluster. el e e planificador el pot tornar a migrar. Actualment aquests Clusters s´n o independents entre s´ i funcionen mitjan¸ant OpenMosix [18]. per` tot i ser v`lid. Els problemes que ens hem trobat amb aquest tipus de sistema s´n que o no funciona adequadament amb molts tipus de programes que fan servir mem`ria compartida o threads (com per exemple processos JAVA) ja que la o migraci´ no ´s pas trivial i la reubicaci´ del proc´s al nou node no sempre o e o e funcionava b´.Sistemes Inform`tics (LCLSI) de la Universitat Polit`cnica de Catalunya [8]. es va optar inicialment per NFS on una m`quina servidora de disc s’encarregava de servir les zones de dades. col. a e El LCLSI gestiona actualment 3 Clusters de computaci´ per grups de o recerca amb uns 45 ordinadors en total. Durant la seva execuci´.jornadespl.org 3 .lapsant el node servidor e de disc i allargant el temps de resposta per peticions d’E/S fins a fer-lo en determinades circumst`ncies gaireb´ inaccessible. o e Part d’execuci´ remota: Tros de codi que es mou al node amb menor o c`rrega de CPU i que s’executa remotament. a e Per tal de pal.liar els problemes de rendiment tamb´ es van fer proves e amb l’automounter. ı c Aquest model de computaci´ es basa en la migraci´ de processos entre o o els diferents nodes que conformen el Cluster. http://www. D’aquesta manera donat un proc´s iniciat a una m`quina es divideix en dues parts: e a Part d’execuci´ local: Part de codi resident al node on s’inicia o l’execuci´ del proc´s. En el cas de l’´s de threads dintre dels processos ´s encara e u e m´s complexa la migraci´ i fer transparents les crides a sistema (system e o calls) dels diferents threads. a Aquest esquema aviat va mostrar problemes de rendiment en moments d’alta concurr`ncia de processos amb molta E/S. a o si hi ha un altre node lliure o amb m´s pot`ncia de CPU disponible. D’altra banda no hi ha mecanismes de control i seguretat sobre els processos dels usuaris. Aquest model e va millorar el rendiment del sistema original NFS. D’aquesta forma diferents zones de dades es servien des de diferents nodes i nom´s es “muntaven” sota demanda. en o a les nostres proves va demostrar que pateix for¸a de rendiment i escalabilitat c VII Jornades de Programari Lliure.

en sistemes amb molts nodes (m´s de 20) comparat amb altres sistemes de e fitxers en xarxa [23] [24] [22]. o D’aquesta manera. despr´s de dedicar moltes hores a llegir f`rums. Un sistema de cues que control´s el n´mero de treballs en execuci´ a e u o cada node (aprofitament de processadors multi-core) i establir restriccions de recursos pels usuaris. Les nostres premisses per ordre d’import`ncia a l’hora de triar projectes a candidats tant pel sistema de distribuci´ de tasques entre els nodes com pel o sistema de fitxers en xarxa han estat: • Projectes madurs/estables i amb continu¨ ıtat • Projectes escalables i amb un bon suport dels desenvolupadors • Projectes consolidats dintre de la comunitat de computaci´ massiva o • Projectes amb bon rendiment D’aquesta forma. per tal d’aprofitar no nom´s les CPUs dels diferents e nodes. fa que o necessitem una soluci´ robusta i flexible. ja que cada grup t´ requisits e e e espec´ ıfics i variables. La creaci´ d’un volum de disc global (compartit) a partir de tots els o discos dels diferents nodes.org 4 .jornadespl. 2. vam destriar els seg¨ents projectes: u Sistemes de cues: SunGrid Engine [13] Condor [7] OpenPBS [19] Linux Virtual File System [15] GlusterFS [12] Lustre [17] Sistemes de fitxers: VII Jornades de Programari Lliure. sin´ tamb´ els discos locals de les m`quines (40 nodes representen o e a molt d’espai de disc tenint en compte que ´s dif´ trobar actualment discos e ıcil inferiors a 250Gbytes) vam optar per un model que permet´s: e 1. 4 Nou sistema de computaci´ massiva per LCLSI o Dissenyar un nou sistema de clustering pel Departament de LSI i els seus grups de recerca ´s un proc´s molt complex. e o examinar caracter´ ıstiques i consultar molta bibliografia. http://www. Per una altra banda el creixement de nodes de c`mput que estem experimentant i que projectem pels propers anys.

a o El sistema Condor ´s complex de configurar i fer servir pels usuaris ja e que requereix d’una sintaxi pesada per a cada execuci´. ha deixat de ser un referent capdavanter en la distribuci´ de tasques. c o SunGrid Engine per la seva facilitat d’´s. http://www. Tamb´ e permet molta flexibilitat de configuraci´ i proporciona un model de funcio onament for¸a `gil. 2. Malauradament ha presentat dos inconvenients prou c a greus com per descartar-lo per un sistema en producci´. La utilitzaci´ del mode AFR (Automatic File replication) per la sino cronitzaci´ de les parelles de nodes ´s inestable i de tant en tant en les o e proves ens hem trobat que el sistema deixava de funcionar. D’altra banda. aix´ tenim a ı VII Jornades de Programari Lliure. Un sistema amb m´s de quaranta nodes i un centenar d’ue suaris ha de proporcionar una estabilitat i uns mecanismes de recuperaci´ o totalment eficients i consolidats. tot i que actualment continua el seu desenvolupament com a TORQUE [21].2 Selecci´ del sistema de fitxers: Lustre + DRDB o Per la selecci´ del sistema de fitxers en xarxa vam premiar l’estabilitat per o sobre de tot.1 Selecci´ del sistema de cues: SunGrid Engine o Per triar el sistema de control de cues vam avaluar tant la part de gesti´ o de la planificaci´ com les eines que proporciona el sistema als usuaris.org 5 . No entrarem a detallar totes les proves realitzades ja que queda fora de l’abast d’aquest document i les proves de rendiment poden ser consultades m´s endavant. El sistema GlusterFS fa servir la funcionalitat del FUSE [10] per interaccionar amb el sistema de fitxers local de la m`quina. e El GlusterFS ha demostrat ser una opci´ interessant i flexible que ens ha o proporcionat un rendiment molt raonable en les proves realitzades. Tot o i que els tres projectes son for¸a coneguts i utilitzats al m´n dels clusters. A m´s el seu suport als usuaris no ´s tant bo com o e e es podria esperar i per tant va ser descartat. El projecte OpenPBS. flexibilitat de configuraci´ i eines u o gr`fiques per usuaris va ser l’opci´ triada.4.jornadespl. 4. la o gesti´ tant administrativa com d’usuari es troba menys treballada que al o SunGrid Engine. S´ que farem notar que el nostre joc intern de proves e ı constava de 52Gbytes distribu¨ en fitxers des d’1Kbyte fins als 2Gbytes i ıt m´s d’un miler de directoris amb mil fitxers cadascun. o 1.

no proporciona cap mecanisme de replicaci´ de la o informaci´.Figura 1: Arquitectura del sistema de Clustering. D’aquesta forma vam haver de fer servir el projecte DRDB i el o protocol Heart-beat per tal de completar la soluci´ tolerant a fallades. redund`ncia.jornadespl. http://www. que la funcionalitat de bloqueig (POSIX-locks) proporcionada no ´s e total. e c VII Jornades de Programari Lliure. A m´s ens hem trobat amb problemes d’estabilitat (el sistema e es penja) al fer servir la versi´ de FUSE optimitzada per la gent de o GlusterFS.org 6 . Cal destacar l’exist`ncia de e dos nodes d’entrada al sistema i com a m´s de la connexi´ per xarxa entre e o tots els nodes del sistema tamb´ els tenim enlla¸ats per parelles. mecanismes de recuperaci´) que a o necessit`vem per el nostre projecte.3 Arquitectura del nou sistema Podem observar a la figura 1 l’esquema de la nova arquitectura que farem servir amb tots els nodes dels clusters de LSI. D’altra banda. Tot i que es troba al ”roadmap“ c per properes funcions. el sistema proporcionat pel LVFS no ens garantia la flexibilitat (creixement. o 4. a El sistema Lustre ha demostrat ser un sistema molt estable amb un projecte for¸a consolidat a la comunitat.

els processos continuen la seva execuci´ sense problemes.org 7 ..1. quin e u o ´s el l´ e ımit?). Nodes d’entrada: La configuraci´ de dos equips al sistema d’eno trada al cluster permet que el sistema tingui redund`ncia i en cas de a problemes el sistema continu¨ funcionant. el node secundari s’activa i comen¸a a servir les dades. Les parelles de nodes es comuniquen entre s´ fent servir el protocol ı heart-beat [14] de forma que si el node primari de la parella cau. a Tanmateix. e e alegries i decepcions que ens hem trobat. El comprom´ entre fiabilitat i ıs rendiment ´s una altre q¨esti´ a discutir (3 nodes?. dos discos interns SATA de 250Gbytes configurats en VII Jornades de Programari Lliure. Aquest treball ha estat un proc´s e de m´s de cinc mesos i deu fulles no poden recollir totes les experi`ncies.. Una vegada activat com a primari el node secundari de la parella. Per la part del sistema de fitxers en xarxa. c Cal notar que el sistema de fitxers en xarxa Lustre controla les peticions que realitzen els processos en execuci´ per tal que en cas de que o no estiguin disponibles les dades els processos no abortin. Tenint m´s de 40 nodes no ı e t´ sentit dependre d’un unic ordinador! e ´ 2. Sempre podeu contactar amb nosaltres. tamb´ s’ha optat per una e configuraci´ redundant on si cau un node. Nodes de c`mput: Aquests nodes tenen un doble paper ja que o actuen alhora com nodes de c`mput (tots els nodes reben treballs) o i com a part del sistema de fitxers en xarxa (nodes agrupats per parelles). http://www. o 5 Resultats Seguint l’`nim divulgatiu d’aquest document no entrarem a detallar exa haustivament totes les proves realitzades. La sincronitzaci´ entre els dos nodes de la parella es realitza auo tom`ticament per la segona targeta de xarxa dels ordinadors amb el a programa DRDB [9]. els continguts (dades del o usuaris) es mantinguin accessibles. Pel nostre entorn de treball hem fet servir un mini-cluster amb 9 servidors Dell Poweredge 860 Quad core amb 8 Gbytes de RAM. s´ que farem cinc c`ntims de la part del rendiment obtingut ı e dintre del nostre sistema de proves. Per una altre banda s´n totalment o accessibles les nostres adre¸es de correu aix´ com la WWW on es penjar` el c ı a PFC de l’Iv´n Couto. El node primari (el que es troba actiu) rep les peticions d’escriptura i les propaga al node secundari de la parella. 4 nodes?.jornadespl.

Per realitzar les proves de rendiment de disc vam fer servir un joc de proves propi dissenyat espec´ ıficament i diferents programes de test de disc que es poden trobar al Linux test Tools [25]. Cadascun d’aquests directoris inclou 1024 arxius d’1KByte o 1024 arxius d’ 1MByte o 1024 arxius de 4Mbytes o 1024 arxius de 10Mbytes o 1024 arxius de 100Mbytes o 1024 arxius de 500MBytes o 4 arxius de 2GBytes. node3node4. http://www. • Nodes de computaci´: Set nodes encarregats de l’execuci´ de taso o ques assignades pel SunGrid i servidores de disc agrupades en parelles. ntp. node5-node6) i un client que no serveix disc (node 7). D’aquesta manera tenim 3 servidors de disc (node1-node2. l’altre mant´ el funcionament del e sistema. Lustre i serveis auxiliars (dhcp.. el Bonnie++ [5]. A continuaci´ adjuntem les taules amb els resultats en Kbyo tes/segon obtinguts amb les proves seq¨encials amb un fitxer de 16Gbytes u (fig. Per aquest document i per tal que els resultats siguim comparables amb altres sistemes hem fet servir un dels test m´s reconeguts al m´n del e o rendiment de discos i arrays. Aquest equipament ha estat dividit en: • Nodes master o Nodes d’entrada al cluster: Dos nodes configurats com master-slave encarregats de portar el control del SunGrid.). Rembo.org 8 . 2): VII Jornades de Programari Lliure. La part del joc de proves dissenyat consta d’un total de 52Gbytes distribuits en 4096 directoris amb 1024 directoris de profunditat. D’aquesta manera en cas de problemes amb un dels nodes.RAID 1 [20] per software i una xarxa Gigabit amb un switch dedicat 3Com.jornadespl.. La prova executada per obtenir les gr`fiques de les figures 2 i 3 ha estat a la creaci´ d’un fitxer de 16Gbytes per les proves de rendiment seq¨encial i o u la creaci´ de 1024 directoris amb 1024 fitxers de 4Mbytes cadascun: o bonnie++ -s 16384 -n 1:4096:4096:1024 -d [directori] -u [usuari] A les figures 2 i 3 podem observar els resultats gr`fics de les proves a realitzades.

e VII Jornades de Programari Lliure.org 9 .jornadespl.Figura 2: Rendiment de disc seq¨encial. http://www. u Figura 3: Rendiment de disc d’acc´s aleatori.

http://www. Tota aquesta documentaci´ i el PFC resultant es pot trobar a: o http://gabriel. els resultats han estat pitjors dels esperats. Els projectes que actualment aporten nous models distribu¨ com el GlusterFS queden encara lluny de poder ser instal. Aquesta tend`ncia es mant´ i escala perfectament o e e conforme augmenta el n´mero de parelles de nodes que serveixin m´s disc.verdejo. u o Respecte a la part del sistema de fitxers en xarxa. L’exist`ncia de diferents projectes i paradigmes e (Condor.Sequential Output Char Sequential Output Block Sequential Input Char Sequential Input Block Random Seeks/sec Lustre Primari 42810 41269 62226 137354 348 Lustre Secundari 41026 40328 62165 113770 358 Disc Local 52488 59717 45357 71840 99 I la taula amb les proves realitzades amb fitxers i directoris (fig. Aquest treball ´s el Projecte Final de Carrera (PFC) de Enginyeria e Superior en Inform`tica de l’Iv´n Couto Vivas que es presentar` al Juliol a a a de 2008.jornadespl. u e D’aquesta manera observem que per sistemes multi-usuari amb diferents processos l’´s d’un sistema de fitxers en xarxa ´s sempre una millora de u e rendiment per tot el cluster.alvarez.org 10 . SunGrid. 3): Lustre Primari 42810 41269 34457 62226 137354 348 Lustre Secundari 41026 40328 34189 62165 113770 358 Disc Local 52488 59717 30685 45357 71840 99 Sequential Create Sequential Read Sequential Delete Random Create Random Read Random Delete/sec Cal fer notar que ”nom´s”treballant amb 3 parelles de nodes ja observem e una millora clara del rendiment del sistema. Beowulf) per distribuir la c`rrega entre els diferents a nodes fa viable l’´s de projectes lliures en entorns de producci´.lats en ıts VII Jornades de Programari Lliure. especialment en peticions aleat`ries (random).googlepages.com/cluster 6 Conclusions La creaci´ d’un sistema de computaci´ massiva amb programari lliure ´s o o e actualment una realitat.

[10] Filesystem in userspace. [12] Glusterfs. http://www.net/.alvarez. 2008. [8] Departament de lsi.au/bonnie++/. http://en.wikipedia.nongnu. 1965. 2008. http://www. http://www.org 11 . [14] Heartbeat: 2008. 2008.coker.htm. http://www.net/. Projectes com el Lustre que han passat a ser o lliures fa relativament poc.php/GlusterFS. 2008.fsf.org/docs/index. [9] Drbd.org/.org/wiki/Computer cluster. http://www.lsi.drbd. High availability. 2008.gluster. 2008.googlepages.org/licenses/by-nd/2.com/cluster per m´s e informaci´. 2008. 2008. [2] http://sourceforge.org/.org/Heartbeat. http://www.5/es/deed.net/.org. [4] Beowulf.jornadespl.sunsource. http://fuse. [6] Computer cluster. [7] Condor. http://www. http://www.org/. o Refer`ncies e [1] Moore’s law.com. a 7 Llic`ncia e Aquest article es distribueix sota una llic`ncia Creative Commons e Reconeixement-Sense obres derivades 2. 2008.verdejo.com/technology/mooreslaw/index. 2008. poden comen¸ar a ser alternatives v`lides en c a lloc dels cl`ssics sistemes com NFS.ca i http://gabriel. [3] http://savannah.sourceforge. http://www.edu.intel. VII Jornades de Programari Lliure. 2008.linux-ha.5 Espanya. [11] Free software foundation. [13] Gridengine.cs.sistemes reals en producci´.edu/condor/.wisc. http://www. 2008. Veieu http://creativecommons.beowulf. [5] Bonnie++. http://gridengine.upc.

2008. 2008. ıc Performance analysis of remote file system access over high bandwidth local network. 2008. http://www.sourceforge. http://ltp. [20] Redundant array of inexpensive http://en. http://en. 2003.org/. drives. 2002. [19] Pbs gridworks.openpbs.php.edu/Pubs/ETD/Available/etd-0523102121726/unrestricted/boumenot. The performance of a linux nfs implementation.cmu.org/wiki/RAID. [25] Jeff Martin. VII Jornades de Programari Lliure.inist. [24] Brice Goglin and Lo¨ Prylli.cs.wpi. http://www.intel. [17] Lustre. http://lara.clusterresources.pdf. http://www. 2008. 2008. 2008.org/.lustre.wikipedia.coda. [21] Torque resource manager. 2008.htm.com/pages/products/torqueresource-manager.net/tooltable. Boumenot.com/articles/eng/2640. [16] Local area network. 2008. http://www.php.[15] Linux virtual file system.pdf. Exploring clustered parallel file systems and object storage. [18] The openmosix project.wikipedia.sourceforge. [23] Michael Ewan.org/wiki/Local area network. [22] Christopher M.net. http://openmosix.edu/doc/talks/linuxvfs/. http://www. http://www.jornadespl. http://softwarecommunity.fr/bitstream/2332/838/1/RR2003-22. 2008.org 12 . Linux test tools.

Sign up to vote on this title
UsefulNot useful