Loading AI tools
infraestructura para la computación distribuida De Wikipedia, la enciclopedia libre
La Infraestructura Abierta de Berkeley para la Computación en Red (en inglés Berkeley Open Infrastructure for Network Computing), o BOINC por sus siglas en inglés, es una infraestructura para la computación distribuida, desarrollada originalmente para el proyecto SETI@home, pero que actualmente se utiliza para diversos campos como física, medicina nuclear, climatología, etc. La intención de este proyecto es obtener una capacidad de computación enorme utilizando computadores personales alrededor del mundo. Los proyectos en los que trabaja este software tienen un denominador común, y es que requieren una gran capacidad de cálculo.[2]
BOINC | ||
---|---|---|
![]() | ||
![]() BOINC Manager 7.0.65 x86 | ||
Información general | ||
Tipo de programa | middleware | |
Autor | ||
Desarrollador | Universidad de California, Berkeley | |
Lanzamiento inicial | 10 de abril de 2002 | |
Licencia | LGPL | |
Información técnica | ||
Programado en | C++ | |
Plataformas admitidas | multiplataforma | |
Interfaz gráfica predeterminada | wxWidgets | |
Versiones | ||
Última versión estable |
Windows (7.16.11) macOS (7.16.14) Linux (7.4.22) 03 de julio de 2016 (8 años, 2 meses y 4 días) () | |
Última versión en pruebas | 05 de abril de 2020 (4 años, 5 meses y 2 días) () | |
Enlaces | ||
BOINC ha sido desarrollado por un equipo ubicado en Space Sciences Laboratory en la Universidad de California en Berkeley, liderado por David P. Anderson, que también lideraba SETI@home. Como una plataforma "cuasi-supercomputador", BOINC tiene, al 9 de junio de 2018, alrededor de 311.742 participantes activos con 834.343 computadoras (hosts) alrededor del mundo, que procesan un promedio de 26,43 PetaFLOPS,[3] lo que lo ubicaría como el quinto sistema más potente del mundo comparado con las supercomputadoras de la lista TOP 500. El Libro Guinness de los récords clasifica a BOINC como la red de computadoras más grande del mundo.[4]
La plataforma puede correr bajo varios sistemas operativos, incluyendo Microsoft Windows y varios sistemas Unix-like incluyendo Mac OS X, Linux y FreeBSD. BOINC es software libre y disponible bajo la licencia GNU LGPL.
BOINC fue originalmente desarrollado para administrar el proyecto SETI@home.
El cliente de SETI original era un programa diseñado exclusivamente para SETI@home. Como uno de los primeros proyectos de computación distribuida, nunca fue diseñado con niveles altos de seguridad. Algunos miembros intentaban engañar al proyecto para ganar más "créditos", mientras otros simplemente enviaban resultados totalmente falsos. BOINC fue diseñado, en parte, para combatir esta brecha en la seguridad.[5]
El proyecto BOINC empezó en febrero de 2002 y su primera versión fue publicada el 10 de abril de 2002. El primer proyecto basado en BOINC fue Predictor@home (Artículo en inglés), lanzado el 9 de junio de 2004.
BOINC fue financiado por la agencia gubernamental National Science Foundation a través de becas desde 2002 hasta 2015.[6][7][8] Actualmente no cuenta con financiamiento externo y depende de voluntarios.[9]
BOINC está diseñado para ser una plataforma libre para cualquiera que quiera crear un proyecto de computación distribuida.
En esencia, BOINC es un software que puede utilizar los ciclos que no se ocupan de la CPU o GPU de un computador para hacer cómputos científicos - lo que un individuo no ocupa de su computador, BOINC lo utiliza. A finales del 2008, el sitio web oficial de BOINC anunció que NVIDIA (un fabricante importante de GPUs) había desarrollado un sistema llamado CUDA que ocupa las GPUs para el cómputo científico. Con la ayuda de NVIDIA, algunos proyectos basados en BOINC (como SETI@home, MilkyWay@home) ahora tienen aplicaciones que corren en las GPUs de NVIDIA ocupando CUDA. En octubre del 2009, BOINC agregó soporte para la familia de GPUs ATI/AMD. Estas aplicaciones corren desde 2x a 10x más rápido que las aplicaciones que corren solamente en la CPU.
BOINC consiste en un servidor y un cliente que se comunican para distribuir, procesar, y retornar unidades de trabajo (mejor conocidas en inglés como workunits).
En terminología de BOINC, un proyecto es una entidad,organización o grupo de investigación que utiliza BOINC para realizar sus cómputos. Cada proyecto es autónomo e independiente y cuenta con un servidor encargado de distribuir trabajos a dispositivos voluntarios. El software del servidor es proporcionado por BOINC. El complejo de servidores de un proyecto BOINC gira en torno a una base de datos relacional que almacena descripciones de aplicaciones, plataformas, versiones, unidades de trabajo, resultados,cuentas, equipos y más. En respuesta a la vasta heterogeneidad de los dispositivos que pueden participar en un proyecto, BOINC provee un marco de trabajo para la construcción de programas destinados para combinaciones específicas de software y hardware. A éstos se les conoce como versiones de aplicaciones. La colección de estas versiones para un programa en particular se conoce como aplicación. Los proyectos pueden asociarse a un sitio web dedicado al público. El software de BOINC facilita scripts web para el registro y autenticación de voluntarios, tableros de mensajes,perfiles, tableros de líderes, medallas, y otras funciones comunitarias e incentivos. Un proyecto se identifica por el URL de su sitio web.
BOINC puede ser controlado a distancia mediante llamadas a procedimiento remoto (RPC), desde la línea de comandos, o desde el administrador de cuentas de BOINC.
El Mánager de BOINC actualmente cuenta con 2 modos de "vista": La Vista Avanzada (Advanced View) y la GUI Simplificada (Simplified GUI). La Vista Grid fue borrada desde la versión 6.6.x por ser redundante. La apariencia de la GUI Simplificada puede ser personalizable mediante skins y cada usuario puede hacer su propio diseño.
Un administrador de cuenta de BOINC es una aplicación que administra múltiples cuentas de proyectos BOINC a través de múltiples computadores y sistemas operativos.
Los administradores de cuenta (Account managers en inglés) han sido diseñados para los que son nuevos en BOINC o tienen varios computadores trabajando para varias cuentas. El concepto de administrador de cuentas fue ideado y desarrollado por GridRepublic junto con BOINC. Entre los administradores actuales se encuentran:
El sistema de créditos está diseñado para evitar las trampas en la validación de resultados para la posterior entrega de créditos falsos. Existen varias razones por la que es necesario un sistema fiable de créditos:
Se identifica con una llave maestra conocida, la cual es el URL de su página web el cual también tiene la funcionalidad de ser un directorio de servidores, en los cuales el voluntariado registra su proyecto con una o más aplicaciones que pueden variar según sea el caso. El conjunto de servidores de un proyecto en BOINC se basa en una base de datos relacional, en la cual se almacenan aplicaciones, plataformas, versiones, unidades de trabajo, resultados, cuentas, equipos, etc. Las funciones del servidor se llevan a cabo por un conjunto de servicios web y procesos Daemon (procesos que se ejecutan en segundo plano). En esta parte se cuentan con servidores de programación que son los responsables de emitir los trabajos y administrar los reportes de los resultados y los servidores de datos que son los que manejan los archivos con base en un certificado el cual les garantiza que solo puedan cargar archivos con las características deseadas como legitimidad y tamaño. Para poder realizar la descarga de los archivos se realiza mediante el protocolo de HTTP, teniendo la ventaja de que BOINC tiene distintas herramientas como scripts o interfaces, la cuales le permiten al científico crear, detener y consultar proyectos, además de agregar nuevas aplicaciones, plataformas y versiones de aplicaciones, creando unidades de trabajo y monitoreando el rendimiento del servidor.
El software requerido para donar tiempo de proceso (prestar la unidad de procesamiento), debe ser descargado desde la página oficial de BOINC, donde se puede elegir la plataforma de la descarga y el tipo de arquitectura que posea el hardware. También se puede disponer del código fuente del software cliente, para modificarlo a gusto del usuario.
Una vez descargado el software, el usuario debe suscribirse a un proyecto según sea su interés, tan sólo registrando su correo electrónico y una contraseña para acceder a sus estadísticas. Al hacerlo, se abrirá una ventana en el navegador y se podrá inscribir a un grupo de usuarios o personalizar la cuenta en el proyecto, para determinar el tiempo de funcionamiento o el espacio de disco duro que dispone el proyecto en el equipo del usuario.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.