BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル 地球最大の科学計測器のためにデータの記憶と分析を担うLHCグリッド

地球最大の科学計測器のためにデータの記憶と分析を担うLHCグリッド

大型ハドロン衝突型加速器(LHC)(リンク) は、宇宙の認識に革命をもたらすことを目的とした粒子加速器です。世界規模のLHCコンピューティンググリッド(LCG)(リンク) プロジェクトは、LHCを使う予定の高エネルギー物理学コミュニティ全体を対象として、データの記憶と分析のインフラを提供します。

2003年に始動したLCGは、世界中の何百ものデータセンターに存在する何千基ものコンピュータをグローバルな演算リソースへと統合し、LHCが収集する莫大な量のデータの記憶と分析を目指しています。LHCは推定で、年間およそ15ペタバイト(1千5百万ギガバイト)のデータを生成します。これは毎年170万枚超の二層式DVDに書き込むことに相当します! 世界中の何千人という科学者がこのデータへのアクセスと分析を希望しているため、欧州原子核研究機構(CERN=Conseil Europen pour la Recherche Nucléaire)(リンク)は33ヵ国の機関と協力してLCGを運営しています。 

LHCの実験から得られたデータは世界中に配信され、CERNでは第1バックアップをテープに記録します。初期処理の済んだデータは、カナダ、フランス、ドイツ、イタリア、オランダ、北欧諸国、スペイン、台湾、英国、米国2サイトの合計11の大規模コンピュータセンターに部分配信されますが、こうしたセンターには膨大なデータを保管するに十分な容量があり、コンピューティンググリッドを24時間体制でサポートしています。

こうしたいわゆる「ティア1」(第1階層)のセンターは、「ティア2」(第2階層)の120を越えるセンターが特定の分析タスクを行えるように、データを利用可能にしています。その結果、個々の科学者は、ローカルなコンピュータクラスタや、さらには個人のPCさえ使用して、自国からLHCデータにアクセスすることができるのです。

LHCコンピューティンググリッドは3つの「ティア」で構成されており、32ヵ国が正式に関与しています。

  • ティア0は1サイト:CERN演算センターです。全データがこの中央ハブを通過しますが、供給する演算容量は合計で20%未満です。
  • ティア1は11サイトで構成され、場所はカナダ、フランス、ドイツ、イタリア、オランダ、北欧諸国、スペイン、台湾、英国、米国2サイトです。
  • ティア2は140超のサイトで構成され、38の連合にグループ分けされていますが、次の国々を網羅しています -- オーストラリア、ベルギー、カナダ、中国、チェコ共和国、デンマーク、エストニア、フィンランド、フランス、ドイツ、ハンガリー、イタリア、インド、イスラエル、日本、大韓民国、オランダ、ノルウェー、パキスタン、ポーランド、ポルトガル、ルーマニア、ロシア、スロベニア、スペイン、スウェーデン、スイス、台湾、トルコ、英国、ウクライナ、米国。ティア2のサイトは、LHCのデータ処理に必要な能力のおよそ50%を供給することになります。

LHC加速器が最適動作中は、LHCの実験に参加している世界中およそ500の研究機関と大学の5,000人の科学者が、実験データへアクセスできるようにしなければなりません。さらに、全データはLHCの推定15年の存続期間を通じて、利用可能でなければなりません。

財政上および技術上のどうしようもない理由から、分散型のアーキテクチャ(リンク)が必要になったのです。

LHCのデータ管理に分散型のコンピューティングアプローチを採用することとなった主な理由は、金銭的なものでした。1999年、LHCデータ分析用のコンピューティング・システムの設計が開始されると、必要な演算能力を提供するにはCERNで用意可能な資金額では焼け石に水であることが、にわかに判明したのです。その一方で、LHCに協力していた研究所や大学の大部分が、国立もしくは地域の演算施設にアクセスがありました。分かりきったことですが、問題は次のようなものでした -- こうした施設をどうにかしてまとめ上げ、単一のLHC演算サービスを提供するようにできないでしょうか。広域ネットワーキングの急速な進化(容量バンド幅の増加に加え、費用の低下)により、可能なように思えました。LHCコンピューティンググリッドへの道は、そこから始まったのです。

LHCコンピューティンググリッドの開発中、分散型システムによる追加的なメリットが多数判明しました。

  • 異なるサイトにデータのコピーを複数保管しておけるため、地理的な場所に関わらず、すべての科学者が確実にアクセスできます。
  • 複数のコンピュータセンターが予備容量を最適使用できるようになるので、効率が良くなります。
  • コンピュータセンターが複数の時間帯に存在するため、24時間体制のモニタリングと専門家のサポートが容易になります。
  • 単一障害点がありません。
  • 個々の機関がローカルの演算リソースに資金を提供し、こうしたリソースに対して責任を持ちながらも、世界的な目標に貢献するため、維持費とアップグレード費用が分散されます。
  • 独立管理のリソースにより、演算および分析への新奇なアプローチが奨励されます。
  • 自分のデスクトップからリソースを利用できるため、リソースにアクセスするために研究者が自国を離れなければならなくなる、いわゆる「頭脳流出」が減少します。
  • 新しい課題に向けてシステムを簡単に再構成可能で、LHCの存続期間を通してシステムを動的に進化させ、年々収集されるデータの増加に応じて増大する要求に適合するように、能力を拡大できます。
  • 将来の演算リソースをどのようにして、どこで提供するかの決定では、かなりの融通が利きます。
  • 利用できるようになる可能性のある新技術で、有用性や費用効果、エネルギー効率の改善に貢献する見込みのある新技術を、コミュニティが活用できるようにします。

プロジェクト全体の大きさが原因で、LCGチームに興味深い課題がもたらされました(リンク)

  • グリッドのあちこちに安全に移動させる必要のある、莫大な量のデータの管理。
  • それぞれのサイトにおけるストレージスペースの管理。
  • 9,000人の物理学者によるデータ分析と並行して生成される何千万というファイルの記録・追跡。
  • 適切なネットワークバンド幅の保証:主要サイト間の光リンクだけでなく、最遠隔地へも信頼性の高い良質のリンク。
  • 多数の独立したサイト全体にセキュリティを保証しながら、それと同時に、煩わしい手続きを最小限にとどめ、容易なアクセスを認証ユーザに保証すること。
  • 様々な場所にインストールされたソフトウェアのバージョンの一貫性を維持すること。
  • 異種ハードウェアの巧みな処理。
  • 異なるグループが、それぞれの必要性とインフラへの貢献度に基づいて公平にアクセスできるような、計算メカニズムの提供。

これほど大規模な分散型システムのセキュリティも大きな課題です。粒子が初めて粒子加速器の周りを飛び回った9月10日に、ギリシャの複数のハッカーが大型ハドロン衝突型加速器 (LHC)のCERNコンピュータシステムへ瞬間的にアクセスした(リンク)、と「The Telegraph」が報じたからです。

CERNで作業にあたる科学者や、この巨大粉砕器の運営組織は、ハッカーが成し得てしまうことを心配しました。ハッカーはこのマシンの巨大検知器に備えられたコンピュータ制御システムに「あと一歩のところ」まで到達していたからです。マシンの超大型磁石は重さ12,500トンで、長さ約21メートル、奥行き/高さは15メートルあります。

ハッカーが2番目のコンピュータ・ネットワークに不法侵入していたなら、巨大検知器の一部を停止させることができたはずで、「こうしたものは誰の邪魔が入らなくても、作動させることすら大変なのに」と関係者が語っていました。

この不法侵入の結果、Webサイトcmsmon.cern.chはこの論文の執筆時も、いまだ一般からアクセスできない状態にあります。

LCGを動かすオペレーティング・システムは、Scientific Linusディストリビューション(リンク)で、フェルミ国立加速器研究所(Fermilab)(リンク)やCERN、その他世界中の様々な研究室と大学が構築しています。

LHCコンピューティンググリッド(LCG)は、世界中に分散する約4万基のCPUで構成されており、こうしたCPUがデータを処理します。LCHに参加しているMacとPCは数あるソフトウェアの中でも、CERNが改作したScientific Linux(現在のところ、Scientific Linux CERN 4)(リンク)をロードしているでしょう。

これほど強力なグリッドが存在しても、グリッド上で動作する強力なソフトウェアが存在しなければ無意味なため、LCG Developers Guide(開発者ガイド)では、LCGのためにコード開発やコード修正を行っているすべての人々を対象に技術情報(リンク)を提供し、本番で求められる品質に適合させる手順を次のように説明しています。

ソフトウェアの開発手順は、いくつかの単純なステップに細分化できます。

  • CVS内で新規モジュールの作成。
  • コードおよびドキュメンテーションの記述。
  • コードの徹底したテスト。
  • 当該モジュールにCVSツリーのタグ付け。
  • 構築システムマネジャーに連絡を取り、構築するモジュールのリストにあなたのモジュールを追加。
  • Autobuildによって作成されたパッケージに問題がないことを確認。
  • パッケージの徹底したテスト。
  • 自動構築したパッケージをLCGに提出。
  • 統合および認可プロセスで発見されたすべてのバグを修正。

APIの開発にはC/C++、Java、Perlを使用し、文書化にはDoxygen、Javadoc、PODを使っています。グリッドではこのほか、以下のソフトウェアを使用しています。

  • The Berkeley Database Information Index (BDII)(リンク)
  • gLite(リンク) -- グリッドアプリケーション構築用のフレームワーク
  • Xen(リンク) -- バーチャルマシンを監視するソフトウェア
  • Glue 2(リンク) -- 情報システムの実装とは無関係のスキーマを介して表現される抽象的な情報モデル
  • Gridview(リンク)  -- 現在開発中の監視・視覚化ツールで、LCGの様々な機能面のハイレベルなビューを提供(Java、PHP、Oracle 10gがベース)

グリッドコンピューティングはLHCの課題すべてに対する唯一の解決策ではなく、ボランティアコンピューティングが道理にかなっているケースもあります。ボランティアコンピューティングは特に、たくさんの演算力は必要でも、データ転送は比較的小規模のタスクに向いています。2004年、CERNのIT部門はSETI@home(リンク)のようなボランティアコンピューティング・プロジェクトで使用されている種類の技術の評価に興味を持ちました。全体としてLHC@home (リンク)と呼ばれるようになったこうした取り組みは、ボランティアコンピューティング・プログラムであり、コンピュータの遊休時間をユーザが提供し、物理学者による粒子加速器の開発と利用を手助けします。 LHC@homeでは、ボランティアコンピューティングとデスクトップのグリッドコンピューティング向けのソフトウェアプラットフォームBOINC(リンク)を使っています。

グリッドコンピューティング(参考記事リンク)アーキテクチャ(参考記事リンク)についてさらに知りたい場合は、InfoQで調べることができます。

 

原文はこちらです:http://www.infoq.com/articles/lhc-grid
(このArticleは2008年10月1日に原文が掲載されました)

この記事に星をつける

おすすめ度
スタイル

BT