Notes de rechercheUtilisation de l'informatique hautes performances dans la lutte contre le VIH

Kristin Firth et Mia Matusow

Lorsque vous pensez à des personnes réalisant des recherches médicales, imaginez-vous des hommes et des femmes en blouses blanches manipulant des éprouvettes et des microscopes ? Peut-être imaginez-vous une équipe de chimistes dans une université ou une entreprise pharmaceutique ? Ce sont là des images courantes et certes réelles de la recherche médicale, mais elles n'en représentent

qu'un aspect. En réalité, certaines recherches médicales sont réalisées dans des endroits très différents.

Vous serez peut-être étonné d'apprendre que Microsoft Research joue un rôle essentiel dans les efforts de développement d'un vaccin contre le virus d'immunodéficience humain (VIH). Qui plus est, sans un seul bec Bunsen, dans des bureaux classiques équipés de nombreux ordinateurs.

Quel rôle joue donc Microsoft dans toute cette recherche ? Ces gens en blouse blanche (les chercheurs des divers centres de recherche et universités, tels que Mass General à Boston, la University of British Columbia, la University of Washington, le Fred Hutchinson Cancer Research Center et la Murdoch University en Australie) réunissent d'énormes quantités de données au cours de leurs projets. Le groupe eScience de Microsoft Research, composé d'une demi-douzaine de personnes environ, basées pour la plupart à Redmond, dans l'État de Washington (plus une personne au Nouveau Mexique), aide ces chercheurs à traiter et analyser d'énormes quantités de données. La participation de Microsoft Research à ce projet remonte à en 2003 et aujourd'hui, le groupe eScience collabore avec des scientifiques sur toute une variété de projets traitant de problèmes affectant la société. L'équipe travaille en étroite collaboration avec des scientifiques externes, créant des solutions personnalisées pour les projets, effectuant de nombreux calculs et analysant les résultats.

Dans un projet haute priorité, Microsoft aide à analyser des données relatives aux modèles de mutation du VIH. David Heckerman, MD, PhD, chercheur senior pour Microsoft, explique que le VIH se transforme rapidement lorsqu'il est attaqué par le système immunitaire d'une personne infectée. « Nous travaillons sur une étude qui tente de déterminer comment le VIH se transforme pour répondre au système immunitaire de l'hôte. Pour ce faire, nous recherchons des corrélations entre le type de système immunitaire d'un individu et les séquences de protéine du VIH qui l'infectent ».

Les scientifiques utilisent des échantillons provenant de personnes infectées par le VIH pour déterminer les types de système immunitaire et les séquences de VIH. C'est là qu'interviennent les calculs. L'étude recherche des corrélations entre 3 000 acides aminés du VIH et des centaines de types de système immunitaire sur plusieurs centaines d'individus. « Nous avons conçu des tests statistiques qui produisent des corrélations plus fiables, avec moins de faux positifs et négatifs » commente Carl Kadie, PhD, ingénieur de développement de logiciel de recherche principal pour Microsoft. « Cependant, ces tests exigent une énorme puissance de calcul et plus le nombre de sujets inclus sera élevé, mieux ce sera. L'idée est de réaliser des millions de simulations pour révéler les corrélations les plus fiables ».

Utilisation de l'informatique hautes performances dans la lutte contre le VIH

Il y a encore quelques années, des restrictions de traitement entravaient les efforts de recherche. Armés de seulement une demi-douzaine d'ordinateurs, les chercheurs Microsoft impliqués dans ce projet ne disposaient pas d'une puissance de traitement suffisante pour réaliser les analyses dans un délai approprié. Il aurait fallu une année entière pour examiner chaque position le long du génome du vaccin et les types immunologiques différents pour 200 sujets seulement. Même s'ils disposaient de 20 ordinateurs consacrés à cette analyse, les chercheurs auraient été forcés d'exécuter les tests manuellement sur 20 ordinateurs séparés, auraient reçu 20 séries individuelles de résultats et auraient eu besoin d'un autre programme (et de plus de temps) pour tabuler les séries de résultats séparées. La gestion de tâches multiples, le rassemblement de résultats partiels et toutes les autres tâches individuelles impliquées auraient pris trop de temps. Ils se sont donc adressés au groupe High-Performance Computing (HPC) de Microsoft.

En 2006, les chercheurs ont implémenté Windows® Compute Cluster Server 2003. Cette solution HPC leur offrait un moyen simple d'exploiter la puissance de plusieurs ordinateurs travaillant en collaboration. Windows Compute Cluster Server permet en fait la répartition du travail sur des nœuds de serveur exécutés en parallèle. L'ensemble de la tâche de distribution des données sur les nœuds, de gestion des données et de combinaison des résultats est automatisé. La solution inclut des procédures d'installation, une suite d'outils de gestion et un planificateur de tâches intégré.

Enfin, avec cette solution, les principaux obstacles techniques ont été surmontés : la puissance de calcul n'était plus restreinte et le processus de distribution du travail et de gestion des données était entièrement automatisé.

Installation

Pour Microsoft Research, l'approche du cluster de calcul était idéale. Windows Compute Cluster Server 2003 est adapté aux projets qui impliquent des applications réalisant continuellement les mêmes opérations (par exemple, lorsque la résolution et l'analyse des problèmes peut être accélérée en exécutant des tâches en parallèle). Cependant, le déploiement de cette solution ne doit pas être envisagé à la légère, puisque l'informatique hautes performances peut coûter cher en capital, surtout en termes d'alimentation et de refroidissement. Il nécessite plusieurs serveurs qui sont souvent exécutés à 100 % d'utilisation du processeur pendant des semaines.

Les étapes suivantes consistent à déterminer quelle taille de cluster l'organisation peut se permettre et où le stocker. Si un environnement est déjà basé sur Windows avec Active Directory® en place, les administrateurs ont l'infrastructure nécessaire pour installer, déployer et prendre en charge un cluster. Dans les environnements où Active Directory n'est pas encore utilisé, certaines étapes de configuration supplémentaires sont nécessaires.

Vous devez également décider comment configurer les nœuds dans le cluster de calcul, c.-à-.d. choisir d'utiliser les outils fournis avec Windows Compute Cluster Server 2003 ou vos propres techniques de déploiement internes. Vous devez déployer Windows Compute Cluster Server 2003 avec les applications logicielles que vous souhaitez exécuter sur le cluster. L'accès des utilisateurs au cluster doit également être établi de sorte que les utilisateurs puissent se connecter au cluster et transmettre des tâches, ce qui peut être réalisé grâce à l'interface utilisateur incluse ou par le biais d'interfaces de ligne de commande.

Windows Compute Cluster Server 2003 est un système d'exploitation 64 bits. (L'architecture typique d'un environnement Windows Compute Cluster Server 2003 est illustrée à la figure 1.) À la date de rédaction de cet article (juin 2007), Microsoft Research exécutait toute une variété d'applications différentes sur un cluster reposant sur 25 serveurs IBM eServer 326. Chacun de ces serveurs comporte deux processeurs AMD Opteron à 2,6 GHz.

Figure 1 Exploitation de la puissance avec Windows Compute Cluster Server 2003

Figure 1** Exploitation de la puissance avec Windows Compute Cluster Server 2003 **(Cliquer sur l'image pour l'agrandir)

Après avoir déployé Windows Compute Cluster Server, le groupe a mis à jour l'application dont il se sert pour réaliser les corrélations génétiques afin de l'utiliser sur le cluster. La complexité du déploiement d'applications pour des clusters de calcul peut varier. Les applications elles-mêmes influencent la part de programmation nécessaire.

Au début, le groupe a utilisé les outils intégrés dans Windows Compute Cluster Server pour établir rapidement une interface utilisateur générique. Il s'agissait cependant là simplement d'une solution temporaire en attendant que le groupe ait créé sa propre application Web personnalisée, qui fournit une plus grande flexibilité et permet de mettre certains nœuds de cluster à la disposition de scientifiques extérieurs à Microsoft. En fait, Microsoft fait partie de l'Open Grid Forum et certains des clusters de Microsoft Research sont mis à la disposition d'utilisateurs d'autres universités à travers le monde, ce qui permet aux chercheurs de collaborer et de se partager le travail.

Outre ses interfaces utilisateur graphiques, Windows Compute Cluster Server prend également en charge les opérations de ligne de commande, ce qui permet aux utilisateurs d'écrire des scripts. Et il fournit des API riches pouvant être utilisées pour écrire des programmes qui interagissent directement avec le Planificateur de tâches de Windows Compute Cluster, technique que Microsoft Research a choisi d'utiliser.

Les résultats

Grâce à son utilisation de l'informatique hautes performances, le groupe eScience de Microsoft Research a fait des progrès énormes dans la course au vaccin contre le VIH. « Avec l'informatique hautes performances, nous avons pu accélérer notre temps d'analyse » explique David Heckerman. « Plusieurs des groupes externes avec lesquels nous collaborons utilisent maintenant nos techniques statistiques et partagent leurs résultats. Et par conséquent, les scientifiques nous proposent déjà de nouvelles hypothèses. Avant, l'obtention de résultats aurait pris une année pour chaque étape du processus. Á l'heure actuelle, il suffit d'une journée. »

Avant Windows Compute Cluster Server, les méthodes utilisées par Microsoft Research n'auraient pas été pratiques en raison du temps requis pour réaliser l'analyse. « Avec Windows Compute Cluster Server », explique Carl Kadie, « nous pouvons exécuter 50 tâches de 200 000 éléments de travail chacune dans le temps qu'il nous fallait auparavant pour exécuter 1 tâche ».

Maintenant que le groupe eScience dispose de capacités de calcul énormes, il peut mener des tests plusieurs fois sur des données simulées. Les tests sur données simulées sont cruciaux pour déterminer quels résultats sur données réelles sont intéressants. Plus le nombre de simulations exécutées est important, plus les résultats sont fiables.

Les leçons apprises

Microsoft Research a évidemment bénéficié de l'utilisation de Windows Compute Cluster Server, mais la relation est de nature symbiotique. Les développeurs du groupe High-Performance Computing, qui travaille actuellement sur une seconde version de Windows Compute Cluster Server, continuent de tirer des leçons des commentaires que leur fournit le groupe eScience.

Le groupe HPC en a notamment appris beaucoup sur l'allocation des ressources en surveillant et en analysant le comportement du cluster Microsoft Research pour déterminer la meilleure façon d'équilibrer les ressources du cluster pour des utilisateurs multiples. Par exemple, sur ce projet, un utilisateur crée généralement un travail à la fois avec une moyenne de 50 tâches associées à chaque travail. L'utilisateur soumet le travail et Windows Compute Cluster Job Manager alloue suffisamment de ressources pour la gestion des 50 tâches. Pour ce faire, il revendique immédiatement tous les nœuds disponibles sur le cluster pour traiter les tâches. Ce scénario ne poserait pas de problème dans un environnement à utilisateur unique, mais les choses se gâtent dans un cadre multi-utilisateurs où il très important que les projets progressent simultanément.

Actuellement, lorsque 10 des 50 tâches du travail sont terminées, 10 serveurs ne sont pas libérés. Le Job Manager attend que les 50 tâches du travail soient terminées pour libérer les serveurs et s'attaquer à un autre travail. Les développeurs HPC travaillent maintenant sur une façon de réattribuer des ressources à la fin de chaque tâche et non de l'ensemble du travail.

Microsoft Research a également fait appel au groupe HPC pour résoudre des problèmes spécifiques concernant la façon dont les chercheurs souhaitaient utiliser Windows Compute Cluster Server. Les chercheurs souhaitaient notamment configurer la sécurité de sorte que les informations d'identification se propageraient automatiquement depuis le serveur Web frontal vers le cluster de calcul. La solution a été de travailler dans Microsoft® .NET Framework et d'étendre l'authentification des formulaires ASP.NET de sorte que l'application Web puisse fournir les informations d'authentification complètes de l'utilisateur à chaque fois qu'un utilisateur soumet un travail.

À présent, les membres de l'équipe eScience de Microsoft Research et leurs collègues du monde entier peuvent se consacrer à des aspects plus importants de leur travail et laisser toutes les tâches impliquées dans le traitement et la gestion des données aux ordinateurs. « Nous pouvons ainsi aller plus loin en tant qu'équipe » commente David Heckerman. « Nous repoussons les limites des connaissances sur le VIH et progressons dans la lutte contre la maladie ».

Kristin Firth et Mia Matusowde Blue Line Writing & Editing, ont consacré ces dix dernières années à la création de contenus stratégiques pour des entreprises des secteurs public et privé de trois continents

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. Toute reproduction, totale ou partielle, est interdite sans autorisation préalable.