Grandes desafíos requieren grandes recursos y en el mundo de la supercomputación claro está que el software libre lleva la ventaja sobre todos los demás.El pasado 23 de junio eran publicados los datos de la famosa lista Top 500 de supercomputación con la que se ponía de manifiesto esta afirmación. Diecinueve de los veinte mejores supercomputadores del mundo utilizan sistemas operativos basados en Linux. Se hacemos extensible a afirmación a la lista completa, Linux está presente en el 88,6% (439 de los 500 supercomputadores) de los sistemas listados.
El supercomputador más potente del mundo, el Roadrunner de IBM en México, corre bajo Linux, el Marenostrum en Cataluña emplea Suse Linux o, como ejemplo más próximo, el Finisterrae del Centro de Supercomputación de Galicia (Cesga) en Santiago de Compostela también hace uso de esta distribución (Suse Linux es una de las distros más populares empleadas dentro de los sistemas operativos Linux referenciados en la lista).
Los datos de esta jerarquía, en los que se publicita semestralmente cuáles son los supercomputadores más potentes del mundo, vienen mostrando en sus últimas ediciones que en este campo -junto con el, ya más que ganado, ámbito de los servidores- Linux tiene desbancado al predominante sistema operativo Windows, que sólo consigue aquí un 1% (5 de los 500 supercomputadores). Una cifra que contrasta claro con los datos de uso manejados en el campo de los escritorios de los usuarios finales, donde el sistema operativo libre no consigue superar tampoco el 1% -según diferentes estudios basados en las estadísticas de uso de los navegadores web.
Aunque la idea de la victoria de Linux sobre Windows en una batalla en igualdad de condiciones satisfaría probabelmente la muchas personas del mundo informático, la realidad es que Linux no se imponen en la supercomputación por tener derrocado al sistema del gigante Microsoft, sino por hacerlo ante Unix, el anterior sistema dominante. En otras palabras, y aunque la empresa norteamericana lo esté intentando con Windows Server HPC Edition, no existe sistema operativo propuesto por la compañía que permita un bueno clustering.
Pero por que Linux y el software libre se imponen en este campo?
La empresa IBM, anteriormente centrada en su propia versión del sistema UNIX, AIX, cambió radicalmente de rumbo en el año 2002 -con la construcción del supercomputador BlueGene- dirigiendo su propuesta hacia Linux. El investigador Bill Pulleyblank de la compañía explicaba este cambio en un artículo de ZDNet de la siguiente manera: “escollimos Linux porque es abierto y porque crimos que sería perfectamente escalábel para el tamaño de Blue Gene. Vimos grandes ventajas en emplear un sistema operativo asistido por la comunidad de software libre, de suerte que pudiéramos beneficiarnos de sus integraciones y del trabajo colaborativo”.
Sin abandonar el mundo de los fabricantes, también José Emilio Permuy , director general de Silicon Graphics en España, afirmaba en el año 2003, en relación al lanzamiento de sus sistemas Altix 3000 basados en Linux e Itanium 2, que se trataba de uno hito en el mundo de Linux y que contradecía las opiniones de aquellos que pensaban que “este sistema operativo no podía escalar y no era adecuado para el contorno de la supercomputación”.
Interpretaciones similares se aplican ahora a los distintos programas que son empleados en un supercomputador para la consecución de los diferentes objetivos científicos. En el Centro de Supercomputación de Galicia, donde se encuentra el Finisterrae, uno de los supercomputadores más potentes de la Península, y donde casi el 100% de los aplicativos usados en este son de código abierto también coinciden en apreciacións del incluso estilo. Andrés Gómez, coordinador del Departamento de Aplicaciones y Proyectos del Cesga, asegura que “los investigadores casi siempre prefieren abrir sus aplicativos por diferentes motivos: para que les ayuden a desarrollarlos, para poder ser más citados y para hacer más sencilla la adaptación a las distintas arquitecturas”.
En definitiva y, más al por menor, se coincide frecuentemente en señalar cinco factores como determinantes a la hora de optar por las tecnologías libres en el cálculo intensivo: transparencia; potencia, estabilidad y flexibilidade; ahorro económico; independencia de la plataforma; y respeto a los estándares.
El criterio de la transparencia entronca perfectamente con la tradición científica de hacer públicos todos los procedimientos de investigación. El director del Cesga, Javier García Tobio, apuntaba en una ocasión que “la ciencia no sabe de fronteras y que tiene que estar disponible para todos los usuarios de este planeta”. La declaración no la hacía refiriéndose al uso del software libre, aunque podría adaptarse perfectamente. En la producción científica y del conocimiento no deben existir trabas que coarten su avance. Mayor libertad produce mejores sistemas y esto lo saben perfectamente los que configuran supercomputadores y los que lo usan.
Emplear cualquier otra alternativa propietaria supondría hacer uso de una herramienta a modo de caja negra, en la que se meten ciertos datos para obtener ciertos resultados, desconociendo totalmente el proceso interno. Esto resulta contraproducente en cualquier ámbito, pero especialmente en el campo de la investigación, puesto que para conseguir el máximo rendimiento de una máquina es preciso conocer su funcionamiento. Graficamente, podríamos estabelecer un sencillo símil con el uso de una calculadora en la que se introduce una operación, pero la cual podría ser ejecutada también directamente con un lapis y un papel. Con el software propietario el lapis y el papel están vedados.
Otra gran ventaja de los sistemas libres son la sus características técnicas. Habitualmente, estos son más estables, seguros y flexibles, además de que consiguen conseguir mejores resultados de rendimiento. La este respeto el director del Centro de Supercomputación de Barcelona, Juan José Puertas, comentaba en unas declaraciones que “los expertos del Centro consideran Linux como el paradigma del alto rendimiento gracias a la escalabilidade y la flexibilidade de las soluciones que ofrece”.
En muchos casos un cálculo de grandes dimensiones requiere la adaptación de diferentes componentes para poder optimizar el funcionamiento de todo el conjunto (servidores, red, drivers...), y esto sólo lo ofrece un aplicativo libre, sin necesidad de depender de terceros (independencia de la plataforma).
Especial importancia adquiere en estos momentos de crisis económica el hecho del ahorro que suponen el uso de tecnologías libres. Por lo regular, el software libre es gratis y no exige el pago de licencias, lo que abarata, de alguna manera, los presupuestos de la supercomputación. A cuyo objeto, en el Cesga “hay muy pocos aplicativos privativos de uso abierto para todos los usuarios (solo Gaussian, Amber y Matlab) y además, aunque algún usuario tiene instalados aplicativos que mercan ellos, la política del Centro es instalare siempre que sea posible aplicativos de código abierto”, explica Andres Gómez.
El futuro sigue presentándose esperanzador para la tecnología libre en el campo de la supercomputación, donde parece que su influencia continuará incrementándose. Pero se llegará la un punto en el que el software privativo sea erradicado de este campo? Andrés Gómez no lo piensa así, “no creo que se erradique de pies a cabeza, ya que hay muchos años de trabajo en algunos aplicativos que no son donados de sustituir -los aplicativos de cálculo científico pueden tener una vida útil de decenas de años y tiempos de desarrollo muchos más años-. En los códigos técnicos seguirán conviviendo, pero cada día a entrada del software abierto será más fuerte”.
Quizás el hecho de que los científicos confien en la tecnología libre para temas tan importantes para la vida diaria debería ser suficiente para que el usuario comience a hacerlo también.