Linux y la supercomputación

Linux, es un sistema operativo libre tipo Unix; multiplataforma, multi-usuario y multi-tarea y resulta de la combinación de varios proyectos, entre los cuales destacan GNU y el núcleo Linux (encabezado por Linus Torvalds), que aparecieron a mediados de la década de 1980. A Linux se le encuentra normalmente en forma de compendios conocidos como distribuciones o distros, a las cuales se les han adicionado selecciones de aplicaciones y programas para descargar e instalar las mismas. El propósito de una distribución es ofrecer un producto final que el usuario pueda instalar, así como cumplir con las necesidades de un determinado grupo de usuarios.

Algunas de ellas son especialmente conocidas por su uso en servidores y supercomputadoras, donde Linux tiene la cuota más importante del mercado. Según un informe de IDC y la lista bianual TOP500 es la referencia clara desde hace años a la hora de hablar de las supercomputadoras más potentes del mundo, Linux es utilizado por el 78% de los principales 500 servidores del mundo pero por el 100% de los 500 mayores superordenadores.​ Con menor participación, el sistema Linux también se usa en el segmento de las computadoras de escritorio, portátiles, computadoras de bolsillo, teléfonos móviles, sistemas embebidos, videoconsolas y otros dispositivos.

Linux mantiene muchas semejanzas con UNIX, el Sistema Operativo que dominaba la supercomputación hace años y gracias precisamente a esta similitud ha sido más sencillo migrar los grandes ordenadores a Linux, cuya licencia de uso es gratuita frente a UNIX. Además, Linux ofrece muchas ventajas que han resultado fundamentales como son:

  1. Modularidad: la capacidad de personalización y la versatilidad de Linux se basan en su legendaria modularidad. Linux es capaz de adaptarse a los entornos más reducidos (IoT) y también a los más ambiciosos (supercomputación) gracias a una arquitectura modular en la que los componentes van añadiéndose o quitándose según las necesidades.
  2. Un núcleo multidisciplinar: el kernel Linux que da nombre a todo el sistema operativo es también la clave de esa versatilidad, porque en él encontramos soporte genérico para todo tipo de tecnologías, tanto aquellas que afectan al usuario final como las dedicadas a nichos mucho más específicos. Al compilar el núcleo el usuario o desarrollador puede ir eligiendo qué características quiere activar, logrando así que el propio nucleo se adapte a las necesidades concretas de la máquina en la que ese núcleo va a gobernar el resto de componentes del sistema operativo.
  3. Escalabilidad: la capacidad de un servidor de adaptarse a cargas elevadas y la eficiencia o las prestaciones con las que lo hace es también otra de las ventajas de un sistema operativo que como decimos puede crecer (o decrecer) conforme a las necesidades. No en vano encontramos Linux tanto en estas supercomputadoras o en grandes centros de datos como en nuestros smartphones (Android) o incluso en nuestros televisores o microondas.
  4. Open Source: la naturaleza abierta de Linux hace que se convierta en la alternativa perfecta para que todo tipo de desarrollos puedan tener acceso total al sistema operativo para adaptarlo a sus necesidades, algo muy difícil (o imposible) en otras alternativas en las que solo los fabricantes o desarrolladores originales pueden «toquetear». La maximización del rendimiento que es posible lograr con Linux hace que los responsables de esas supercomputadoras puedan ajustar todos los elementos de este sistema operativo a los recursos hardware específicos con los que cuentan. Una simbiosis software/hardware que podríamos comparar a la que Apple ofrece en sus dispositivos.
  5. Coste: otro de los factores clave es evidentemente el del coste de las tradicionales licencias, que era altísimo en el caso de sistemas operativos comerciales y que es cero en el caso de las distintas distribuciones y variantes Linux usadas en estos supercomputadores. Hay desde luego un coste a la hora de adaptar esas distribuciones a una supercomputadora en concreto, pero eso forma parte de esas tareas de maximización del rendimiento.

Gracias a estas características, el sistema operativo Linux comenzó a aparecer en esa lista de los 500 mayores superordenadores del mundo hace casi 20 años. Lo hizo en la lista de junio de 1998, donde aparecía el Avalon Cluster de Estados Unidos, con 140 procesadores Alpha EV56 en la posición 259. La lista estaba plagada de supercomputadores en las que se usaban variantes comerciales de Unix como IRIX (Silicon Graphics), UNICOS (Cray), AIX (IBM) o Solaris (Sun), y en ella tampoco había presencia de Windows o MacOS, que por entonces estaban casi totalmente dedicados al segmento del usuario final.

Las cosas empezaron a cambiar en los años siguientes, pero el sistema operativo de Apple jamás tuvo una presencia notoria en dichas listas de supercomputadores. Su máxima popularidad la alcanzó en noviembre de 2005 y junio de 2006, cuando 5 sistemas hacían uso de este sistema operativo. En noviembre de 2008 tan solo uno lo hacía, momento a partir del cual macOS desapareció de la lista.

Windows tuvo un comportamiento similar en todo ese tiempo, y su presencia en la lista TOP500 fue testimonial. Algunos sistemas se mantuvieron más años en la lista, pero nunca hubo más de 4 supercomputadoras en total en toda la lista basadas en dicha plataforma, que desapareció de la lista tras la edición de junio de 2015.

El crecimiento de Linux en cuota de mercado en el mundo de la supercomputación ha sido espectacular, sobre todo entre noviembre de 2002 y noviembre de 2009. En esos años se pasó de las 71 supercomputadoras que en aquel momento usaban Linux a las 448 que lo hacían en el final de esa etapa.

Ni Windows ni macOS pudieron  competir en este ámbito precisamente porque no cuentan con esas características mancionadas anteriormente. Es cierto que Microsoft hizo esfuerzos en este sentido con una edición específica para clústeres que luego se integró dentro de su Windows Server pero la apuesta más relevante en este campo la realizó con Windows HPC 2008. Aquella edición especial de Windows sí tuvo cierta relevancia en el mundo de la supercomputación, y tenemos un ejemplo en el supercomputador Magic Cube, que se utilizó en el Shanghai Supercomputer Center y que constaba de procesadores Opteron quad-core, con un total de 30.720 núcleos y 122.880 GB de memoria. Aquella máquina que ofrecía un Rmax en Linpack de 180,6 TFLOPS llegó a estar en el puesto 11 de la lista TOP500 en noviembre de 2008.

Aquel esfuerzo, no obstante, no parece haber caído en saco roto, porque Microsoft Azure es en realidad un gigantesco clúster de máquinas con Windows Server en las que se ejecutan todo tipo de servicios en los que la virtualización, las bases de datos o el almacenamiento permiten acceder a opciones realmente potentes (incluidas aquellas que permiten montar servidores Linux en Azure, algo impensable hace algunos años y que ahora es cada vez más común).

Por otra parte,  los responsables de Apple no obstante siempre han tenido claro que no querían licenciar este sistema operativo a otro tipo de máquinas que no estuvieran fabricadas por ellos, y de hecho las apuestas de Apple en este sentido han sido tímidas. Mac OS X Server 1.0, por ejemplo, fue la primera versión de este sistema operativo que acabaría totalmente centrado en el usuario final, aunque su evolución ha continuado a lo largo de los años con una orientación clara a «pequeños» servidores que se apartan totalmente del mundo de la computación.

Por todas estas razones, Linux se ha quedado como Sistema Operativo único en los grandes centros de supercomputación … además de emplearse en móbiles, ordenadores de sobremesa etc….. Y TODO ELLO GRATIS !!!!. Eso sí, siempre recomendamos que se haga algún tipo de aportación a la distribución de Linux que vayais a instalar para que siga mejorando este excelente Sistema Operativo.

FUENTE: Xataka

Sobre ROBOTechnics 121 artículos
Robotica educativa y programacion

Sé el primero en comentar

Dejar una contestacion