You are on page 1of 6

Proyectos de computacin distribuida.

Definicin
La computacin distribuida o computacin en grid es un sistema de
computacin relativamente nuevo y se define como una coleccin de
computadoras separadas de forma fsica aunque conectadas entre s por
una red de comunicaciones. Cada mquina es encargada del procesamiento
de un subconjunto de datos que forme parte del total a procesar. Fue
concebida a mediados del ao 1990 pero es a partir del 2000 cuando se han
llegado a alcanzar progresos considerables en la construccin de dicha
infraestructura. Su importancia reside en que permite que instituciones de
menos recursos tengan acceso a poder computacional de forma remota, o
que diversas instituciones puedan unir sus recursos computacionales para
obtener uno ms poderoso. Esta potente tecnologa parece una ficcin, pero
la marcha hacia una Grid Mundial cada da se hace ms real. Pues existen
muchos mini-grids para el desarrollo de investigacin.
Caractersticas de una red de computacin distribuida
Fundamentado en los Protocolos de Internet e ideas de computacin
paralela, trabaja la filosofa de compartir informacin permitiendo acceder a
cualquier tipo de recursos heterogneos separados geogrficamente. Nos
permite compartir: recursos computacionales, elementos de
almacenamiento, equipos
Sus caractersticas generales ms importantes son:
Capacidad de balanceo de sistemas: no habra necesidad de
calcular la capacidad de los sistemas en funcin de los picos de
trabajo, ya que la capacidad se puede reasignar desde la granja de
recursos a donde se necesite.
Alta disponibilidad: Si un servidor falla, se reasignan los servicios
en los servidores restantes.
Reduccin de costes: Con esta arquitectura ya no es necesario
disponer de "grandes servidores" y podremos hacer uso de
componentes de bajo coste. Cada sistema puede ser configurado
siguiendo el mismo patrn.
Funcionamiento de una red de computacin distribuida
Como norma general una red de computacin distribuida comienza
mediante la instalacin de un software en los equipos cliente, encargado de
descargar un trozo de la tarea total del proyecto.
Este software hace uso de la computadora cuando esta no se encuentra en
uso o bien utilizando los recursos no utilizados por la computadora, evitando
as impedir el trabajo normal del usuario.
Al terminar el proceso, el software enviar los resultados a un servidor
central y comenzar la descarga de la siguiente tarea a realizar. Cuantos
ms usuarios instalen el software de proceso en sus ordenadores, mas
elementos sern aadidos a la red y mas rpido ser el proceso de
computacin.
Arquitectura de una red de computacin distribuida

La arquitectura de una GRID permite utilizar los recursos de procesamiento


propios de la empresa, sin tener que invertir ms en adquirir capacidad
extra de procesamiento y presenta estos 5 niveles:
Nivel de la Infraestructura: En este nivel se encuentran los
recursos computacionales como son: las computadoras, los cluster,
las supercomputadoras, medios de almacenamiento, la red, etc.
Nivel de Conectividad: Aqu estn incluidos los protocolos de
comunicacin: TCP/IP, SSL, etc. Tambin los nuevos protocolos que
estn en fase de estudio y sern incorporados para mejorar la
velocidad y la seguridad en la red.
Nivel de Recurso: Se toma al recurso en general y que permite
tener informacin y control sobre el mismo. Los protocolos tomados
son: las caractersticas tcnicas, la carga actual, el precio, etc.
Tambin los se encuentra los protocolos para controlar el recurso: el
acceso al mismo, el arranque de proceso, la gestin, etc.
Nivel de Recursos: Aqu se engloba todos los servicios que van a
permitir gestionar un conjunto de recursos, como son: servicios de
directorio, los sistemas distribuidos, la monitorizacin y diagnstico
de la ejecucin de las tareas, la contabilidad y el accesos a datos
distribuidos.
Nivel de Aplicaciones: Se concentra en la definicin de protocolos
que van a permitir a las aplicaciones el acceso al Grid a travs de sus
distintas niveles o directamente a ellas, en incluso a la
infraestructura.
Ventajas e inconvenientes de una red de computacin distribuida
Gran poder de procesamiento y aprovechamiento de recursos.
Al combinar el poder de varias computadoras se puede procesar ms
datos. Posibilita el funcionamiento de aplicaciones a gran escala.
Respecto al aprovechamiento de recursos existentes, se puede usar
computadoras en los momentos en que no son utilizadas para que
ayuden con el procesamiento de datos en la GRID.
Espacio fsico ilimitado. Los equipos que forman la Grid pueden
estar a gran distancia entre s. Incluso pueden estar en diferentes
continentes.
Brinda posibilidad ante posibles fallos. Si una mquina que
forma parte del Grid falla, el sistema lo reconoce y enva los datos no
procesados a otra mquina.
Ahorro en costos. Cuando se necesita una gran capacidad de
procesamiento incurrir en gastos de equipos con ese poder no es una
buena idea para medianas y pequeas compaas por lo que una Grid
es una opcin viable y considerablemente ms barata.
Necesita de algunos servicios para funcionar. Internet, conexin
las 24 horas los 365 das del ao con banda ancha, seguridad
informtica.
No existen muchas aplicaciones que hagan uso de esta
tecnologa.
Comunicacin lenta y no uniforme lo que lleva a una difcil
sincronizacin. Es complicado sincronizar los procesos de todos los
equipos.
Su utilidad se limita para procesamiento en paralelo y algunos
tipos de aplicacin no pueden ser puestos de esta forma. Por ahora
no es apto para bases de datos transaccionales ni para el
procesamiento complejo en serie.
Problemas de una red de computacin distribuida
L. Peter Deutsch, fundador de Aladdin Enterprises y conocido como el
creador de GhostScript, afirm que todo programador que comienza en el
mundo de la computacin distribuida comete una serie de presunciones
errneas. Peter acu lo que se conoce como Las 7 falacias de la
computacin distribuida, que se convirtieron en 8 por la aportacin de
James Gosling, inventor de Java. Estas premisas hacen incidencia en los
problemas provocados por la red, cadas de servidores, virus o troyanos, la
casi segura necesidad del uso de varios administradores para el sistema, el
coste del transporte de la informacin o la no homogeneidad de la red por
los diferentes sistemas existentes.
La mayor parte del tiempo que est encendida, nuestra computadora est
sin hacer nada, esperando. O resolviendo tareas menores, que le exigen
apenas una fraccin de su capacidad. Incluso cuando est haciendo alguna
actividad que para cualquier usuario es medianamente importante
(navegar, enviar un e-mail, escuchar msica), la mayora de los equipos no
est exigiendo al mximo toda su capacidad de clculo. Al igual que el
motor de un auto, los cerebros electrnicos ofrecen la posibilidad de tener
picos de rendimiento. En el auto servira, por ejemplo, para hacer un
sobrepaso. En la PC, para hacer que las aplicaciones se carguen lo ms
rpido posible, y que algunas tareas (como la edicin de video) se realicen
en un tiempo comparativamente corto. Tambin, por supuesto, los
procesadores estn listos para tareas de ms largo aliento (como correr un
videojuego, por ejemplo).

Pero la mayor parte del tiempo la PC est en segunda o tercera marcha,


sobre todo si es un equipo medianamente moderno. Basta con ver la
pestaa Rendimiento del Administrador de Tareas de Windows (se activa con
la combinacin de teclas Control+Maysculas+Esc ) para ver el historial
reciente del uso de recursos del equipo.
[]
Desde hace ms de diez aos, sin embargo, es posible aprovechar esa
capacidad ociosa para ayudar a la ciencia, aplicando una tcnica conocida
como computacin distribuida. El concepto en s es tan viejo como Internet:
ofrecer a usuarios remotos la posibilidad de acceder a una
supercomputadora y usar ese porcentaje disponible, por pequeo que sea.
Con la difusin de la PC en los hogares, sin embargo, surgi una segunda
opcin: distribuir tareas pequeas entre las computadoras de los
voluntarios, para que hagan el clculo mientras el equipo no se est usando
y lo devuelvan a un servidor central, que junta y digiere todos los
resultados, encomienda la resolucin de nuevos problemas, etctera. Si se
tratara apenas de un par de computadoras habra una ganancia menor,
pero si fueran miles de computadoras donando parte de su tiempo para la
ciencia?
[]
De eso se trata la computacin distribuida o, como la llama uno de sus
referentes ms importantes, "computacin voluntaria". Quien le dice esto a
LA NACION es David Anderson, un investigador de la Universidad de
Berkeley que comanda el proyecto de computacin distribuida ms famoso:
SETI@Home, que permite que cualquiera con una PC medianamente
moderna y una conexin a Internet colabore con la bsqueda de
extraterrestres en su tiempo libre.

El proyecto ( http://setiathome.berkeley.edu ) toma la informacin obtenida


por radiotelescopios y la analiza, buscando patrones que puedan ser
identificados como provenientes de una inteligencia extraterrestre.

Es muchsima informacin, y necesita una supercomputadora para


analizarla. Lo que logr el proyecto es tener a 180.000 usuarios activos, que
donan una porcin del tiempo que el usuario tiene encendida su PC, pero
que en la suma de recursos se transforma en una supercomputadora
distribuida por todo el planeta.
[]
Simplemente descargan una aplicacin (gratis, est para Windows, Mac OS
X y Linux), la instalan en su PC, y cuando el equipo activa el salvapantallas,
la aplicacin comienza la tarea encomendada, que interrumpe cuando el
usuario vuelve a usar el equipo. Tambin se puede definir un horario en el
que se activar, o dejar el programa corriendo todo el tiempo, pero con baja
prioridad. Es decir, que siempre las tareas del usuario se harn primero,
para no impactar en la performance de nuestros programas.

SETI@home no es el nico proyecto. "En total hay unos 50, que agrupan a
casi medio milln de usuarios activos con un milln de computadoras",
explica Anderson. Todas usan la aplicacin BOINC (que cre Anderson) para
coordinar la resolucin de tareas. De hecho, al momento de instalar el
programa, es posible elegir ms de un proyecto; as, si nuestra computadora
termin la tarea encomendada por el servidor central, puede ir colaborando
con otro proyecto mientras espera nuevas instrucciones.

Una opcin para conocer otros proyectos es http://boinc.berkeley.edu . Pero


tambin puede visitarse www.gridrepublic.org y
www.worldcommunitygrid.org (apadrinado por IBM); todos usan el mismo
software de gestin. Tambin es posible encontrar gran variedad de
proyectos en http://distributedcomputing.info .

Por ejemplo, para hacer simulaciones que ayuden a predecir mejor el clima;
a investigar curas contra el cncer y el sida; a estudiar la manera en que se
arman las molculas; a determinar cul es la partida ideal del sudoku y el
ajedrez, y a buscar nmeros primos.
[]
Tambin puede resultar til para muchos tener un acercamiento a la
computacin distribuida por Facebook, con una campaa propiciada por
Intel, llamada Progreso a travs de los procesadores
( apps.facebook.com/processors/ ).
[]
"En BOINC desarrollamos la tecnologa que permite poner esto en prctica,
incluyendo el aprovechamiento de la capacidad de clculo de los chips de
las aceleradoras de video, que son muy poderosos, en los nuevos
procesadores multincleo, y en los dispositivos mviles. Hay cada vez ms,
y son muy eficientes en trminos de consumo de energa, que es la barrera
a la que se est enfrentando la supercomputacin", explica Anderson.

El investigador trabaja, adems, en Bossa ( bossa.berkeley.edu ), una


tecnologa que permite hacer algo como la computacin distribuida, pero
con personas. En algunos mbitos se conoce esta tcnica como
crowdsourcing; es decir, usar varias cabezas en vez de una para resolver un
problema. Los navegantes, quiz sin saberlo, ya han colaborado en
proyectos como ste: as funciona reCaptcha ( http://recaptcha.net ,
adquirido recientemente por Google).

Muchos sitios usan una tecnologa conocida como Captcha para validar
comentarios en blogs y otras pginas: es una serie de letras disimuladas en
una imagen, que para los humanos son fciles de reconocer, pero que
desorientan a las computadoras (y a las aplicaciones de spam que
combaten). En reCaptcha le dieron una vuelta de tuerca: tienen un proyecto
de digitalizacin de textos antiguos, y muestran, a modo de sistema de
validacin, palabras que el software de reconocimiento no pudo decodificar.
Los usuarios contribuyen, con un esfuerzo mnimo, a identificar esas
palabras y ayudan en la digitalizacin de los libros.
Otro ejemplo: Galaxy Zoo ( www.galaxyzoo.org ), para ayudar a clasificar
galaxias por su forma. No requiere conocimientos de astronoma, sino una
habilidad natural en todos los humanos, que es la de identificar formas
similares. Y en S un marciano ( beamartian.jpl.nasa.gov ) la NASA invita a
los interesados a ver de cerca el planeta rojo y ayudar a la agencia espacial
estadounidense clasificando, como parte de un juego, lo que ven en
pantalla.
[]
El ms atractivo, quiz, ser el juego Fold.it ( http://fold.it ), para investigar
cmo se pliegan las molculas (fundamental en el combate de
enfermedades y la creacin de nuevos medicamentos). Aunque las
computadoras pueden analizar varias combinaciones en simultneo, los
humanos seguimos siendo ms eficientes a la hora de encontrar opciones
vlidas. Para participar basta con descargar la aplicacin (gratis,
multiplataforma) y jugar con la forma de las molculas hasta encontrar una
vlida. Al igual que con Galaxy Zoo, no hay que tener conocimientos sobre
el tema, sino ganas de resolver problemas de ingenio y colaborar con la
ciencia.
[]
Y en Games With A Purpose ( www.gwap.com ) hay varios juegos sencillos
en lnea para ayudar a la clasificacin de imgenes, de canciones y otros.

"La gente siempre va a exceder a las computadoras en cuestiones como


intuicin, creatividad y juicio -afirma Anderson-. Y los humanos son
infinitamente ms diversos que las computadoras, as que el problema de
transformar una poblacin voluntaria en un recurso cuantificable (como lo
necesitan los cientficos) es un desafo fascinante, y es en lo que vamos a
estar trabajando en los prximos aos."

You might also like