MOSIX es un sistema operativo distribuido propietario . [ 4 ] Aunque las primeras versiones se basaban en sistemas UNIX más antiguos , desde 1999 se centra en clústeres y redes Linux . En un clúster/red MOSIX no es necesario modificar ni enlazar aplicaciones con ninguna biblioteca, copiar archivos ni iniciar sesión en nodos remotos, ni siquiera asignar procesos a diferentes nodos; todo se hace automáticamente, como en un SMP .
Historia
MOSIX ha sido investigado y desarrollado desde 1977 en la Universidad Hebrea de Jerusalén por el equipo de investigación del profesor Amnon Barak. Hasta la fecha, se han desarrollado diez versiones principales. La primera versión, llamada MOS ( Multicomputer OS , 1981-1983), se basó en la séptima edición de Unix de Bell Labs y se ejecutaba en un clúster de computadoras PDP-11 . Las versiones posteriores se basaron en Unix System V Release 2 (1987-1989) y se ejecutaban en un clúster de computadoras VAX y NS32332 , seguidas de una versión derivada de BSD/OS (1991-1993) para un clúster de computadoras 486/Pentium. Desde 1999, MOSIX está optimizado para Linux en plataformas x86 .
MOSIX2
La segunda versión de MOSIX, denominada MOSIX2, es compatible con los núcleos Linux 2.6 y 3.0. MOSIX2 se implementa como una capa de virtualización del sistema operativo que proporciona a usuarios y aplicaciones una única imagen del sistema con el entorno de ejecución de Linux. Permite que las aplicaciones se ejecuten en nodos remotos como si se ejecutaran localmente. Los usuarios ejecutan sus aplicaciones habituales (secuenciales y paralelas) mientras MOSIX busca recursos de forma transparente y automática, y migra procesos entre nodos para mejorar el rendimiento general.
MOSIX2 puede gestionar clústeres y multiclústeres ( redes ), así como estaciones de trabajo y otros recursos compartidos. La gestión flexible de una red permite a los propietarios de clústeres compartir sus recursos computacionales, conservando al mismo tiempo su autonomía sobre sus propios clústeres y la capacidad de desconectar sus nodos de la red en cualquier momento, sin interrumpir los programas que ya se estén ejecutando.
Una red MOSIX puede extenderse indefinidamente siempre que exista confianza entre sus propietarios. Esto debe incluir garantías de que las aplicaciones invitadas no se modificarán mientras se ejecutan en clústeres remotos y de que ningún equipo malicioso podrá conectarse a la red local. Actualmente, estos requisitos son estándar en clústeres y redes organizativas.
MOSIX2 puede ejecutarse en modo nativo o en una máquina virtual (VM). En modo nativo, el rendimiento es mejor, pero requiere modificaciones en el núcleo Linux base , mientras que una VM puede ejecutarse sobre cualquier sistema operativo sin modificar que admita virtualización, incluidos Microsoft Windows , Linux y Mac OS X.
MOSIX2 es ideal para ejecutar aplicaciones con un alto consumo de recursos computacionales y un volumen de entrada/salida (E/S) bajo o moderado. Las pruebas realizadas con MOSIX2 demuestran que el rendimiento de varias de estas aplicaciones en una red de campus de 1 Gbit/s es prácticamente idéntico al de un único clúster.
Características principales
- Proporciona aspectos de una imagen de sistema único:
- Los usuarios pueden iniciar sesión en cualquier nodo y no necesitan saber dónde se ejecutan sus programas.
- No es necesario modificar ni vincular las aplicaciones con bibliotecas especiales.
- No es necesario copiar archivos a nodos remotos.
- Descubrimiento automático de recursos y distribución de carga de trabajo mediante migración de procesos:
- Balanceo de carga .
- Migración de procesos desde nodos más lentos a nodos más rápidos y desde nodos que se quedan sin memoria libre.
- Sockets migrables para la comunicación directa entre procesos migrados.
- Entorno de ejecución seguro (sandbox) para procesos invitados.
- Cola de tareas en tiempo real: las tareas en cola conservan su entorno Linux genérico completo.
- Trabajos por lotes.
- Punto de control y recuperación.
- Herramientas: scripts de instalación y configuración automáticas, monitores en línea.
MOSIX para computación de alto rendimiento
MOSIX es ideal para ejecutar aplicaciones HPC con un volumen de E/S bajo a moderado. Las pruebas de MOSIX demuestran que el rendimiento de varias de estas aplicaciones en una red de campus de 1 Gbit/s es prácticamente idéntico al de un único clúster. Es especialmente adecuado para:
- Utilización eficiente de los recursos de toda la red, mediante la detección automática de recursos y el equilibrio de carga.
- Ejecutar aplicaciones con requisitos de recursos o tiempos de ejecución impredecibles.
- Se ejecutan procesos largos que se envían automáticamente a los nodos de la red y se recuperan cuando estos nodos se desconectan de la red.
- Combinar nodos de diferentes velocidades, migrando procesos entre nodos en función de sus respectivas velocidades, carga actual y memoria disponible.
Algunos ejemplos:
- Aplicaciones científicas: genómica , secuencias de proteínas , dinámica molecular , dinámica cuántica, nanotecnología y otras aplicaciones de computación de alto rendimiento (HPC) paralelas.
- Aplicaciones de ingeniería: dinámica de fluidos computacional (CFD), pronóstico meteorológico , simulaciones de colisiones , industria petrolera, diseño de circuitos integrados específicos de aplicación (ASIC) , industria farmacéutica y otras aplicaciones de computación de alto rendimiento (HPC).
MOSIX4
MOSIX4 se lanzó en julio de 2014. [ 2 ] A partir de la versión 4, MOSIX no requiere parcheo del kernel. [ 2 ]
openMosix
Después de que MOSIX se convirtiera en software propietario a finales de 2001, Moshe Bar bifurcó la última versión gratuita y comenzó el proyecto openMosix el 10 de febrero de 2002. [ 5 ]
El 15 de julio de 2007, Bar decidió poner fin al proyecto openMosix a partir del 1 de marzo de 2008, alegando que «la creciente potencia y disponibilidad de procesadores multinúcleo de bajo coste está haciendo que la agrupación en clústeres de imagen de sistema único (SSI) sea cada vez menos relevante en la computación». Estos planes se reconfirmaron en marzo de 2008. [ 6 ] El proyecto LinuxPMI continúa el desarrollo del código del antiguo openMosix.
Lecturas adicionales
MOSIX4
- A. Barak y A. Shiloh. Documento técnico sobre el sistema de gestión de clústeres MOSIX para computación distribuida en clústeres Linux y nubes privadas multiclúster , 2016.
- A. Barak y A. Shiloh. Guías y manuales para administradores, usuarios y programadores de MOSIX. Revisado para MOSIX-4.3 , 2015.
MOSIX2 para Linux 2.6
- Meiri E. y Barak A., Compresión paralela de archivos correlacionados , Actas del IEEE Cluster 2007, Austin, septiembre de 2007.
- Amar L., Stosser J., Barak A. y Neumann D., MOSIX mejorado económicamente para la planificación basada en el mercado en Grid OS , Taller sobre modelos y algoritmos económicos para sistemas Grid (EAMGS 2007), 8.ª Conferencia Internacional IEEE/ACM sobre Computación en Grid (Grid 2007), Austin, septiembre de 2007.
- Amar L., Barak A., Levy E. y Okun M., Un algoritmo en línea para la asignación equitativa de nodos en un clúster . Actas del 7.º Simposio Internacional IEEE sobre Computación en Clúster y Red (CCGrid '07), págs. 83-91, Río de Janeiro, mayo de 2007.
- Amar L., Barak A., Drezner Z. y Peer I., Algoritmos de chismes para el mantenimiento de un tablón de anuncios distribuido con propiedades de antigüedad garantizada. TR, 2006.
- Barak A., Shiloh A. y Amar L., Una red organizativa de clústeres MOSIX federados . Actas del 5.º Simposio Internacional IEEE sobre Computación en Clúster y Red (CCGrid '05), Cardiff, mayo de 2005.
- Barak A. y Drezner Z., Algoritmos distribuidos basados en el método Gossip para estimar la carga promedio de clústeres y redes de computación escalables. Actas de la Conferencia Internacional de 2004 sobre Técnicas y Aplicaciones de Procesamiento Paralelo y Distribuido (PDPTA'04), Las Vegas, NV, junio de 2004.
MOSIX para Linux 2.2 y 2.4
- Okun M. y Barak A., Escrituras atómicas para la integridad y consistencia de datos en dispositivos de almacenamiento compartido para clústeres . Journal of Future Generation Computer Systems, vol. 20, n.° 4, págs. 539–547, mayo de 2004.
- Amar L., Barak A. y Shiloh A., El método de acceso directo al sistema de archivos MOSIX para admitir sistemas de archivos de clúster escalables . Cluster Computing, vol. 7, n.° 2, págs. 141-150, abril de 2004.
- Keren A. y Barak A., Algoritmos de costo de oportunidad para la reducción de la sobrecarga de E/S y comunicación entre procesos en un clúster de computación . IEEE Trans. Parallel and Distributed Systems, vol. 14, n.° 1, págs. 39–50, enero de 2003.
- Amar L., Barak A. y Shiloh A., El sistema de E/S paralela MOSIX para un rendimiento de E/S escalable. Actas de la 14.ª Conferencia Internacional IASTED sobre Computación y Sistemas Paralelos y Distribuidos (PDCS 2002), págs. 495-500, Cambridge, MA, noviembre de 2002.
- Amir Y., Awerbuch B. , Barak A., Borgstrom RS y Keren A., Un enfoque de costo de oportunidad para la asignación de trabajos en un clúster de computación escalable . IEEE Trans. on Parallel and Distributed Systems, vol. 11, n.° 7, págs. 760–768, julio de 2000.
- McClure S. y Wheeler R., MOSIX: Cómo los clústeres Linux resuelven problemas del mundo real . Actas de la Conferencia Técnica Anual USENIX 2000, págs. 49-56, San Diego, CA, junio de 2000.
- Amar L., Barak A., Eizenberg A. y Shiloh A.,. Los sistemas de archivos en clúster escalables MOSIX para LINUX, junio de 2000.
- Barak A., La'adan O. y Shiloh A., Computación en clúster escalable con MOSIX para LINUX . Actas de la 5.ª Exposición Anual de Linux, págs. 95-100, Raleigh, Carolina del Norte, mayo de 1999.
Libro MOSIX Versión 1
- Barak A., Guday S. y Wheeler R., El sistema operativo distribuido MOSIX, equilibrio de carga para UNIX. Lecture Notes in Computer Science, vol. 672, Springer-Verlag, mayo de 1993.
Otro
- Barak A. y La'adan O., El sistema operativo multicomputadora MOSIX para computación en clúster de alto rendimiento . Journal of Future Generation Computer Systems, vol. 13, n.° 4-5, págs. 361-372, marzo de 1998.
- Barak A., Laden O. y Yarom Y., El NOW MOSIX y su esquema de migración de procesos con prioridad. IEEE TCOS, vol. 7, n.º 2, págs. 5-11, verano de 1995.
- Haban D., Wybranietz D. y Barak A., Monitoreo y soporte de gestión de sistemas distribuidos, Actas del Taller Europeo sobre Progreso en Sistemas Operativos Distribuidos y Gestión de Sistemas Distribuidos, págs. 110–137, Berlín, abril de 1989.
- Barak A. y Wheeler R., MOSIX: Un sistema UNIX multiprocesador integrado. Actas de la Conferencia USENIX de invierno de 1989, págs. 101–112, San Diego, CA, febrero de 1989.
- Barak A., Shiloh A. y Wheeler R., Prevención de inundaciones en el esquema de equilibrio de carga MOSIX, Boletín informativo IEEE-TCOS, vol. 3, n.° 1, págs. 24-27, invierno de 1989.
- Barak A. y Kornatzky Y., Principios de diseño de sistemas operativos para multicomputadoras a gran escala, Actas del Taller Internacional sobre Experiencia con Sistemas Distribuidos, págs. 104-123, Kaiserslautern, septiembre de 1987. Véase también: Informe RC 13220, Centro de Investigación IBM TJ Watson, Yorktown Heights, Nueva York, octubre de 1987.
- Alon N. , Barak A. y Manber U., Sobre la difusión fiable de información sin radiodifusión, Actas de la 7.ª Conferencia Internacional sobre Sistemas de Computación Distribuida (ICDCS-7), págs. 74-81 (mejor artículo de la conferencia), Berlín, septiembre de 1987.
- Barel A., NSMOS - Puerto MOS a la arquitectura de la familia 32000 de National. Actas de la 2ª Conferencia Israelí sobre Sistemas Informáticos e Ingeniería de Software, Tel Aviv, mayo de 1987.
- Barak A., Drezner Z. y Gurevich Y., Sobre el número de nodos activos en un sistema multicomputadora, Networks, An Int. Journal, Vol. 16, No. 3, pp. 275–282, otoño de 1986.
- Barak A. y Paradise GO, MOS - Escalando UNIX. Actas de la Conferencia USENIX de Verano de 1986, págs. 414–418, Atlanta, GA, junio de 1986.
- Barak A. y Paradise GO, MOS - un sistema UNIX de equilibrio de carga. Actas de la Conferencia EUUG de otoño de 1986, págs. 273–280, Manchester, septiembre de 1986.
- Drezner Z. y Barak A., Un algoritmo asíncrono para la dispersión de información entre los nodos activos de un sistema multicomputador, Journal of Parallel and Distributed Computing, vol. 3, n.° 3, págs. 344–351, septiembre de 1986.
- Barak A. y Shiloh A., Una política de equilibrio de carga distribuida para un sistema multicomputadora. Software - Practice & Experience, vol. 15, n.° 9, págs. 901–913, septiembre de 1985.
- Barak A. y Litman A., MOS - Un sistema operativo distribuido para múltiples computadoras. Software - Practice & Experience, vol. 15, n.° 8, págs. 725–737, agosto de 1985.
- Drezner Z. y Barak A., Algoritmos eficientes para el enrutamiento de información en un sistema multicomputadora, Algoritmos distribuidos en grafos, Carleton Univ. Press, págs. 41–48, Ottawa, agosto de 1985.
- Barak A., Control dinámico de procesos para computación distribuida, Actas de la 3.ª Conferencia Internacional sobre Sistemas de Computación Distribuida (ICDCS-3), págs. 36-40, Ft. Lauderdale, FL, octubre de 1982.
- Barak A., Shapir A., Steinberg G. y Karshmer AI, Un UNIX modular y distribuido. Actas de la 14.ª Conferencia Internacional de Hawái sobre Ciencias de Sistemas, págs. 740–747, enero de 1981.
- Barak A. y Shapir A., UNIX con procesadores satélite. Software - Practice & Experience, vol. 10, n.º 5, págs. 383–392, mayo de 1980.
Véase también
Notas
- ↑ "Preguntas frecuentes sobre MOSIX" .
- 1 2 3 "Registro de cambios de MOSIX" .
- ↑ www.mosix.cs.huji.ac.il/txt_distributions.html
- ↑ El sistema operativo distribuido MOSIX: Balanceo de carga para UNIX, volumen 672 de Lecture Notes in Computer Science . Springer-Verlag, Nueva York, 1993.
- ↑ el proyecto openMosix .
- ↑ "OpenMosix" . 17 de abril de 2013.
- computación en clúster
- computación en malla
- Software de red basado en el protocolo de Internet
- Computación paralela
- Sistemas operativos distribuidos