Notas de investigaciónUso de la informática de alto rendimiento en la lucha contra el VIH

Kristin Firth y Mia Matusow

Al pensar en las personas que llevan a cabo investigaciones médicas, ¿sólo imagina hombres y mujeres con la característica bata blanca de laboratorio trabajando con tubos de ensayo y microscopios? ¿Quizás un equipo de químicos en una universidad o una compañía farmacéutica? Éstos son las ideas más comunes y reales que normalmente se tienen sobre la investigación médica, pero sólo representan

uno de los aspectos de todo el campo. En el mundo real, parte del amplio campo de la investigación médica se lleva a cabo en entornos muy diferentes.

Quizás se sorprenda al conocer que Microsoft Research juega un papel fundamental en el esfuerzo por desarrollar una vacuna para el virus de la inmunodeficiencia humana (VIH). Además, Microsoft no usa para ello ningún tipo de instrumento o instalación de laboratorio. El ambiente es más el de una oficina, amueblada con mesas y muchos PCs.

Así que, ¿qué papel juega Microsoft en toda esta investigación? Esas personas con batas de laboratorio blancas (los científicos de varias universidades y centros de investigación, incluidos el hospital Massachusetts General en Boston, la Universidad de British Columbia, la Universidad de Washington, el Fred Hutchinson Cancer Research Center y Murdoch University en Australia) reúnen grandes cantidades de datos en sus proyectos. El grupo eScience de Microsoft Research, que cuenta con unas seis personas ubicadas principalmente en Redmond, Washington (y una persona en Nuevo Méjico), ayuda a estos investigadores a procesar y analizar enormes cantidades de datos. Microsoft Research se integró en este proyecto en el año 2003 y hoy en día el grupo eScience colabora con científicos en varios de proyectos que tratan de solucionar los problemas que afectan a la sociedad. El equipo trabaja muy de cerca con científicos externos, creando soluciones personalizadas para proyectos, analizando detalladamente cifras y resultados.

Microsoft colabora en un proyecto de alta prioridad para analizar los datos relacionados con los patrones de mutación del VIH. David Heckerman, médico y doctorado, Investigador principal para Microsoft, explica que el VIH muta rápidamente cuando es atacado por el sistema inmunológico de una persona infectada. "Actualmente trabajamos en un estudio que intenta determinar cómo muta el VIH en respuesta al sistema inmunológico del portador. Para hacerlo, examinamos las correlaciones entre el tipo de sistema inmunológico de la persona y las secuencias de proteínas del VIH que lo infectan."

Los científicos usan las muestras de personas infectadas con VIH para determinar los tipos de sistema inmunológico y las secuencias de VIH. Aquí es donde se entiende el análisis al detalle de las cifras. El estudio busca correlaciones entre 3.000 aminoácidos del VIH y centenares de tipos de sistemas inmunológicos de centenares de personas. "Hemos diseñado pruebas estadísticas que producen correlaciones de confianza, con un número reducido de falsos positivos y falsos negativos", señala Carl Kadie, doctorado e Ingeniero principal de desarrollo de software de investigación para Microsoft. "Sin embargo, estas pruebas requieren gran cantidad de eficacia en el cálculo, por lo que a más sujetos, mayor efectividad. La idea es ejecutar millones de simulaciones para revelar las correlaciones de más confianza".

Uso de la HPC para la lucha contra el VIH

Hace sólo unos años, las limitaciones de procesamiento entorpecían los esfuerzos de investigación. Con tan sólo seis equipos, los investigadores de Microsoft implicados en este proyecto no tenían la suficiente capacidad de procesamiento para llevar a cabo los análisis en el espacio de tiempo necesario. Examinar todas las posiciones del genoma de la vacuna y los distintos tipos de sistemas inmunológicos hubiera supuesto emplear un año para analizar tan sólo 200 sujetos. Incluso si los investigadores tuvieran 20 equipos para dedicarlos por completo al análisis, se habrían encontrado con el problema de tener que llevar a cabo las pruebas manualmente en 20 equipos individuales, recibiendo 20 conjuntos individuales de resultados, por lo que hubieran necesitado otro programa (además de más tiempo) para tabular los conjuntos individuales de resultados. La administración de los múltiples trabajos, la unión de los resultados parciales y el resto de tareas individuales implicadas habrían llevado demasiado tiempo. Por lo tanto se integraron en el grupo de Informática de alto rendimiento (HPC) de Microsoft.

En 2006, los investigadores implementaron Windows® Compute Cluster Server 2003. Esta solución de HPC puso en marcha un método sencillo para que los investigadores administraran el rendimiento de muchos equipos funcionando al mismo tiempo. Esencialmente, Windows Compute Cluster Server permite distribuir el trabajo a través de los nodos de servidor que se ejecutan en paralelo. La tarea de distribuir los datos entre los nodos, administrando los datos y combinando los resultados se ha automatizado por completo. La solución incluye los procedimientos de instalación, un conjunto de herramientas de administración y un programador de trabajo integrado.

Finalmente, con esta solución, las barreras tecnológicas más significativas se han derribado: la potencia de cálculo ya no estaba limitada y el proceso de distribución del trabajo y la administración de datos se automatizó por completo.

La instalación

Para Microsoft Research, el clúster de cálculo supuso una gran ventaja. Windows Compute Cluster Server 2003 es ideal para proyectos que implican aplicaciones que realizan la misma operación repetidamente, por ejemplo, cuándo la resolución de problemas y el análisis pueden acelerarse ejecutando tareas en paralelo. Sin embargo, la implementación de esta solución no debería emprenderse a la ligera, pues la informática de alto rendimiento puede ser excesivamente intensiva, especialmente en términos de energía y enfriamiento. Implica varios servidores que, a menudo, funcionan al 100 por cien de uso de CPU durante semanas.

Los pasos siguientes tienen como objeto determinar las dimensiones del clúster que puede permitirse la organización y dónde se puede almacenar. Si el entorno ya se basa en Windows con Active Directory® en uso, los administradores disponen de la infraestructura que necesitan para instalar, implementar y ser compatible con un clúster. En los entornos en los que Active Directory no está en uso, se requieren una serie de pasos de configuración adicionales.

Debe decidir también cómo disponer los nodos dentro del clúster de cálculo, lo cual implica usar las herramientas que vienen con Compute Cluster Server 2003 o usar sus propias técnicas internas de implementación. Necesita implementar Compute Cluster Server 2003 junto con las aplicaciones de software que desea ejecutar en el clúster. Debe configurarse también el acceso del usuario al clúster de modo que los usuarios tengan la capacidad de conectar con el clúster y de enviar trabajos, lo cual puede realizarse a través de la IU gráfica incluida o a través de interfaces de línea de comandos.

Compute Cluster Server 2003 es un sistema operativo de 64 bits. (La arquitectura típica de un entorno de Compute Cluster Server 2003 se ilustra en la figura 1.) En el momento en el se escribía esta columna (junio 2007), Microsoft Research ejecutaba una variedad de aplicaciones diferentes en un clúster creado sobre 25 servidores IBM eServer 326. Cada uno de estos servidores cuenta con dos procesadores AMD Opteron que se ejecutan a 2,6 GHz.

Figura 1 Control de la eficacia con Windows Compute Cluster Server 2003

Figura 1** Control de la eficacia con Windows Compute Cluster Server 2003 **(Hacer clic en la imagen para ampliarla)

Tras implementar Windows Compute Cluster Server, el grupo actualizó la aplicación que lo usa para que la correlación genética se ejecute en el clúster. La complejidad de implementar las aplicaciones para los clústeres de cálculo puede variar. Las propias aplicaciones influyen en la cantidad de programación que es necesaria.

Al principio, el grupo usaba las herramientas integradas en Windows Compute Cluster Server para establecer rápidamente una IU genérica. Sin embargo, esto sólo fue una solución rápida, pronto el grupo creó su propia aplicación web personalizada, que ofrece mayor flexibilidad y es compatible con la opción de exponer algunos de los nodos de clúster a científicos no pertenecientes a Microsoft. De hecho, Microsoft forma parte del Open Grid Forum y parte de los clústeres de Microsoft Research se ponen a disposición de usuarios de otras universidades repartidas por todo el mundo, posibilitando a los investigadores colaborar y compartir la carga de trabajo.

Además de sus IU gráficas, Windows Compute Cluster Server también es compatible con operaciones de línea de comandos, permitiendo a los usuarios escribir scripts. Ofrece, asimismo, API enriquecidas que se pueden usar para escribir los programas que interactúan directamente con el programador de proyectos de Windows Compute Cluster, una técnica que Microsoft Research eligió poner en marcha.

Obtener resultados

Gracias a su uso de la informática de gran rendimiento, el grupo eScience de Microsoft Research está consiguiendo grandes avances en la carrera por el desarrollo de una vacuna contra el VIH. "Con la informática de alto rendimiento es posible acelerar el tiempo de investigación", comenta Heckerman. "Varios de los grupos externos con que colaboramos ahora usan nuestras técnicas estadísticas y comparten sus conclusiones. Y como resultado, los científicos ya proponen nuevas hipótesis para que hagamos pruebas. Antes, la obtención de resultados hubiera tardado al menos un año para cada paso del proceso. Ahora apenas tarda un solo día".

Antes de Windows Compute Cluster Server, los métodos que usaba Microsoft Research habrían sido poco prácticos debido al tiempo necesario para realizar el análisis. "Con Windows Compute Cluster Server", señala Kadie, "podemos ejecutar 50 trabajos de 200.000 tareas en la misma cantidad de tiempo que se usaba para procesar un solo trabajo".

Ahora que el grupo eScience tiene capacidades de cálculo masivo, puede realizar las pruebas con muchas ejecuciones en datos simulados. Las ejecuciones en datos simulados son críticas a la hora de determinar qué resultados en datos reales son los interesantes. Cuantas más simulaciones se lleven a cabo, más confiables serán los resultados.

Lecciones aprendidas

Microsoft Research se ha beneficiado obviamente del uso de Windows Compute Cluster Server, pero la relación es simbiótica por naturaleza. Los desarrolladores del grupo de informática de alto rendimiento, que trabajan en una segunda versión de Windows Compute Cluster Server, continúan ampliando conocimientos a partir de los comentarios que proporciona el grupo eScience.

En particular, el grupo de HPC ha aprendido mucho acerca de la asignación de recursos al supervisar y analizar el comportamiento del clúster de Microsoft Research para determinar la mejor manera de equilibrar los recursos del clúster entre múltiples usuarios. Por ejemplo, en este proyecto, un usuario normalmente crea un trabajo cada vez con una media de 50 tareas asociadas con cada trabajo. El usuario envía el trabajo y el administrador de trabajos de Windows Compute Cluster asigna suficientes recursos para administrar las 50 tareas. Para hacer esto, reclama inmediatamente que todos nodos disponibles en el clúster trabajen en las tareas. Este escenario no sería problemático en un entorno de usuario único, pero se ha convertido en un problema en un entorno multiusuario donde es muy importante que los proyectos progresen simultáneamente.

Actualmente, cuando se completan 10 de las 50 tareas del trabajo, los 10 servidores no se quedan libres. El Administrador de trabajos espera hasta que se hayan completado las 50 tareas del trabajo antes de dejar libres los servidores para que gestionen otro trabajo. Los desarrolladores de HPC trabajan ahora para obtener un método de reasignar los recursos al completarse cada tarea, no el trabajo total.

Microsoft Research contó también con el grupo de HPC para ayudar a resolver problemas específicos que pertenecían a la manera en la que investigadores deseaban usar Windows Compute Cluster Server. Especialmente, los investigadores deseaban configurar la seguridad para que las credenciales del usuario se propagaran automáticamente desde el front-end web hasta el clúster de cálculo. La solución fue trabajar dentro de Microsoft® .NET Framework y ampliar la autenticación mediante formularios de ASP.NET para que la aplicación web pudiera suministrar los nodos de clúster con credenciales de usuario completas cada vez que un usuario enviaba un trabajo.

Ahora los miembros del equipo eScience en Microsoft Research y sus compañeros de todo el mundo pueden centrarse en las partes más importantes de sus trabajos y dejar todas las tareas implicadas en procesamiento y administración de datos a los equipos. "Como resultado, podemos llegar aún más lejos como equipo", dice Heckerman. "Estamos sobrepasando los límites de lo que se conoce hasta ahora sobre el VIH y progresamos muy satisfactoriamente en la lucha contra la enfermedad".

Kristin Firth y Mia Matusowambas pertenecientes a Blue Line Writing & Editing, han pasado la última década creando contenido estratégico para organizaciones empresariales en los sectores público y privado en tres continentes.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.