21.7.07

Boinc


Boinc son las siglas de “Berkeley Open Infraestructure for Network Computing”, conocido en español como “Infraestructura Abierta de Berkeley para la Computación en Red”. Boinc es un programa multiplataforma que sirve como cliente de proyectos (plataforma) de computación distribuida mediante el cual un usuario de una computadora hogareña es capaz de interactuar con proyectos que requieren grandes cantidades de proceso matemático. Fue diseñado originalmente para el proyecto SETI@home(Search for Extraterrestrial Intelligence/Búsqueda de Inteligencia Extraterrestre) y actualmente David Anderson está a cargo del grupo de programadores que desarrollan el programa en Berkeley, Universidad de California..

SETI es el proyecto para el que se desarrolló este programa en primera instancia, y también el más conocido, pero también fue el primer proyecto, lanzado en 1999, en donde quedó demostrado que el software podía ser utilizado sin problemas, para hacer cómputos a gran escala con solo formar una red eficaz de computadoras hogareñas.
El gran éxito y popularización que esto trajo consigo logró abrir las puertas a otras clases de redes de procesos de cómputos matemáticos diferentes a Boinc pero que están agrupadas bajo la misma filosofía que el proyecto original.

A su vez, también se han sumado otros proyectos de diversa índole a la plataforma de Boinc, que van desde la atrofísica a la investigación de curas para varias enfermedades humanas, pasando por predicción del clima en el siglo 21 o bien conocimiento sobre las estructuras de las proteínas entre otras.

El proyecto Boinc fue creado con la finalidad de generar una red en internet en donde las máquinas que tuviesen instalado el cliente sirvieran de base para efectuar operaciones matemáticas para diferentes proyectos de análisis de gran complejidad. Estos proyectos requieren máquinas muy potentes para sus cálculos, y ni siquiera con una clase de supercomputadora de última generación se puede conseguir lo que se ha hecho con el programa Boinc, que logra aunar el esfuerzo de muchas computadoras caseras para analizar cómputos, de manera que funcionan a modo de una supercomputadora conectada a través de la red con el servidor del proyecto.
Lo que quizá para una sola computadora es algo sumamente extenso de calcular, para un montón de terminales en el mundo es algo mucho mas sencillo debido a que la capacidad de procesamiento de cada computadora se ve potenciada dentro de un grupo, ya que se comparten los proyectos, donando los recursos de proceso cuando una computadora está en modo inactivo y agilizando así la labor científica.

Boinc toma recursos de nuestras computadoras siempre en segundo plano, es decir, cuando el programa registra que la máquina está inactiva (por ejemplo, cuando está puesto el protector de pantalla) o bien cuando el consumo de la memoria Ram es bajo y le permite a Boinc efectuar sus cálculos. De todas formas, las preferencias se pueden modificar a gusto de cada usuario.

Actualmente la plataforma cuenta con unas 435.000 terminales en todo el mundo, y se calcula su rendimiento en 418 Teraflops, superando así a la reciente Blue Gene, la mejor supercomputadora existente a la fecha en el mundo.

Boinc un programa gratuito y multiplataforma, lo que significa que corre bajo Linux, Solaris, Mac y Windows entre otros y es código abierto disponible bajo la licencia GNU LPGL.
La plataforma está diseñada en dos partes:
Por un lado el cliente Boinc está programado para recibir y procesar paquetes de cómputos distribuidos a los usuarios, designados según la capacidad de la computadora que éstos posean, y si el proyecto así lo requiere, también aplicaciones, y luego reenviarlos una vez que éstos son procesados a la segunda parte de la plataforma constituída por sistemas de servidores, donde se reportan los informes.
El tiempo de proceso puede variar entre proyectos, siendo así que existen proyectos en los que se designan paquetes de 3 horas y otros en los que se designan paquetes de mas de un día.
Los procesos de cómputos de Boinc son automáticos, y no requieren que el usuario haga algo mas que elegir el proyecto del que le gustaría participar.
Cuando es necesario desactivar el programa o apagar la computadora el proceso queda guardado, para continuar desde el punto donde fue dejado la próxima vez que el cliente se ejecute.

Aunque existe la posiblidad de que Boinc sea utilizado con fines lucrativos, la mayor parte de los proyectos que corren bajo Boinc son sin fines de lucro y dependen principalmente de personas interesadas en colaborar donando los procesos de su computadora.


El cliente se puede descargar desde la página oficial y es de fácil instalación. También posee un servicio de consultas online, por si surgen problemas en su instalación o de otra clase en su funcionamiento, así como también averiguar más sobre el cliente.
Esta clase de consultas se pueden hacer a los voluntarios especializados que componen la ayuda online a través de Skype. Tanto el programa como las llamadas hechas por este medio son gratuitas.
Por otro lado, se ofrece a las personas que ya tienen experiencia con el manejo de la plataforma que formen parte de la ayuda online de forma voluntaria.
Por otra parte, existen un montón de aplicaciones opcionales para optimizar el rendimiento de Boinc, entre ellas managers para monitorizar los sistemas en red, monitores de progresos, utilidades que limitan el uso del procesador, display de status, así como un IRC exclusivo para Boinc, etc.

El siguiente paso a la instalación es elegir uno o mas proyectos con los que se contribuirá.
En la página de Boinc y en otras páginas en castellano, existen extensas listas sobre los proyectos y sus respectivas descripciones. Los programas de estos proyectos pueden cambiar cada cierto periodo de tiempo.

Boinc sigue varias políticas y normativas. A la hora de inscripción en un proyecto, una serie de datos son pedidos (un mail real para recepción de correo y un nombre, que puede ser ficticio si desea mantener su identidad en anonimato), y una vez hecha ésta se crea un sumario con las tareas que su computadora ha realizado y realizará. Ni en el sumario ni en ninguna otra fuente de datos figurará su direccion de correo, con el propósito de mantener su privacidad.
Se recopila información sobre su computadora en los servidores y página web del proyecto con la finalidad de que se pueda asignarle las tareas correspondientes a la capacidad de la máquina. Ésta información es de carácter privado y no se utiliza mas que para elaborar y asignar tareas a la computadora.

A pesar de que los ficheros de descarga de programas están firmados digitalmente en una computadora segura y sin conexión a internet, puede que se produzcan fallos debido a errores del programa ejecutado. Los servidores son de máxima seguridad, pero también puede que se produzcan problemas.
Otra cosa a tener en cuenta es el hecho de que el cliente al utilizar los procesos del sistema puede sobrecalentar la computadora. Si esto sucediese lo mejor es instalar un programa que limite la utilización de recursos de la máquina por parte del cliente. Esto es altamente recomendable para laptops.

Los proyectos basados en Boinc de carácter voluntario no se hacen responsables por pérdida de datos, u otros daños ocasionados por la utilización del mismo, ya que, como se asume en las líneas anteriores, la participación es voluntaria.

Como ya se dijo antes, hay otros clientes similares a Boinc que también se dedican a proceso de cómputos para fines científicos. Aquí algunos de ellos:

The Dimes project (en inglés)
Stephen Brook's website (en inglés)
Distributed.net (en español e inglés)
The Rothberg Institute For Childhood Diseases (en inglés)

Creo que ser partícipe en un programa como Boinc es un acto de solidaridad y contribución sin precedentes, ya que a pesar de no ser todos científicos podemos colaborar de alguna manera con la ciencia y los desarrollos de ésta, y prestar los recursos que poseamos para ese mismo fin.
Además, cada proyecto tiene sus cosas interesantes, y sólo es cuestión de buscar cuál nos es más afín a lo que nosotros deseamos. Por ejemplo, en algunos se dan créditos por la participación en el proyecto, en otros (como en el SETI) si en la computadora de un usuario, en el proceso de cálculo se descubre algo, este descubrimiento le es atribuido al usuario.

Así que es cuestión de los intereses y ganas de colaborar de cada uno, pero creo que este, como tantos otros proyectos similares, presentan una gran comunidad detrás que adhiere a sus desarrollos científicos.

Enlaces de interés:
Página principal de Boinc
Boinc en wikipedia
Canalboinc

2 comentarios:

engerix dijo...

Debido a un comentario tuyo en mi blog llego hasta aquí, y realmente te felicito por el contenido. Los 4 posts no tienen desperdicio. Al terminar este comentario te agregaré a mi lector de feeds. Felicitaciones y saludos.

Lara Lee dijo...

Gracias Engerix :)

Es bueno ver que las cosas pueden llegar a personas interesadas en ellas.

Por cierto, ¿Cuál es tu blog? (Tengo que mejorar el sistema de comentarios por defecto de Blogger, que no permite que dejen Webs personales xD)

Cam