La informática voluntaria es informática distribuida utilizando recursos informáticos proporcionados voluntariamente . Los sistemas informáticos modernos para la informática voluntaria se construyen sobre la base de sistemas grid .
Con el advenimiento y el rápido desarrollo de Internet , la idea del uso voluntario de computadoras de usuarios comunes conectados a través de Internet para organizar la computación distribuida se ha vuelto cada vez más popular . En 1994, David Gidi propuso la idea de organizar un proyecto masivo de computación distribuida que utiliza computadoras voluntarias - SETI@home [1] . El plan científico del proyecto, desarrollado por David Gidi y Craig Kasnoff de Seattle, fue presentado en la Quinta Conferencia Internacional sobre Bioastronomía en julio de 1996 [2] .
En enero de 1996, comenzó el proyecto GIMPS para encontrar números primos de Mersenne .
El 28 de enero de 1997, se lanzó la competencia RSA Data Security para resolver el problema de la piratería simplemente enumerando una clave de cifrado de información RC5 de 56 bits . Gracias a una buena preparación técnica y organizativa, el proyecto, organizado por la comunidad sin fines de lucro distribuido.net , rápidamente se hizo ampliamente conocido [3] .
El 17 de mayo de 1999, SETI@home comenzó sobre la base de grid computing, y a principios de 2002, se completó el desarrollo de la plataforma abierta BOINC (Berkeley Open Infrastructure for Network Computing) en la Universidad de California en Berkeley , desarrollada desde abril 2000, inicialmente para SETI@Home , pero el primero en la plataforma BOINC fue el proyecto Predictor@home , lanzado el 9 de junio de 2004.
Proyectos de computación distribuida en Internet como SETI@Home y Folding@Home no tienen menos poder de cómputo que las supercomputadoras más modernas . La productividad integrada de proyectos en la plataforma BOINC al 17 de diciembre de 2016 es de 28,7 peta flops [4] . A modo de comparación, el rendimiento máximo de la supercomputadora más poderosa (para 2016) Sunway TaihuLight es de 93 petaflops [5] . Hasta mediados de 2011, la supercomputadora más poderosa era Tianhe-1A con un rendimiento de "solo" 2,57 petaflops [6] . El proyecto figura en el Libro Guinness de los Récords como el cálculo más grande [7] .
Hasta la fecha, para simplificar el proceso de organización y gestión de la informática distribuida, se han creado varios sistemas de software , tanto comerciales como gratuitos.
El esquema general de participación en un proyecto de computación distribuida en particular se ve así: un participante potencial descarga la parte cliente del software para su sistema operativo , lo instala, lo configura y lo ejecuta. El cliente accede periódicamente al servidor del proyecto , le solicita datos para su procesamiento y envía los resultados. En este caso, el cliente se ejecuta con la prioridad más baja (prioridad ociosa ) y no interfiere con el trabajo principal.
Existen varios métodos para atraer participantes a proyectos de computación distribuida. En primer lugar, se trata de publicidad , incluso en sitios web relacionados con los temas del proyecto. Casi todos los proyectos intentan interesar a los participantes potenciales describiendo la importancia del problema que se resuelve y la posterior aplicación de los resultados de su solución en la vida real. Aquí, por supuesto, los proyectos que tienen este tipo de aplicaciones (por ejemplo, el descubrimiento de fármacos y otros proyectos biomédicos) pueden beneficiarse enormemente.
Muchos proyectos crean un entorno de competencia entre los participantes en cuanto a la cantidad de cálculos realizados, tanto en la clasificación individual como por equipos. Probablemente, el incentivo para participar en este tipo de proyectos es la oportunidad de "presumir" a otros participantes de los recursos informáticos disponibles. Un factor importante aquí es la presencia de estadísticas detalladas y de diseño atractivo sobre el trabajo realizado por los participantes, tablas de calificación, foros para discutir el proyecto y elementos similares de información y comunicación, todo esto forma una red social para que los participantes se comuniquen entre sí. gente mentalizada. Al mismo tiempo, el propósito real de los cálculos del proyecto para muchos de ellos pasa a un segundo plano y deja de ser tan importante como, por ejemplo, los detalles de diseño del sitio y el software del cliente. El éxito de este enfoque se demuestra por la existencia de muchos sitios de equipos que participan en un proyecto en particular, que de forma voluntaria e independiente anuncian el proyecto seleccionado y atraen a nuevos participantes.
Algunos proyectos de computación distribuida se financian de una forma u otra y ofrecen a sus participantes recompensas monetarias por lograr ciertos resultados. En particular, los proyectos que buscan objetos raros (por ejemplo, números de un tipo especial) pueden recompensar a participantes específicos que encuentren el próximo objeto de búsqueda en su computadora. Dichos proyectos pueden verse como una lotería , en la que los participantes pagan con sus recursos informáticos computando algo útil (o inútil) y tienen la oportunidad de ganar un premio. Al mismo tiempo, la probabilidad de éxito es directamente proporcional a las capacidades invertidas, como en la lotería: cuantos más boletos de lotería compre, más probabilidades tendrá de ganar.
En 2013, se lanzó el proyecto Gridcoin , una criptomoneda que utiliza tecnología blockchain , cuya emisión está asociada con la participación en la computación distribuida científica de la plataforma BOINC , es decir. los usuarios son recompensados por "contribuciones informáticas" a la ciencia.
Los organizadores de la computación distribuida declaran inicialmente que la participación de todos los que se unan a sus proyectos es gratuita, así como que sus resultados serán publicados. Sin embargo, el problema es que el código fuente de los programas cliente de la mayoría de los proyectos no está abierto al público, lo que significa que el participante final del proyecto no tiene la oportunidad de analizar el trabajo del programa cliente: un intento de desensamblar el programa puede ser ilegal ; por lo tanto, no se sabe exactamente qué tipo de cálculos está haciendo realmente el software del cliente.
Un usuario común puede convertirse en un participante involuntario en uno u otro proyecto informático voluntario, cuyo software puede ser instalado por un virus informático . Tal programa de cliente basado en virus que no daña la información, pero consume la potencia informática del dispositivo del usuario, puede pasar desapercibido durante mucho tiempo. Las redes (proyectos) para actividades ilegales o no aprobadas se denominan botnets .
Al 7 de abril de 2013, había 2 563 466 participantes registrados en el proyecto BOINC que conectaron 8 812 982 computadoras (hosts).
Estadísticas detalladas de los proyectos BOINC
Total | Activo | |
---|---|---|
miembros | 2 563 466 | 259 791 |
Hospedadores | 8 812 982 | 442 507 |
equipos | 98 055 | 22 649 |
Países | 251 | 238 |
Puntos totales | 1436484956800 | |
Promedio de puntos por día (BOINC) | 1 864 300 911 | |
Operaciones con flotante punto. Promedio por segundo | 9.321.504,6 gigaflops / 9.321,505 teraflops |
Según el principal servidor de estadísticas de los proyectos BOINC, los participantes registrados para EE . UU. lideran la clasificación general . Les siguen Alemania y Japón . [ocho]
Voluntarios de Informática | Proyectos|
---|---|
Astronomía |
|
biología y medicina |
|
cognitivo |
|
Climatizado |
|
Matemáticas |
|
Físico y técnico |
|
De múltiples fines |
|
Otro |
|
Utilidades |
|