Tecno4all

“Great spirits have always encountered opposition from mediocre minds.”
Albert Einstein

domingo, enero 22, 2006

Supercomputadoras corriendo Windows


Es bien conocido, un hecho, que ninguna de las supercomputadoras más rápidas del mundo usan alguna versión de Windows. Las versiones de Windows no están desarrolladas pensando en eficiencia de computación, sino en conveniencia y usabilidad. Nada malo con eso, pero esa filosofía de diseño no te lleva a ningún lado en el mundo de las supercomputadoras. Por eso lo que se usa es GNU/Linux: 4 de las 5 supercomputadoras más rápidas usan Linux.


Pero leo en la edición de noviembre 21 de InformationWeek (estoy algo atrasado en mis lecturas) que Microsoft está tratando de incursionar en el mercado de "High Performance Computing" (HPC). Tienen un producto en versión de prueba ("beta") llamado Windows Computer Cluster Server 2003.

Cualquier proyecto de naturaleza crítica que requiera "clusters" y se suscriba a esta alternativa de Microsoft correrá peligro. Microsoft para todos los efectos está comenzando, es un "newbie" en esta categoría de la computación. Apenas ahora está comenzando a reclutar gente para trabajar en el área. La mayoría de los expertos en software para supercomputadoras y "clusters" no usan Windows ni están en el campamento de Microsoft, están en el de Linux. Lo que esto implica es que si Microsoft no logra obtener los mejores desarrolladores para su proyecto HPC, no le irá bien en el mercado compitiendo con los verdaderos expertos. Los "clusters" Windows correrán la misma suerte que el Internet Explorer en la Mac: se quedarán sin apoyo, sin nuevas versiones y a la deriva.

También encuentro inquietantes estas declaraciones de Microsoft:

Also in the works are visual-development environments for scientists and extensions to Office apps for scientific note-taking or outsourcing Excel calculations to remote systems. "We can make this technology available to more people," Mundie contends. "Today, there's too high a degree of wizardry."
Usar ambientes visuales para manejar los "clusters" y el flujo de datos y procesos está muy bien. Pero, ¿qué hay de malo en tener "wizardry"? Esta tendencia de Microsoft en pensar en sus usuarios como idiotas es irritante. Nos están diciendo: para hacer supercomputación no necesitas conocer de software, ni de computación, sólo necesitas hacer clic. Quien crea eso no irá muy lejos, por ejemplo, en bioinformática, o al menos sólo irá tan lejos como Microsoft mismo pueda llegar. La bioinformática es un campo emergente, dinámico, que lo más que necesita son mentes creativas, "wizardry".

Otra cosa: ¿Excel como herramienta de supercomputación? Apenas permite hacer modelos de regresión básicos y se conoce, desde hace muchos años, sobre sus deficiencias en algunos cálculos estadísticos, deficiencias que Microsoft no se molesta en arreglar, porque no le interesa. ¿Es en eso lo que nos piden confiar? Utilizo Excel con mis estudiantes para hacer una rápida exploración de datos, pero inmediatamente los hago leer estos artículos:


Lean este otro comentario:

The company also is designing new capabilities for its graphical development tools that could help scientists program those clusters. "Scientists have all this data but can't really bring it together and get insights into it," Gates said. "They spend a lot of their time not thinking deep scientific thoughts but rather re-entering data and writing code that they shouldn't have to."
Ese último comentario de Bill Gates denota una tremenda ignorancia sobre la investigación científica asistida por computación. Si un investigador desea aplicar un nuevo análisis sobre sus datos, un nuevo algoritmo debe ser creado, líneas de código deben ser escritas. Si el método es creación del mismo investigador, tendrá que codificarlo en software o conseguir a alguien que lo haga. La habilidad de programar siempre será necesaria tenerla al alcance. Los investigadores no deben confiar ciegamente en el resultado final de un producto cerrado de Microsoft, un código que no podemos ver ni ajustar si es erróneo. Sin embargo, vemos como Microsoft trata la habilidad de programar como innecesaria y que se debe evitar en la comunidad científica. Imagino que es una buena estrategia para no tener competencia: "No programes, eso es tedioso y te roba tiempo; nosotros lo hacemos por tí".

Este comentario, también de Bill Gates, deja ver el verdadero mercado que quiere abordar:

"If you can let somebody submit a job onto the Internet and find the cheapest place to run it, that's not just interesting for scientific cluster computing, that's interesting for business computing," Gates said. Rare types of analyses or jobs that run remotely in a disaster-recovery scenario could benefit from the resource-sharing work Microsoft is developing. "We'll get plenty of benefits from these advances in the business realm," he added.
Microsoft diseña sus productos pensando en sus clientes corporativos: grandes y pequeños negocios. El que sus productos tengan aplicación en la Academia es un efecto secundario, no intencional, al cuál han sabido sacarle provecho. Lo que anticipo es que su mejor apoyo y trato lo recibirán las grandes corporaciones que quieran hacer minería de datos y usar productos que implementen inteligencia de negocios ("business intelligence"). Los proyectos académicos le servirán como escenarios de prueba y como un artefacto promocional.

La competencia es bienvenida. No es que Microsoft no deba entrar al mercado de la supercomputación. Que lo haga. Pero sospecho que muchos investigadores que quieren entrar en el área de la bioinformática pudieran errar creyendo en la filosofía "no tienes que saber de computadoras para hacer supercomputación". Microsoft tuvo éxito con la filosofía "para usar una computadora no tienes que saber nada sobre ellas", hasta que los que sí saben de computadoras hicieron estragos con su seguridad. Por eso en Windows Vista, la próxima versión de Windows, los usuarios verán que tendrán que conocer más sobre la administración de la máquina y su software. Sin saberlo, empezarán a aprender cómo funciona Linux .

Si un investigador requiere de "clusters" para su investigación y quiere sacarle el máximo, tiene estas alternativas:

  • aprender más sobre programación y el manejo de "clusters"
  • contratar a alguien que pueda hacerlo o aprenderlo

La oferta de Microsoft Windows Compute Cluster Server 2003 no es una alternativa segura ni ventajosa. Si Microsoft llega a sus puertas vendiendo sueños de supercomputación sin pasar trabajo, dígale que el que está soñando es su jefe en Redmond.