Articulo de referencia

Sistema operativo de núcleo ligero

Un sistema operativo de núcleo ligero (LWK) es aquel que se utiliza en un ordenador grande con muchos núcleos de procesador , denominado ordenador paralelo . Un sistema de compu...

Un sistema operativo de núcleo ligero (LWK) es aquel que se utiliza en un ordenador grande con muchos núcleos de procesador , denominado ordenador paralelo .

Un sistema de computación de alto rendimiento (HPC) masivamente paralelo es particularmente sensible a la sobrecarga del sistema operativo . Los sistemas operativos multipropósito tradicionales están diseñados para admitir una amplia gama de modelos de uso y requisitos. Para satisfacer estas necesidades, se proporciona un gran número de procesos del sistema, que a menudo son interdependientes. La sobrecarga computacional de estos procesos genera una cantidad impredecible de tiempo de procesador disponible para una aplicación paralela. Un modelo de programación paralela muy común es el modelo paralelo síncrono masivo , que suele emplear la Interfaz de Paso de Mensajes (MPI) para la comunicación. Los eventos de sincronización se realizan en puntos específicos del código de la aplicación . Si un procesador tarda más en alcanzar ese punto que los demás, todos deben esperar, lo que aumenta el tiempo total de finalización. La sobrecarga impredecible del sistema operativo es una razón importante por la que un procesador puede tardar más en alcanzar el punto de sincronización que los demás.

Ejemplos

Los sistemas operativos de núcleo ligero personalizados, utilizados en algunas de las computadoras más rápidas del mundo, ayudan a mitigar este problema. La línea de supercomputadoras IBM Blue Gene ejecuta varias versiones del sistema operativo CNK . [ 1 ] Las supercomputadoras Cray XT4 y Cray XT5 ejecutan Compute Node Linux [ 2 ] mientras que la anterior XT3 ejecutaba el núcleo ligero Catamount , que se basaba en SUNMOS . Los Laboratorios Nacionales Sandia tienen un compromiso de casi dos décadas con los núcleos ligeros en sus sistemas HPC de gama alta. [ 3 ] Investigadores de Sandia y de la Universidad de Nuevo México comenzaron a trabajar en SUNMOS para Intel Paragon a principios de la década de 1990. Este sistema operativo evolucionó a Puma, Cougar —que logró el primer teraflop en ASCI Red— y Catamount en Red Storm . Sandia continúa su trabajo en LWK con un nuevo esfuerzo de I+D, llamado kitten. [ 4 ]

Características

Aunque es sorprendentemente difícil definir con exactitud qué es un núcleo ligero, [ 5 ] existen algunos objetivos de diseño comunes:

  • Diseñado para entornos masivamente paralelos compuestos por miles de procesadores con memoria distribuida y una red estrechamente acoplada.
  • Proporcionar el soporte necesario para aplicaciones científicas escalables y orientadas al rendimiento.
  • Ofrecer un entorno de desarrollo adecuado para aplicaciones y bibliotecas paralelas.
  • Prioriza la eficiencia sobre la funcionalidad.
  • Maximizar la cantidad de recursos (por ejemplo, CPU, memoria y ancho de banda de red) asignados a la aplicación.
  • Procure minimizar el tiempo de finalización de la aplicación. [ 6 ]

Implementación

Las implementaciones de LWK varían, pero todas buscan proporcionar a las aplicaciones un acceso predecible y máximo a la unidad central de procesamiento (CPU) y otros recursos del sistema. Para lograrlo, suelen incluirse algoritmos simplificados para la planificación y la gestión de memoria. Los servicios del sistema (por ejemplo, demonios) se limitan al mínimo indispensable. Los servicios disponibles, como el lanzamiento de trabajos, se estructuran jerárquicamente para garantizar la escalabilidad a miles de nodos. Los protocolos de red para la comunicación entre nodos del sistema también se seleccionan e implementan cuidadosamente para asegurar la escalabilidad. Un ejemplo de ello es la interfaz de programación de aplicaciones (API) de programación de red de Portals .

Los sistemas operativos de núcleo ligero presuponen el acceso a un pequeño conjunto de nodos que ejecutan sistemas operativos de servicio completo para descargar algunos de los servicios necesarios: acceso de inicio de sesión, entornos de compilación, envío de trabajos por lotes y entrada/salida de archivos.

Al restringir los servicios a los estrictamente necesarios y optimizar los que se ofrecen, se minimiza la sobrecarga (a veces denominada ruido) del sistema operativo ligero. Esto permite asignar una cantidad significativa y predecible de ciclos de procesador a la aplicación paralela. Dado que la aplicación puede avanzar de forma consistente en cada procesador, alcanzarán sus puntos de sincronización más rápidamente, idealmente al mismo tiempo. Se reduce el tiempo de espera.

Futuro

Los últimos superordenadores que ejecutan núcleos ligeros son los sistemas IBM Bluegene restantes que utilizan CNK . Una nueva estrategia para los núcleos ligeros consiste en combinarlos con un sistema operativo completo, como Linux, en un nodo multinúcleo. Estos sistemas operativos multinúcleo ejecutan un núcleo ligero en algunos de los núcleos de la CPU del nodo, mientras que otros núcleos proporcionan servicios que no se incluyen en los núcleos ligeros. Al combinar ambos, los usuarios obtienen las funcionalidades de Linux que necesitan, además del comportamiento determinista y la escalabilidad de los núcleos ligeros.

Referencias

  1. Moreira, Jose; et  al. (noviembre de 2006). "Diseño de un sistema operativo altamente escalable: El caso de Blue Gene/L". Actas de la Conferencia Internacional ACM/IEEE de 2006 sobre Computación de Alto Rendimiento, Redes, Almacenamiento y Análisis (SC'06).{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  2. Wallace, D. (mayo de 2007). "Compute Node Linux: descripción general, progreso hasta la fecha y hoja de ruta". Actas de la Conferencia Técnica Anual del Grupo de Usuarios de Cray de 2007.{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  3. Riesen, Rolf; et al. (abril de 2009). "Diseño e implementación de núcleos ligeros para computación de capacidades". Concurrencia y computación: práctica y experiencia. {{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  4. "Núcleo ligero para gatitos" .
  5. Riesen, Rolf; et al. (junio de 2015). "¿Qué es un núcleo ligero?" . Actas del 5.º Taller Internacional sobre Sistemas Operativos y de Tiempo de Ejecución para Supercomputadoras . págs. 1–8 . doi : 10.1145/2768405.2768414 . ISBN   9781450336062. S2CID 11698915 . Consultado el 19 de octubre de 2019 . 
  6. Kelly, S.; Brightwell, R. (mayo de 2005). "Arquitectura de software del núcleo ligero Catamount". Actas de la Conferencia Técnica Anual del Grupo de Usuarios de Cray de 2005.{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )