Computació distribuida

Enviat per Marc Cabarrocas | Enviat a , , , , , | Enviat a 1/18/2010

Aquest post el poso ja que alguna persona s'ha interessat per saber de què va això de la computació distribuïda i ja que hi soc ho poso en coneixement de tothom i al blog perquè tothom pugui llegir-ho quan li faci falta, compartir-ho o fer-ne el que vulgui.

Començaré avisant que el tema és bastant seriós, no és una conya com les que poso normalment, aixó s'ha de tractar bé, amb ganes i amb intenció. Penseu que un dels objectius clau d'aquest escrit és conscienciar a la gent que tots podem contribuir una mica a fer aquest mon una mica millor i si pot ser ajudant a trobar una cura contra el càncer o una nova aleació que faci més resistents i més lleugers els materials... benvingut sigui. A continuació teniu una especie de tutorial, punt per punt per entendre de què va tot això de la computació distribuïda:

QUÈ ÉS LA COMPUTACIÓ DISTRIBUÏDA?

La computació distribuïda és el mitjà que tenen les universitats i grups d'investigació per poder processar quantitats d'informació exageradament gran de la forma més ràpida possible. Fins fa uns anys això es feia, simplement, comprant supercomputadors o tenint-ne molts de normals a la pròpia universitat. Actualment, amb les comunicacions pràcticament totals que existeixen es pot enviar la feina a ordinadors arreu del mon perquè processin part de la feina i retornin els resultats, això ja és Computació distribuïda. Peró aquest repartiment de feines no només es dirigeix als grups d'investigació sinó que també arriba als ordinadors particulars, en aquest punt és on nosaltres podem ajudar.

COM PUC AJUDAR I A QUÈ PUC AJUDAR?
Per ajudar a processar la feina dels investigadors només fa falta instal·lar un programa a l'ordinador i afegir-nos als projectes que ens interessin. I quins son aquests projectes en els que podem ajudar? Doncs n'hi ha de tot tipus: Mèdics/biològics, climatològics, astronòmics, matemàtics, físics/químics... I dintre d'aquestes categories podríem fer subcategories encara: Plegatge de proteïnes per a conèixer el funcionament de certes enfermetats, combinació genètica per crear cultius d'arròs super-resistent per a abastir de conreus les zones més àrides del planeta; Simulació climatològica per aprendre a prevenir tifons, huracans...; Detecció de terratrèmols per estudis sísmics; Estudi dels moviments dels astres de la galàxia per entendre el funcionament de l'univers; cerca de senyals de ràdio que puguin provindre de l'espai profund, a la recerca de vida extraterrestre; trobar més demostracions parcials per donar més força a teories matemàtiques; resoldre jocs de lògica matemàtica amb solucions de caràcter exponencial; simulació de combinació de mol·lècules per estudiar la resistència de materials o les possibles aleacions encara no existents...

COM FUNCIONA. QUÈ FARÀ EL MEU PC?
El funcionament és simple, el programa es descarregarà una unitat de treball (o més, segons temps que triguin acabar, número de processadors del PC, temps que vulguis que "guardi" el programa per no haber de conectar-se a internet permanentment...) amb les dades "en brut" del projecte que hagis triat. Segons el projecte les unitats poden tardar 10 minuts en processar-se o dos dies, poden utilitzar tota la potència del processador que li permetem o el 0% (aquí no hi ha terme mig, sempre serà 0% o el màxim que li configurem, els projectes aprofiten tota la potència possible, per una simple qüestió d'eficiència), tindran ocupada una part de memòria RAM més gran o més petita... Finalment, quan hagin processat la unitat de treball enviaran els resultats de tornada cap al servidor del projecte i ens donaran una puntuació per això. No us heu de preocupar, si esteu treballant amb el PC aquest programa no us molestarà ja que només utilitza la potencia que no feu servir del PC així que si en un moment determinat el programa que estigueu fent servir necessita tota la potència, simplement el de la computació distribuïda deixarà de treballar per no molestar. Tot de forma transparent i sense que us n'adoneu.
El que si s'ha de tenir en compte és que al utilitzar el 100% de la potència del processador aquest s'escalfarà i segurament els ventiladors del PC aniran més ràpid perquè res s'escalfi massa. Si la ventilació del PC no és un problema tenir-lo treballant sempre al 100% no és perillós, això si, tenir una caixa neta de pols i amb una ventilació adecuada és necessari per no tenir cap problema futur.

M'INTERESSA EL TEMA, COM PUC PROCESSAR EN ALGUN PROJECTE?
El primer que has de fer és instal·lar el programa base, el que s'encarregarà de fer tota la feina. Actualment tots els projectes de computació distribuïda menys un s'han agrupat en una sola "plataforma" denominada BOINC (Berkley Open Infrastructure for Network Computing). Si descarregueu el programa per al vostre sistema operatiu (majoritàriament Windows, pero si no teniu windows ja ho sabreu, jeje), el podeu instal·lar directament i el tema dels projectes ja ens el mirarem després. Doble click a l'executable, siguiente, siguiente, siguiente i quan acabi passar olímpicament de la finestreta que ens demanarà a quins projectes ens volem unir. Un cop aquí un consell és anar a la "vista avançada" que podeu escollir a baix a la dreta (segurament ho posi en anglès). Aquesta finestra no és ni de bon punt tant maca, però és molt més "visual" ja que és més "clàssica" amb el menú "fitxer-veure-utilitats..." a la barra superior, com la majoria de programes.
Ara ja teniu el programa, ara el que necessiteu és un (o més) projectes en els que treballar. Personalment només participo en projectes mèdics/biològics i en tots aquells que no consumeixin CPU (així, amb 4 processadors com tinc, processo 4 unitats mèdiques/biològiques sempre, si després algun projecte tecnològic/matemàtic/astronòmic també treballa o no, no molesta, perquè no "molesta" als altres). Vosaltres podeu fer feina, lliurement, en els projectes que més us agradin.

PERÒ NO HAS DIT COM APUNTAR-SE A UN PROJECTE, COM HO FAIG?
Si entrem en detalls m'hi puc passar mitja vida explicant possibilitats. Et pots connectar manualment a un sol projecte, pots utilitzar un gestor de comptes per unificar el control de tots els projectes i anar-los parant o engegant segons et convingui. També hi ha la possibilitat de fer processar les targetes gràfiques, però només funciona amb alguns projectes i alguns models de targetes en concret. En definitiva, hi ha moltes possibilitats i per això el que faig es dirigir-vos al fòrum de l'equip al que estic "afiliat", per tal que pugueu trobar informació sobre tot això i molt més. El fòrum és el de l'equip de TitanesDC.
Per més indicacions us deixo els 3 o 4 punts d'interès:
Funcionament del Gestor de projectes BAM
Relació de projectes, sistemes operatus en els que funcionen i petita "sinopsis" sobre els objectius de cadascun.
Sub-fòrum amb les discusions sobre els projectes, separats per categories

Parides (0)

Publica un comentari a l'entrada