Para el núcleo de Linux se está desarrollando un sistema de ejecución distribuida de hilos llamado Popcorn

Universidad Politécnica de Virginia propuso para la discusión entre los desarrolladores del núcleo de Linux sobre un conjunto de parches que implementan un sistema de ejecución de hilos distribuido Popcorn (Ejecución de Hilos Distribuidos), que permite ejecutar aplicaciones en varias computadoras con la distribución y migración transparente de hilos entre hosts. Con Popcorn, las aplicaciones pueden ser iniciadas en un host y luego, sin detener su operación, ser trasladadas a otro host. En programas multihilo, se permite la migración de hilos individuales a otros hosts.

A diferencia del proyecto CRIU, que permite guardar el estado de un proceso y reanudar su ejecución en otro sistema, Popcorn proporciona migración dinámica y sin costuras entre hosts durante la ejecución de la aplicación, sin requerir acción del usuario y garantizando la coherencia de la memoria virtual en todos los hosts en los que se ejecutan simultáneamente los hilos.

La pila de software de Popcorn se compone de parches al núcleo de Linux y biblioteca con pruebas que demuestran cómo se pueden utilizar las llamadas al sistema de Popcorn para migrar hilos en aplicaciones ejecutadas de forma distribuida. A nivel de núcleo, se proponen extensiones al subsistema de memoria virtual con la implementación de memoria compartida distribuida, que permite a los procesos en diferentes hosts acceder a un espacio de direcciones virtual comunes y coherentes. La coherencia de las páginas de memoria virtual se garantiza mediante un protocolo que replica las páginas de memoria en el host al ser accedidas para lectura y invalida las páginas de memoria al realizar escrituras.

La interacción entre hosts se realiza mediante un controlador de mensajes que opera a nivel de núcleo, transmitidos a través de un socket TCP. Se observa que TCP/IP se utiliza para facilitar la depuración y pruebas durante el proceso de desarrollo. Los desarrolladores comprenden que, desde el punto de vista de seguridad y rendimiento, TCP/IP no es el mejor método para transferir contenido de estructuras de núcleo y páginas de memoria entre hosts. Todos los hosts en los que se ejecutan aplicaciones distribuidas deben tener un nivel de confianza idéntico. Una vez estabilizados los algoritmos fundamentales, se aplicará un medio de transporte más eficiente.

Popcorn ha estado en desarrollo desde 2014 como un proyecto de investigación sobre las posibilidades de crear aplicaciones distribuidas, cuyos flujos pueden ejecutarse en diferentes nodos en sistemas computacionales heterogéneos , en los que se pueden combinar núcleos basados en diferentes arquitecturas del conjunto de instrucciones (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). El conjunto de parches propuesto para los desarrolladores del núcleo de Linux solo admite la ejecución en hosts con CPU x86, pero hay una versión más funcional, Popcorn Linux, que permite ejecutar aplicaciones en hosts con diferentes arquitecturas de CPU (x86 y ARM). Para utilizar Popcorn en entornos heterogéneos, es necesario usar un compilador basado en LLVM. En la ejecución distribuida en hosts con una sola arquitectura, no se requiere recompilación con un compilador específico.

Para el núcleo de Linux se está desarrollando un sistema de ejecución distribuida de hilos llamado Popcorn

Además, se puede destacar anuncio de un proyecto similar Telefork , con la implementación de un prototipo inicial de API para iniciar procesos secundarios en otros ordenadores en el clúster (como fork(), pero lleva el proceso bifurcado a otro ordenador).
El código está escrito en Rust y hasta ahora solo permite clonar procesos muy simples que no utilizan recursos del sistema, como archivos. Al hacer la llamada telefork, la memoria y las estructuras relacionadas con el proceso se clonarán en otro host, donde se ejecuta el manejador del servidor (telepad). A través de ptrace, el reflejo de la memoria del proceso se serializa y se transfiere a otro host junto con el estado del proceso y los registros. La API también permite guardar el estado del proceso en un archivo y restaurarlo a través de este.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster