En el mundo del HPC o la supercomputación, todo parece muy extraño si lo comparamos con un PC convencional. Pero lo cierto es que estas grandes máquinas se parecen más de lo que imaginamos a nuestros equipos. Aquí vamos a adentrarnos en el mundo de los sistemas operativos para estos fines.
Índice de contenidos
Un sistema operativo para HPC (High Performance Computing) o supercomputación debe tener varias características para poder gestionar de manera eficiente los recursos de hardware y ejecutar aplicaciones complejas a gran escala. Por ejemplo:
Y ¿qué sistemas operativos tienen estas características? Veamos…
Algunas de las supercomputadoras tempranas de la década de los años 60s, como la CDC 6600 de Control Data Corporation, usaban sistemas personalizados, como es el caso de Chippewa OS o COS. La serie CDC 7600 cambió COS por NOS (Network Operating System). Otro ejemplo es el IBM 7030 Stretch, otra de las más populares, y que no tenía sistema operativo como tal, sino que empleó un software base denominado IBM 7030 Monitor, haciendo las veces de sistema de gestión de recursos de hardware.
CDC fue uno de los grandes, hasta la llegada de Cray, una empresa de Seymour Cray que sentó las bases del HPC moderno. Con el CRAY-1 vimos la introducción del sistema CTSS o Cray Time-Sharing System, de tiempo compartido.
Conforme fueron evolucionando, y con la llegada de los sistemas UNIX, HPC y el mundo UNIX convergieron. El sistema operativo de AT&T aportaba precisamente lo que se buscaba, como robustez, fiabilidad, alto rendimiento, soporte de aplicaciones científicas, y seguridad. Por ello, en la década de los 80s comenzó su dominio en el sector.
Los sistemas operativos BSD, como le ocurre a Linux, existen en diversas variantes. Este UNIX que data de la década de los 70s, poco a poco fue ganando popularidad en el sector HPC. Sistemas como NetBSD y FreeBSD están entre los más usados en máquinas como CRAY-2, y CMU CM-5. Actualmente son un porcentaje casi marginal, pese a que es muy portable, y disponible para infinidad de arquitecturas…
Solaris, desarrollado inicialmente por Sun Microsystems y actualmente propiedad de Oracle, ha tenido una presencia histórica en el mundo del HPC (High Performance Computing), aunque su uso actual en este ámbito es relativamente limitado, en clusters o equipos HPC de Oracle, tanto los basados en x86 como los SPARC.
Su popularidad llegaría sobre los 90s, pero poco a poco ha ido cediendo terreno a Linux. Es más, incluso la propia Oracle opta preferiblemente por Linux para sus propias máquinas.
Se trata del sistema operativo UNIX desarrollado por HP, y lanzado en 1983. Aporta todo lo que se puede esperar para el sector HPC, y está disponible para arquitecturas como x86, HP PA-RISC e IA-64, estas dos últimas abandonadas.
Desde los 90s, ha ido cayendo en picado, aunque lo hemos visto en máquinas muy importantes, como la HP Convex, CRAY-X1, etc. Actualmente no existen muchas máquinas que sigan manteniendo este sistema.
IBM AIX fue otra de las implementaciones de UNIX que ha tenido una presencia histórica en el mundo del HPC (High Performance Computing). Desde su lanzamiento en 1986, como sucesor del UNIX de IBM RT/PC, se ha venido usando en máquinas propias de IBM basadas en la ISA POWER y también en algunas otras, aunque con la llegada de Linux, IBM lo empezó a ver con muy buenos ojos, apostando por él tanto para sus máquinas x86, como las POWER, así como las z/Architecture de sus mainframes.
UNICOS (UNiversal COmputer Operating System) es un sistema operativo de tipo Unix desarrollado por Cray para sus supercomputadoras. Fue introducido por primera vez en 1985 con el sistema Cray-2 y se convirtió en el sistema operativo estándar para las supercomputadoras Cray posteriores, incluyendo las series J, C, T, X y Y.
Se basa en el UNIX System V de AT&T, con mejoras de rendimiento, escalabilidad, mejoras en el soporte para computación paralela, red y seguridad. A pesar de los esfuerzos, a finales de los 90s comienza su declive, pasando a apostar también por Linux como más adelante mostraré. Además, Cray fue adquirida por SGI en 2003, y ésta descontinuó el proyecto. Posteriormente, fue comprada por HPE (HP Enterprise).
En el pasado Apple disponía de una versión Server de su sistema operativo UNIX. Actualmente eso no es así. No obstante, ni antes ni después la presencia de macOS ha sido importante en el HPC. Pero he querido incluirlo, ya que está presente en algunos servidores, y también en la nube, ofreciendo servicios con chips M-Series y sistema macOS a desarrolladores o interesados…
La época dorada de UNIX No duraría demasiado. En los 90s, cuando Linux apenas comenzaba sus pasos, poco a poco se iba haciendo hueco en el sector HPC. Por ejemplo, en 1996, ASCI Red sería la primera gran máquina en usar este sistema. Y en tan solo unos años, el éxito exponencial hace que se transforme en el sistema dominante por sus características similares a UNIX y por su flexibilidad al ser código abierto.
En 1996 solo había una máquina Linux, en 1998 ya representaba el 2% de la lista TOP500, llegando al 50% en 2004, el 90% en 2010, y el 100% actual…
Hoy día, el 100% de las máquinas HPC de la lista TOP500, es decir, los 500 supercomputadores más potentes del mundo, usan Linux. Ni rastro de otros UNIX. Fuera de la lista Top500, el dominio Linux sigue siendo casi total, pero hay hueco para otros sistemas operativos…
Un sistema operativo minimalista y de alto rendimiento, diseñado para supercomputadoras. Se basa en el kernel Linux, y ofrece una capa de abstracción de hardware, lo que lo hace interesante. Además, también consume pocos recursos y es muy escalable. A pesar de eso, su presencia en equipos de alto rendimiento no es muy elevada, pero merecía la pena citarlo.
Una distribución comercial de Linux empresarial con enfoque en la estabilidad, seguridad y confiabilidad, además de integrar multitud de proyectos y paquetes pensados para este sector, como los de SAS. La alemana SUSE tiene disponible su SLES (SUSE Linux Enterprise Server) que es de la más populares en el ámbito HPC, junto con Red Hat son de las mejores. Actualmente, tiene una cuota de entorno al 2% en la lista TOP500.
Con una cuota de en torno al 5% en la lista TOP500, otro de los grandes es RHEL (Red Hat Enterprise Linux). Red Hat fue una de las empresas de código abierto más poderosas, ahora propiedad de IBM. Al igual que SUSE, han desarrollado multitud de proyectos propios e integrado otros de terceros para hacerlo lo más completo posible para entornos empresariales. Por ejemplo, ofrece Red Hat OpenShift para implementaciones de contenedores y Red Hat Cloud Suite para gestión de nube híbrida.
Canonical ha dominado el sector del escritorio en lo referente a Linux, y también ha lanzado una variante de su distribución Ubuntu especialmente pensada para HPC. Ésa a su vez se basa en Debian, con grandes características que la han hecho reinar, y con un gran soporte de hardware y proyectos interesantes creados «en casa». Sin embargo, en la lista Top500, representa un 1.6%.
Una alternativa libre y mantenida por la comunidad con similitudes con Ubuntu es Debian. Ésta también se basa en paquetería DEB, y ofrece una base sólida para servidores, con una amplia disponibilidad de software.
Aunque poco a poco ha ido perdiendo terreno tras los cambios que hizo Red Hat, CentOS sigue siendo un distro mantenida por la comunidad y basada en RHEL. Como Debian, se aprecia su robustez, seguridad y estabilidad, pero en este caso basada en paquetería RPM.
Es un sistema operativo basado en Linux desarrollado por Cray para sus propias supercomputadoras, ya que está especialmente optimizado para hardware Cray, y con herramientas específicas para HPC. A diferencia de las anteriores, no es una distro disponible para uso general, ya que Cray no permite su uso fuera de sus clientes.
Desarrollado por Hewlett Packard Enterprise (HPE) para sus supercomputadoras Cray, recuerda que antes comenté que HPE compró Cray para reforzar su presencia en el sector y poder luchar con otros gigantes como Dell, Lenovo, IBM, Fujitsu, etc. Similar a Cray Linux Environment, optimizado para la arquitectura Cray y ofrece herramientas específicas para HPC, tampoco disponible para uso general…
Bull desarrolló esta distro para sus supercomputadoras. Está optimizado para el hardware que ofrece esta compañía, y no se conocen demasiados detalles al respecto, pese a ser el 1.6% del TOP500.
Basado en Linux, se trata de un sistema operativo de tiempo real (RTOS) desarrollado para aplicaciones críticas que requieren fiabilidad y baja latencia. Este sistema tiene una cuota en Top500 similar al sistema de Bull y al de Canonical.
Distribución comercial de Linux empresarial desarrollada por Oracle. Basada en Red Hat Enterprise Linux (RHEL) y ofrece soporte para productos y tecnologías de Oracle. Aunque en este caso, sí está disponible para uso general, para el que lo quiera. Y, hay que decir, que aunque fue una distro bastante respetada, poco a poco se ha ido convirtiendo en un ecosistema más cerrado, más como quiere Oracle, por lo que ha perdido popularidad para uso general…
He citado algunas distros Linux para HPC, pero es casi imposible citarlas todas. Además de las anteriores, también hemos visto la proliferación de otros sistemas como Rocky Linux, VEOS, AlmaLinux, NVIDIA DGX OS, Scientific Linux o CCentOS, Amazon Linux, Kylin Linux, Sunway RaiseOS, etc.
También te recomiendo leer sobre las mejores distros Linux
Microsoft también ha creado una versión de Windows, basada en Windows NT, para HPC, como es Windows Server. Se diferencia del Windows para PC en algunos detalles, como su optimización para este sector, las herramientas de administración y configuración avanzadas, más robustez, estabilidad, y seguridad que el Windows base.
Es fácil de administrar, y es compatible con una gran cantidad de software, al igual que la plataforma de escritorio. Sin embargo, no es el más estable, ni el más seguro, y su licencia no es barata. Esto unido al dominio aplastante de Linux, han hecho que su presencia en HPC sea poca, especialmente en grandes máquinas, aunque sí está presente en mayor porcentaje en servidores más pequeños. Y, como no, disponible en multitud de servicios en la nube, como la propia Azure de Microsoft.
Puedes leer nuestra comparativa entre servidores rack, blade y torre
Muchos de los anteriores sistemas han tenido que portarse para soportar arquitectura Arm, ya que últimamente ha hecho acto de presencia en x86.
Los sistemas operativos multikernels son una arquitectura que se basa en la ejecución de múltiples kernels independientes en un solo sistema, a diferencia de los tradicionales, con un solo núcleo. Estos sistemas, debido a sus características, también fueron usados en algunos sistemas HPC.
Por ejemplo, al tener varios núcleos independientes, cada uno cuenta con su propio espacio de direcciones y procesos, y se pueden comunicar entre sí. Esto permite mayor modularidad, escalabilidad, y fiabilidad al aislar fallos, ya que si un kernel falla, el resto puede continuar.
No obstante, estos sistemas no han sido jamás mayoría en el sector HPC, sino que se han usado junto a otros sistemas de los citados anteriormente para tareas específicas…
Un sistema operativo multikernel de código abierto diseñado para ser modular, seguro y escalable. Destaca especialmente por su sencillez y facilidad de mantenimiento, lo que lo hace interesante para el HPC.
Desarrollado por la Universidad de Nueva York, y como sistema experimental, se basa en el microkernel OKL4, con un enfoque especialmente pensado para la seguridad.
No hay que confundirlo con los *nix, o tipo Unix, sino que es un SO multikernel desarrollado por la Universidad de California, Berkeley. Se basa en el núcleo SeL4, también pensado para la seguridad, así como un lenguaje de programación para gestión de recursos llamado NixExpr, de ahí su nombre…
IHK/McKernel es un proyecto de código abierto diseñado para ser modular, eficiente y escalable.
Utiliza un microkernel llamado «IHK» y kernels de usuario especializados para optimizar el rendimiento de diferentes aplicaciones.
Otro sistema de código abierto basado en L4, con mejoras para la seguridad, modularidad y adaptabilidad para diferentes necesidades dada su flexibilidad.
Un sistema operativo multikernel de investigación desarrollado por la Universidad Técnica de Múnich. En este caso la base es SeL4, y con la seguridad como pilar central de su desarrollo.
Un microkernel de código abierto diseñado para ser pequeño, rápido y seguro. Se basa en la arquitectura RISC-V y ofrece un conjunto mínimo de funcionalidades para la ejecución de aplicaciones seguras y eficientes. Un proyecto interesante debido la creciente presencia de RISC-V…
Puedes dejar tus comentarios…
La memoria HBM ha llegado como una buena alternativa a la DRAM tradicional, consiguiendo mayores…
Se han detectado unos procesadores AMD Threadripper "Shimada Peak" de 96 y 16 núcleos basadas.…
En esta guía te voy a explicar cómo gestionar usuarios en Windows 11. Entre otras…