¿Hay algún buen sistema de distribución distribuido independiente del idioma para Linux que sea seguro y gratuito?sistema de marca distribuida segura gratuita para Linux
Antecedentes:
corro experimentos científicos (los de la informática) que a veces tienen grandes árboles de dependencias, de vez en cuando en el orden de miles o decenas de miles de nodos del árbol. Este árbol de dependencias está sobre los archivos de datos, ejecutables de procesamiento de datos y archivos de resultados.
He experimentado con varias técnicas en los últimos años, incluyendo:
- Rodando mi propio rastreador de dependencia utilizando una base de datos y ejecutar un script en cada máquina trabajador. Esto puede ser un poco engorroso, especialmente cuando intenta trabajar con lenguajes que no usan scripts.
- Poniendo todos los comandos de procesamiento en un solo archivo MAKE, con pseudo-objetivos que pueden ser "construidos manualmente" en diferentes máquinas de trabajadores. Esto no requiere herramientas especiales, pero puede ser una molestia dividir manualmente el trabajo en trozos pseudo-objetivo de tamaño uniforme e invocar correctamente "hacer" en cada cuadro de trabajador.
- distmake: distribuir automáticamente la ejecución de comandos desde un único archivo MAKE ...
básicamente estoy buscando algo como distmake, pero más seguro. Por lo que puedo decir, distmake básicamente deja una puerta trasera abierta en cada nodo trabajador.
También sería bueno si un reemplazo fuera más robusto que distmake. Si sale de la llamada principal de distmake, puede cerrar los servidores de puerta trasera, pero no mata correctamente los procesos de ejecución en los nodos de trabajador.
Aclaraciones:
estoy procesando los datos con el makefile, no compilación y enlazado con gcc. Según lo que leí en la documentación, distcc es una herramienta especializada para distribuir gcc. Voy a ejecutar mis propios archivos ejecutables en archivos de datos muy grandes alojados en un sistema de archivos compartido, no gcc en los archivos fuente, por lo que distcc no es útil.
Los nodos de trabajador son máquinas visibles externamente, por lo que quiero que cualquier demonio de trabajador sea al menos tan seguro como ssh. Lo mejor que puedo decir sin leer la fuente, distmake worker daemons abre un puerto y aceptará comandos de cualquiera que se conecte a él. Ejecutarán los comandos como el usuario que inició el daemon.
Voy a mirar en los túneles ssh. Parece que distcc y icecream son solo para compilación y enlaces. La página de inicio de icecream advierte que no debe usarse en entornos inseguros. –
En ese caso, ¿por qué no estás escribiendo un motor BOINC? –
Ah, grid computing ... ¿por qué no pensé en eso? Creo que el cóndor puede hacer lo que yo quiero. ¿Le importaría agregar soluciones de computación grid a su respuesta (o crear una nueva respuesta) por el bien de los lectores en el futuro? –