調査メモハイ パフォーマンス コンピューティングを使用して HIV と闘う

Kristin Firth と Mia Matusow

医療研究を行っている人々と言えば、試験管と顕微鏡を使って作業する白衣の人々を想像するのではないでしょうか。おそらく、大学や製薬会社にいる化学者のグループを想像するでしょう。そのような医療研究に対する一般的なイメージは、事実、間違っていません。

ただし、それは 1 つの側面を表しているにすぎません。実際には、そうしたイメージとはまったく異なる環境で行われている医療研究もあります。

驚くかもしれませんが、Microsoft Research は、ヒト免疫不全ウイルス (HIV) に対するワクチン開発の取り組みにおいて、重要な役割を担っています。さらに、マイクロソフトではこれを、1 台のガス バーナーも使わずに行っています。その研究環境には、他のオフィス空間と同じように、普通の机と多くの PC が並べられています。

では、この研究におけるマイクロソフトの役割とは、どのようなものでしょうか。白衣を着た人々、つまり科学者は、マサチューセッツ総合病院 (ボストン)、ブリティッシュ コロンビア大学、ワシントン大学、フレッド ハッチンソン ガン研究センター、マードック大学 (オーストラリア) といったそれぞれの大学や研究センターにおいて、プロジェクトに関する膨大な量のデータを収集します。Microsoft Research の eScience グループは、ワシントン州レドモンドにいる約 6 人のメンバ (1 人はニューメキシコ州) で構成され、それらの科学者が膨大な量のデータを処理および分析する作業を支援しています。Microsoft Research は、2003 年に初めてこのプロジェクトに参加しました。現在、eScience グループは、さまざまなプロジェクトで科学者と協力し、社会に影響を与える問題に取り組んでいます。このチームは、外部の科学者と密接に協力しながら、プロジェクト用のカスタム ソリューションの構築、数値の演算処理、および結果の分析を行っています。

マイクロソフトでは、最優先プロジェクトの 1 つとして、HIV の突然変異型に関連するデータの分析を支援しています。マイクロソフトの主任研究員である David Heckerman 医学博士によると、HIV は、感染者の免疫系による攻撃を受けたときに急速に変異するといいます。彼は、次のように述べています。「私たちは、HIV が、宿主の免疫系に反応してどのように突然変異するかを特定するための研究を行っています。このパターンを特定するために、個人の免疫系の種類と、感染する HIV のタンパク質配列との相関関係を探しています。」

科学者は、HIV 感染者から採取したサンプルを使用して、それぞれの免疫系の種類と HIV の配列を特定します。ここで、数値演算処理が役立ちます。この研究では、何百人もの個人それぞれについて、3,000 個に及ぶ HIV のアミノ酸と、何百もの免疫系の種類との相関関係を調べます。マイクロソフトのプリンシパル リサーチ ソフトウェア開発エンジニアである Carl Kadie 博士は、次のように述べています。「私たちは、偽陽性および偽陰性の数が少ない、より信頼できる相関関係を生成する統計的な検査法を考案しました。しかし、これらの検査には、非常に高度な計算処理能力が必要です。また、検査対象が多ければ多いほど、より正確な結果が得られます。最も信頼できる相関関係を導き出すには、何百万もの模擬検査を行う必要があります。」

HPC を使用して HIV と闘う

わずか数年前までは、処理能力の制限が研究作業の障害となっていました。このプロジェクトに参加していたマイクロソフトの研究者は 6 台のコンピュータしか使用しておらず、許容できる時間内に分析を完了できるだけの十分な処理能力を持ち合わせていませんでした。検査対象が 200 個の場合、ワクチンのゲノムのそれぞれの配置とさまざまな免疫系の種類を調べるのに丸 1 年かかります。研究者がこの分析専用のコンピュータを 20 台使用しても、20 台の各コンピュータで手動で検査を行い、20 種類の結果を得て、別のプログラム (とさらに多くの時間) を使用して個々の結果を集計する必要があるという根本的な問題が残ります。複数の作業の管理、部分的な結果の収集、および関連するその他の作業をすべて行うには時間がかかりすぎます。そこで彼らは、マイクロソフトのハイ パフォーマンス コンピューティング (HPC) グループに支援を要請しました。

2006 年、研究者は、Windows® Compute Cluster Server 2003 を実装しました。この HPC ソリューションにより、多数のコンピュータを同時に実行して容易に高い処理能力を得ることができるようになりました。基本的に、Windows Compute Cluster Server では、同時に実行している複数のサーバー ノードに処理を分散させることができます。ノード間でのデータの分散、データの管理、結果の統合などの作業は、すべて自動的に行われます。このソリューションには、セットアップ手順、一連の管理ツール、および統合型のジョブ スケジューラが含まれます。

また、このソリューションにより、最大の技術的な障害が克服されました。つまり、計算処理能力に制限がなくなり、作業の分散やデータの管理といった処理が完全に自動化されました。

環境を準備する

計算クラスタを使用した方法は、Microsoft Research で行われる作業に非常に適していました。Windows Compute Cluster Server 2003 は、同じ操作を繰り返し実行するアプリケーションを使用するプロジェクトに最適です。たとえば、複数の作業を同時に実行することで問題の解決と分析にかかる時間を短縮できる場合などが該当します。ただし、ハイ パフォーマンス コンピューティングでは、電力や冷却に関連する資源が集中的に使用される可能性があるため、このソリューションは慎重に展開する必要があります。このソリューションでは、複数のサーバーの CPU 使用率が頻繁に 100% になる状態が数週間続く場合もあります。

次に、組織が投資できるクラスタの規模とその配置場所を決定します。既に Active Directory® がインストールされた Windows ベースの環境が整っている場合、管理者がクラスタをインストール、展開、およびサポートするのに必要なインフラストラクチャは完成しています。Active Directory が使用されていない環境では、いくつかの構成手順を追加で行う必要があります。

また、計算クラスタ内のノードの準備方法を決定する必要があります。つまり、Windows Compute Cluster Server 2003 に含まれるツールを使用するか、内部の独自の展開方法を使用するかを選択します。Windows Compute Cluster Server 2003 は、クラスタで実行する必要があるソフトウェア アプリケーションと共に展開する必要があります。また、ユーザーがクラスタに接続してジョブを送信できるように、クラスタへのユーザーのアクセスを確立する必要があります。この操作は、組み込みのグラフィカル UI またはコマンド ライン インターフェイスから実行できます。

Windows Compute Cluster Server 2003 は、64 ビット オペレーティング システムです (図 1 は、Windows Compute Cluster Server 2003 環境の一般的なアーキテクチャを示しています)。このコラムの執筆時点 (2007 年 6 月) では、Microsoft Research は、25 台の IBM eServer 326 サーバーから構築されたクラスタでさまざまなアプリケーションを実行していました。各サーバーは、2.6 GHz の AMD Opteron プロセッサを 2 つ搭載しています。

図 1 Windows Compute Cluster Server 2003 によって提供される処理能力の利用

図 1** Windows Compute Cluster Server 2003 によって提供される処理能力の利用 **(画像を拡大するには、ここをクリックします)

Windows Compute Cluster Server の展開後、eScience グループは、遺伝的な相関関係を調べるために使用するアプリケーションをクラスタ上で実行できるように更新しました。計算クラスタにアプリケーションを展開する作業の複雑さは、場合によって異なります。アプリケーション自体が、必要なプログラミング作業の量に影響を与えます。

まず、eScience グループは、Windows Compute Cluster Server に組み込まれていたツールを使用して、簡単な汎用 UI を作成しました。ただしこれは一時的な処置であり、すぐに、独自のカスタム Web アプリケーションを作成しました。このアプリケーションにより、さらに高い柔軟性が提供され、マイクロソフト社外の科学者にクラスタ ノードの一部を公開することもできるようになりました。実際、マイクロソフトは Open Grid Forum に参加しており、Microsoft Research のクラスタの一部は世界中の大学のユーザーが利用できるようになっているため、研究者は作業を共同で分担して行うことができます。

グラフィカル UI に加えて、Windows Compute Cluster Server ではコマンド ライン操作もサポートされているため、ユーザーはスクリプトを作成することができます。また、Windows Compute Cluster Server のジョブ スケジューラと直接連動するプログラムの作成 (Microsoft Research ではこの手法を使用しています) に使用できる豊富な API が提供されます。

結果を取得する

Microsoft Research の eScience グループは、ハイ パフォーマンス コンピューティングを使用することにより、HIV ワクチンの開発競争において他を大きく引き離そうとしています。Heckerman は次のように述べています。「ハイ パフォーマンス コンピューティングを使用することで、結果の分析にかかる時間を短縮することができました。現在、私たちと共同作業を行っているいくつかの外部のグループは、私たちが使用しているものと同じ統計的手法を使用し、その結果を共有しています。その結果、科学者は既に新しい検査対象となる仮説を提示しようとしています。以前は、プロセスの各段階の結果を取得するのに 1 年かかりましたが、今ではたった 1 日しかかかりません。」

Windows Compute Cluster Server の前に Microsoft Research で使用していた方法は、分析の実行に時間がかかっていたため、実用的ではありませんでした。Kadie は次のように述べています。「Windows Compute Cluster Server を使用することで、以前は 1 つのジョブしか実行できなかった時間内に、それぞれに 200,000 個の処理項目が含まれた 50 個のジョブをすべて実行できるようになりました。」

現在、eScience グループには高度な計算能力があるため、模擬データを使用して多数の検査を実行できます。模擬データで検査を実行することは、実際のデータで注目すべき結果を判断するために重要です。より多くの模擬検査を行うことで、より信頼性の高い結果を得ることができます。

得られた教訓

Microsoft Research にとって Windows Compute Cluster Server の使用が有効であったことは明らかですが、もともと両者は持ちつ持たれつの関係にあります。現在、ハイ パフォーマンス コンピューティング グループの開発者は、次のバージョンの Windows Compute Cluster Server の開発に取り組んでおり、eScience グループが提供するフィードバックからの情報収集を続けています。

特に、HPC グループは、Microsoft Research のクラスタの動作を監視および分析することで、リソースの割り当てに関する多くの情報を得て、複数のユーザー間で使用するクラスタのリソースのバランスを保つのに最適な方法を判断することができました。たとえば、このプロジェクトでは、通常ユーザーは 1 回に 1 つのジョブを作成します。各ジョブには、平均 50 個のタスクが関連付けられます。ユーザーがジョブを送信すると、Windows Compute Cluster Server の計算クラスタ ジョブ マネージャが、50 個すべてのタスクを管理するのに十分なリソースを割り当てます。計算クラスタ ジョブ マネージャは、この操作を行うために、ジョブを受信した直後に、タスクを実行できるクラスタ上のすべてのノードを要求します。このシナリオは、ユーザーが 1 人しか存在しない環境では問題ありません。しかし、プロジェクトを同時進行することが非常に重要な、複数のユーザーが存在する環境では問題が発生します。

現時点では、ジョブの 50 個のタスクのうちの 10 個が完了しても、10 台のサーバーは解放されません。ジョブ マネージャは、ジョブ内の 50 個すべてのタスクが完了するまで待機してから、サーバーを解放し、別のジョブに取り掛かります。HPC の開発者は、現在、ジョブ全体の完了時ではなく各タスクの完了時にリソースの再割り当てを行う方法の開発に取り組んでいます。

また、Microsoft Research は、研究者が必要とする Windows Compute Cluster Server の使用方法に関連した特定の問題を解決するために、HPC グループに支援を要請しました。特に、研究者は、ユーザーの資格情報を Web フロント エンドから計算クラスタに自動的に反映できるように、セキュリティを設定する必要がありました。その解決策は、Microsoft® .NET Framework 内でプログラムを動作させ、ASP.NET フォームの認証を拡張することでした。これにより、Web アプリケーションは、ユーザーがジョブを送信するたびに、ユーザーの完全な資格情報をクラスタ ノードに提供できるようになります。

現在、Microsoft Research の eScience チームのメンバおよび共同作業を行っている世界中の研究者は、課題の最も重要な部分に重点を置き、データの処理および管理に関連するすべての作業をコンピュータに任せることができます。Heckerman は次のように述べています。「結果的に、私たちはチームとしてさらに大きく前進することができました。HIV に関するこれまでの限界を打破し、病との闘いにおいて確実な進歩を遂げようとしています。」

Kristin Firth と Mia Matusow は、Blue Line Writing & Editing に勤務しています。過去 10 年余りの間、公共および民間の企業組織向けの戦略に関する執筆を行っており、その活動範囲は 3 大陸にまたがります。

© 2008 Microsoft Corporation and CMP Media, LLC. All rights reserved; 許可なしに一部または全体を複製することは禁止されています.