ForschungsberichteVerwenden von High Performance Computing im Kampf gegen HIV

Kristin Firth und Mia Matusow

Wenn Sie an medizinische Forschung denken, stellen Sie sich dann Männer und Frauen in weißen Laborkitteln vor, die mit Reagenzgläsern und Mikroskopen arbeiten? Vielleicht ein Team von Chemikern an einer Universität oder in einem pharmazeutischem Unternehmen? Dies sind übliche und sicher auch realistische Vorstellungen von medizinischer Forschung, aber sie stellen nur

einen Aspekt dieses Bereichs dar. In Wirklichkeit geschieht einiges an medizinischer Forschung an ganz anderen Schauplätzen.

Es überrascht Sie vielleicht, dass Microsoft Research bei der Entwicklung eines Impfstoffs gegen das HIV-Virus eine wichtige Rolle spielt. Mehr noch: Microsoft tut dies ohne einen einzigen Bunsenbrenner. Der äußere Rahmen sieht aus wie jeder andere Büroraum, ausgestattet mit normalen Schreibtischen und vielen PCs.

Aber welche Rolle spielt dann Microsoft in dieser ganzen Forschung? Die Leute in den weißen Laborkitteln, die Wissenschaftler an verschiedenen Universitäten und Forschungszentren, zu denen Massachusetts General Hospital in Boston, die Universität von Britisch-Kolumbien, die Universität von Washington, das Fred Hutchinson Krebsforschungszentrum und die Murdoch University in Australien gehören, sammeln in ihren Projekten erhebliche Datenmengen. Die eScience-Gruppe von Microsoft Research besteht aus etwa einem halben Dutzend Mitarbeitern und ist größtenteils in Redmond, Washington, angesiedelt (ein Mitarbeiter befindet sich in Neu-Mexiko). Die Gruppe ist den Wissenschaftlern beim Verarbeiten und Analysieren der riesigen Datenmengen behilflich. Microsoft Research wurde erstmals im Jahr 2003 in das Projekt eingebunden, und heute arbeitet die eScience-Gruppe mit Wissenschaftlern an verschiedenen Projekten zur Lösung gesellschaftsrelevanter Probleme zusammen. Das Team arbeitet eng mit externen Wissenschaftlern an der Erstellung benutzerdefinierter Lösungen für Projekte zusammen, bei denen Zahlen und Ergebnisse analysiert werden müssen.

Bei einem Projekt mit besonders hoher Priorität hilft Microsoft bei der Analyse von Daten im Zusammenhang mit HIV-Mutationsmustern. David Heckerman, MD, PhD und leitender Forscher bei Microsoft, erklärt, dass das HIV-Virus schnell mutiert, wenn es vom Immunsystem der infizierten Person angegriffen wird. „Wir arbeiten an einer Studie, mit der festgestellt werden soll, wie HIV in Reaktion auf das Immunsystem der Wirtsperson mutiert. Hierfür suchen wir Korrelationen zwischen dem Typ des Immunsystems eines Individuums und den HIV-Eiweißsequenzen, die es infizieren.“

Wissenschaftler entnehmen Proben von HIV-infizierten Personen, um den Typ ihres Immunsystems und die HIV-Sequenzen zu bestimmen. An dieser Stelle kommt die Zahlenanalyse ins Spiel: Die Studie sucht nach Korrelationen zwischen 3.000 HIV-Aminosäuren und Hunderten von Immunsystemtypen, bei vielen Hunderten von Individuen. „Wir haben statistische Tests erstellt, die zuverlässige Korrelationen mit einer geringeren Anzahl fälschlich positiver und negativer Ergebnisse zur Verfügung stellen“, sagt Carl Kadie, PhD, leitender Entwicklungsingenieur für Forschungssoftware bei Microsoft. „Aber diese Tests verlangen sehr viel Rechenleistung, und je mehr Testpersonen wir einbeziehen, desto besser. Es sollen möglichst Millionen Simulationen ausgeführt werden, um so äußerst zuverlässige Korrelationen zu erhalten.“

Einsatz von HPC im Kampf gegen HIV

Noch vor wenigen Jahren waren viele Forschungsprojekte aufgrund einer begrenzten Datenverarbeitungskapazität eingeschränkt. Mit nur einem halben Dutzend Computer verfügten die an diesem Projekt beteiligten Microsoft-Forscher nicht über genug Verarbeitungsleistung, um die Analyse in einem angemessenen Zeitraum durchzuführen. Die Prüfung jeder Position auf dem Genom des Impfstoffs und der verschiedenen Immunsystemtypen hätte für 200 Personen ein ganzes Jahr Arbeit bedeutet. Selbst wenn für diese Analyse 20 Computer zur Verfügung ständen, gäbe es nach wie vor das grundlegende Problem, dass die Tests manuell auf 20 getrennten Computern ausgeführt werden müssten, die dann 20 einzelne Ergebnissätze liefern, und dass ein weiteres Programm (sowie mehr Zeit) für eine Tabellarisierung der verschiedenen Ergebnissätze erforderlich wäre. Die Verwaltung all dieser Aufgaben, das Erfassen partieller Ausgaben und alle anderen damit verbundenen Einzelaufgaben hätten zu viel Zeit erfordert. Daher wendeten sich die Forscher an die HPC-Gruppe (High Performance Computing) bei Microsoft.

Im Jahr 2006 implementierten die Forscher Windows® Compute Cluster Server 2003. Diese HPC-Lösung eröffnete eine einfache Möglichkeit, die Leistung vieler Computer zu vereinen, die gemeinsam arbeiten. Windows Compute Cluster Server macht es im Wesentlichen möglich, die Arbeit über parallel ausgeführte Serverknoten zu verteilen. Die Aufgaben Datenverteilung auf die Knoten, Datenverwaltung sowie Zusammenführung der Ergebnisse sind vollständig automatisiert. Die Lösung umfasst Setupverfahren, eine Sammlung von Verwaltungstools sowie einen integrierten Auftragsplaner.

Schließlich waren mit dieser Lösung die größten technischen Hindernisse überwunden: die Rechenleistung war nicht mehr begrenzt, und der Prozess der Arbeitsverteilung und Datenverwaltung war vollständig automatisiert.

Das Setup

Für Microsoft Research war der Rechenclusteransatz genau richtig. Windows Compute Cluster Server 2003 ist hervorragend für Projekte mit Anwendungen geeignet, die immer wieder den gleichen Vorgang wiederholen, zum Beispiel, wenn Problemlösung und Analyse durch paralleles Ausführen von Aufgaben beschleunigt werden können. Diese Lösung sollte jedoch nicht leichtfertig gewählt werden, da HPC kostenintensiv sein kann, insbesondere in den Bereichen Energieversorgung und Kühlung. HPC beansprucht mehrere Server, deren CPU oft wochenlang zu 100 Prozent ausgelastet ist.

Als Nächstes ist die Größe des Clusters zu bestimmen, den sich die Organisation leisten kann, sowie der Speicherort. Wenn bereits eine Windows-basierte Umgebung mit Active Directory® vorhanden ist, steht Administratoren die erforderliche Infrastruktur zur Verfügung, um einen Cluster zu installieren, bereitzustellen und zu unterstützen. In Umgebungen, in denen Active Directory noch nicht verwendet wird, sind einige zusätzliche Konfigurationsschritte erforderlich.

Sie müssen weiterhin entscheiden, auf welche Weise Knoten innerhalb des Rechenclusters bereitgestellt werden sollen, d. h. Sie müssen wählen, ob Sie die zu Windows Compute Cluster Server 2003 gehörenden Tools oder Ihre eigenen internen Bereitstellungsverfahren verwenden wollen. Windows Compute Cluster Server 2003 selbst muss zusammen mit den Softwareanwendungen bereitgestellt werden, die Sie auf dem Cluster ausführen wollen. Dazu muss der Benutzerzugriff auf den Cluster eingerichtet werden, sodass Benutzer eine Verbindung zum Cluster herstellen und Aufträge senden können, was über die zugehörige grafische Benutzeroberfläche oder über Befehlszeilenschnittstellen möglich ist.

Windows Compute Cluster Server 2003 ist ein 64-Bit-Betriebssystem. (Die typische Architektur einer Windows Compute Cluster Server 2003-Umgebung ist in Abbildung 1 dargestellt.) Zum Zeitpunkt, an dem dieser Artikel verfasst wurde (Juni 2007), führte Microsoft Research eine Reihe verschiedener Anwendungen auf einem aus 25 IBM eServer 326-Servern erstellten Cluster aus. Jeder dieser Server weist zwei AMD Opteron-Prozessoren mit 2,6 GHz auf.

Abbildung 1 Leistung mit Windows Compute Cluster Server 2003 nutzen

Abbildung 1** Leistung mit Windows Compute Cluster Server 2003 nutzen **(Klicken Sie zum Vergrößern auf das Bild)

Nach der Bereitstellung von Windows Compute Cluster Server aktualisierte die Gruppe die zur Darstellung genetischer Korrelation verwendete Anwendung, sodass sie sich im Cluster ausführen ließ. Die Bereitstellung von Anwendungen für Rechencluster kann unterschiedlich komplex sein. Die Anwendungen selbst haben Einfluss darauf, wie viel Programmieraufwand erforderlich ist.

Zunächst verwendete die Gruppe die in Windows Compute Cluster Server integrierten Tools, um schnell eine generische Benutzeroberfläche einzurichten. Das war allerdings nur eine kurzfristige Lösung, und die Gruppe erstellte schon bald ihre eigene benutzerdefinierte Webanwendung, die größere Flexibilität bietet und die Option unterstützt, Wissenschaftlern außerhalb von Microsoft einige der Clusterknoten verfügbar zu machen. Microsoft ist nämlich Teil des Open Grid Forum, und manche der Microsoft Research-Cluster werden Benutzern an anderen Universitäten rund um die Welt zur Verfügung gestellt, sodass Forscher zusammenarbeiten und sich die Arbeit teilen können.

Zusätzlich zu grafischen Benutzeroberflächen unterstützt Windows Compute Cluster Server auch Befehlszeileneingaben und ermöglicht Benutzern somit die Skripterstellung. Weiterhin werden funktionsstarke APIs bereitgestellt, mit denen sich Programme schreiben lassen, die direkt mit dem Windows Compute Cluster-Auftragsplaner interagieren, ein Verfahren, für dessen Verwendung sich Microsoft Research entschied.

Erzielen von Ergebnissen

Dank dem Einsatz von High Performance Computing macht die eScience-Gruppe von Microsoft Research enorme Fortschritte im Wettrennen um die Entwicklung eines HIV-Impfstoffs. „Mit High Performance Computing verkürzen wir die Zeit bis zum Erzielen von Ergebnissen,“ so Heckerman. „Mehrere der externen Gruppen, mit denen wir zusammenarbeiten, verwenden jetzt unsere statistischen Verfahren und geben ihre Ergebnisse frei. Infolgedessen kommen Wissenschaftler bereits mit neuen Hypothesen auf uns zu, damit wir sie testen. Früher hätte jeder Schritt des Prozesses bis hin zum Ergebnis ein Jahr in Anspruch genommen. Jetzt dauert dies gerade einen einzigen Tag.“

Vor der Zeit von Windows Compute Cluster Server wären die von Microsoft Research verwendeten Methoden wegen der für die Analyse erforderlichen Zeit nicht sinnvoll gewesen. „Mit Windows Compute Cluster Server“, merkt Kadie an, „können wir 50 Aufträge mit jeweils 200.000 Arbeitsschritten in derselben Zeit ausführen, die früher ein Auftrag in Anspruch genommen hätte.“

Da die eScience-Gruppe jetzt riesige Datenverarbeitungsfunktionen an der Hand hat, können Tests in vielen Durchläufen mit simulierten Daten durchgeführt werden. Die Testläufe mit simulierten Daten sind entscheidend für die Feststellung, welche Ergebnisse bei wirklichen Daten interessant sind. Je mehr Simulationen durchgeführt werden, desto zuverlässiger sind die Ergebnisse.

Gelernte Lektionen

Microsoft Research hat offensichtlich von der Verwendung von Windows Compute Cluster Server profitiert, aber dies beruht auf Gegenseitigkeit. Entwickler in der HPC-Gruppe arbeiten gerade an einer zweiten Version von Windows Compute Cluster Server und gewinnen durch die Rückmeldungen aus der eScience-Gruppe immer neue Einsichten.

Vor allem hat die HPC-Gruppe durch Überwachung und Analyse des Verhaltens des Microsoft Research-Clusters viel über Ressourcenzuweisung erfahren, sodass bestimmt werden kann, wie sich die Ressourcen des Clusters auf mehrere Benutzer bestmöglich aufteilen lassen. Bei diesem Projekt zum Beispiel erstellt ein Benutzer in der Regel jeweils einen Auftrag mit durchschnittlich 50 Aufgaben. Der Benutzer sendet den Auftrag, und die Windows Compute Cluster-Auftragsverwaltung teilt genug Ressourcen zu, um alle 50 Aufgaben zu verwalten. Für das Bearbeiten der Aufgaben werden sofort alle verfügbaren Knoten im Cluster beansprucht. Dieses Szenario wäre in einer Einzelbenutzerumgebung unproblematisch, wird aber bei mehreren Benutzern zum Problem, wenn der Fortschritt von Projekten parallel verlaufen soll.

Wenn derzeit 10 der 50 Aufgaben des Auftrags abgeschlossen sind, werden nicht gleich 10 Server wieder freigegeben. Die Auftragsverwaltung wartet, bis alle 50 Aufgaben desselben Auftrags erledigt sind, bevor die Server für einen anderen Auftrag wieder freigegeben werden. HPC-Entwickler arbeiten jetzt an einer Möglichkeit, Ressourcen beim Abschluss jeder einzelnen Aufgabe und nicht erst beim Abschluss des Gesamtauftrags neu zuzuteilen.

Microsoft Research holte für die Lösung bestimmter Probleme Rat von der HPC-Gruppe ein, und zwar im Zusammenhang mit der Verwendungsweise von Windows Compute Cluster Server. Insbesondere sollte die Sicherheit so eingerichtet werden, dass Benutzeranmeldeinformationen automatisch vom Web-Front-End zum Rechencluster übertragen werden. Die Lösung bestand in der Verwendung von Microsoft® .NET Framework und der Erweiterung der ASP.NET-Formularauthentifizierung, damit die Webanwendung den Clusterknoten jedes Mal die vollständigen Benutzeranmeldeinformationen bereitstellen kann, wenn ein Benutzer einen Auftrag sendet.

Jetzt können sich die Mitglieder des eScience-Team bei Microsoft Research und ihre Kollegen rund um die Welt auf die wirklich wichtigen Aufgaben konzentrieren und die Datenverarbeitung und -verwaltung den Computern überlassen. „Dadurch können wir als Team schneller vorankommen,“ kommentiert Heckerman. „Wir erweitern die Grenzen dessen, was über HIV bekannt ist, und machen gute Fortschritte im Kampf gegen diese Krankheit.“

Kristin Firth und Mia Matusowsind Inhaberinnen von Blue Line Writing & Editing und haben das vergangene Jahrzehnt damit verbracht, strategische Inhalte für Unternehmensorganisationen im öffentlichen und privaten Sektor in drei Kontinenten zu erstellen.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.