|
Berkeley Open Infrastructure for Network Computing (BOINC)
RESUMEN DE BOINC
Traductor : Emilio González
|
|
 Traducido en cooperación con Madrid SETI |
<< Página principal
BOINC es una plataforma de software para computación distribuida que utiliza los recursos de computadores voluntarios.
Las características de BOINC se dividen en varias areas :
Compartición de Recursos entre Proyectos Independientes
Muchos proyectos diferentes pueden usar BOINC. Los proyectos son independientes; cada uno funciona en sus propios servidores y bases de datos. De todas formas, los proyectos pueden compartir recursos en el siguiente sentido :
Los participantes instalan un programa cliente que a su vez descarga y ejecuta programas de aplicaciones específicas del proyecto.
Los participantes controlan en que proyectos participan, y como sus recursos se dividen entre los diferentes proyectos. Cuando un proyecto no está disponible o no tiene trabajo, los recursos de sus particpantes se dividen entre los otros proyectos en los que los particpantes están registrados.
Ventajas para el proyecto
BOINC dispone de caracerísticas que simplifican la creación y el manejo de los proyectos de computación distribuida.
-
Entorno flexible de las aplicaciones
Las aplicaciones existentes en lenguajes comunes (C, C++, Fortran) pueden funcionar como aplicaciones BOINC con pocas o ninguna modificación
Una aplicación puede consistir en varios ficcheros (e.j. programas múltiples y un script de coordinación).
Las nuevas versiones de las aplicaciones se pueden distribuir sin intervención del usuario.
-
Seguridad
BOINC protege los proyectos contra varios tipos de ataques. Por ejemplo, utiliza firmas digitales basadas en encriptación de claves públicas para protegerlas de la distribución de virus-.
-
Servidores múltiples y tolerancia al fallo
Los proyectos pueden tener planificaciones y servidores de datos separados, con multiples servidores de cada tipo. Los clientes automáticamente intentan servidores alternativos; si todos los servidores están fuera de funcionamiento, los clientes hacen reintentos exponenciales en el tiempo para evitar saturar los servidores cuando estén en marcha de nuevo.
-
Herramientas de seguimiento de sistema
BOINC incluye un sistema basado en web de mostrar variaciones en el tiempo (carga de CPU, tráfico de red, tamaños de las tablas de la base de datos). Esto simplifica la tarea de diagnosticar problemas de rendimiento.
-
Código Abierto
BOINC es Código Abierto (Open source); se distribuye bajo la versión 1.0 de la Licencia Pública Mozilla.
Los programas de las aplicaciones no necesitan estar en código abierto.
BOINC puede utilizarse para proyectos de computación, privados, públicos o comerciales.
Cada proyecto debe poseer y mantener sus propios sistemas servidores.;
Estos sistemas se pueden instalar facilmente usando composentes en Código Abierto (MySQL, PHP, Apache).
-
Soprte para grandes bloques de datos
BOINC permite aplicaciones que producen o consumen grandes cantidades de datos, o que usan gran cantidad de memoria. La distribución de datos y la recolección se pueden esparcir en muchos servidores, y los computadores participantes transferir muchos datos sin obstruirse. Los usuarios pueden especificar límites en el el uso de disco y en el ancho de banda. El trabajo sólo se envia a computadores capaces de realizarlo.
Ventajas para los usuarios
BOINC tiene las siguientes ventajas para los paricipantes:
-
Plataformas de usuarios múltiples
El programa central de BOINC está disponible en las plataformas más habituales (Mac OS X,
Windows, Linux y otros sistemas Unix).
El cliente puede usar multiples procesadores..
-
Web-based participant interfaces
BOINC facilita el entorno web para la creación de cuentas, edición de preferencias, y estado de cuentas. Las preferencias de un usuario son immediatamente propagadas a todos sus computadores, haciendo fácil manejar gran cantidad de computadores.
-
Sistema de almacenamiendo de unidades configurable
El programa central descarga suficiente trabajo para mantener ocupado el computador durante la cantidad de tiempo especificada por el usuario.
Esto se puede hacer para disminuir la frecuencia de las conexiones al servidor o para permitir al computador seguir funcionando aunque el servidor del proyecto no esté operativo