OurGrid es un middleware grid de código abierto basado en una arquitectura peer-to-peer . OurGrid fue desarrollado principalmente en la Universidad Federal de Campina Grande ( Brasil ), que ha ejecutado una instancia de OurGrid llamada "OurGrid" desde diciembre de 2004. [1] Cualquiera puede unirse libremente para obtener acceso a una gran cantidad de potencia computacional y ejecutar aplicaciones paralelas. . Este poder computacional lo proporcionan los recursos inactivos de todos los participantes y se comparte de manera que aquellos que contribuyen más obtengan más cuando lo necesiten. Actualmente, la plataforma se puede utilizar para ejecutar cualquier aplicación cuyas tareas (es decir, partes que se ejecutan en una sola máquina) no se comuniquen entre sí durante la ejecución, como la mayoría de las simulaciones , minería de datos y búsqueda. [2]
El software OurGrid está escrito en Java . Cualquier sistema operativo que pueda ejecutar la máquina virtual Java puede participar en la red. Consta de cuatro partes: Broker, Worker, Peer y Discovery Service. El Broker se utiliza cuando el usuario necesita utilizar la cuadrícula para algún cálculo. El trabajador se utiliza cuando el usuario no necesita calcular nada en este momento pero desea proporcionar recursos informáticos inactivos para ganar reputación en la red. El Peer se utiliza cuando el usuario controla múltiples máquinas y permite controlar a los Trabajadores conectados. El servicio Discovery permite que varios pares interactúen e intercambien sus recursos computacionales. [3]
El trabajador admite la virtualización para aislar tareas del sistema de archivos del host e Internet. Sin la virtualización, los usuarios malintencionados podrían cargar una tarea que se conecte a Internet y organizar un ataque DDoS . [3]
Para disuadir a los usuarios de utilizar únicamente el Broker para realizar cálculos y no proporcionar ningún recurso computacional a cambio, OurGrid utiliza el mecanismo llamado Red de Favores. El usuario gana reputación en la red al proporcionar recursos computacionales inactivos para la red. Cuando el usuario con alta reputación solicita cálculo desde la grilla, sus consultas tienen mayor prioridad. [3] [4]
La Red de Favores asume que cada usuario busca obtener más recursos computacionales. La reputación del usuario la almacenan localmente los pares que interactuaron directamente con el usuario. La reputación nunca se vuelve negativa; de lo contrario, los usuarios malintencionados podrían simplemente crear una nueva identidad con una reputación limpia. [4]
En 2013, Marek Šimon, Ladislav Huraj y Vladimír Siládi analizaron los cuellos de botella en el rendimiento de aplicaciones de red P2P como OurGrid. Descubrieron que la tarea no se resolverá eficazmente en la red si conlleva la gran sobrecarga de distribuir datos entre los trabajadores. Idearon una tarea que utiliza métodos de interpolación para determinar la profundidad de la capa de nieve. Luego, compararon el tiempo que tardó el algoritmo secuencial en resolver la tarea y el tiempo que tardó la cuadrícula en resolver la versión paralelizada de la tarea. Descubrieron que no había ningún aumento en la eficiencia debido a los grandes gastos generales de distribución y recopilación de datos. La otra aplicación que se ocupa de la desintegración radiactiva mostró un aumento de la eficiencia debido al gran volumen de datos, cálculos más complejos y una pequeña sobrecarga de distribución de datos en comparación con el cálculo en sí. [5]