パスワードを忘れた? アカウント作成
130615 story
スパコン

100万もの仮想マシンを1システム内で動かす「仮想クラスタシステム」 38

ストーリー by hylom
クラスタの中にクラスタが 部門より

oddmake 曰く

サンディア国立研究所のニュースリリース「Sandia computer scientists successfully boot one million Linux kernels as virtual machines」によると、同研究所の計算機科学者Ron MinnichとDon Rudishらにより、1つのクラスタシステムで仮想化された百万ものLinuxマシンを同時起動させることに成功したそうだ。

使用されたシステムは、4480ノードのDellのハードウェアで構成された「Thunderbird」というクラスタ。2005年のスーパーコンピュータTop500ランキングで、地球シミュレータ(当時7位)をおさえて5位にくいこんだスーパーコンピュータである(当時のITmedia記事)。実験ではこのThunderbirdの各ノードで250個の仮想マシンを起動させた。単純計算では112万個の仮想マシンが同時起動したことになる。

研究の目的の一つとしては、多数のマシンが関与するボットネットの振舞いを、仮想環境で実験/観察して対処の方法を調べることなどがある。

また、現行のクラスタよりさらに多数のノードを持つクラスタのモデルを作るのにも役立つのではないかと期待されている。実機クラスタが出来あがる前にOS、管理構成ツール、計算用ソフトウェアなどの開発ができるようになるというわけだ。2018年には1億CPUのスーパーコンピュータが必要になっているそうだが、それが実際に製作された時には、必要なOSやアプリが揃ってすぐ使える環境になるのだとMinnichは言っている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by phenix (31258) on 2009年08月11日 17時35分 (#1621022)

    100万台でメールの送受信を行うんですね?

  • by Anonymous Coward on 2009年08月11日 17時39分 (#1621024)
    ‥と思って原文をみたところ、インターネットのシミュレートをして
    Botnetなどの動きを再現してセキュリティ向上策を練るなどの用途ということね。
    それなら大量の仮想マシンは意味があるな。群集の実シミュレートなのだから。
    • Re:何の為の実験か? (スコア:2, すばらしい洞察)

      by 127.0.0.1 (33105) on 2009年08月11日 18時36分 (#1621060) 日記
      でもLinuxだと正確なシミュレートにならないんじゃないかなぁ。
      やはりWindowsでないと……ってライランス料金が恐ろしいかも~。

      4480ノードそれぞれでライセンス料金が発生するかな。
      仮に全部XPにして大雑把に1ライセンス1万円と仮定しても、
      4480万円か。あれ、そんな大したことない?
      親コメント
      • Re:何の為の実験か? (スコア:2, おもしろおかしい)

        by Anonymous Coward on 2009年08月11日 20時08分 (#1621105)

        まずLinuxをインストールしてシェア変動にMicrosoftがどう反応するかシミュレート。
        その後海賊版WindowsをインストールしてMicrosoftが(以下略

        親コメント
      • by Stealth (5277) on 2009年08月12日 11時35分 (#1621461)

        botnet により引き起こされる悪影響のシミュレーションという点では、別に Windows のシステム自体をシミュレートする必要は全く無く、botnet 側が指示に従って行動できれば十分じゃないんですか?
        それと、デフォルトインストールでアップデートが放置されている x86 ベースの Linux なんかは OpenSSH 他に大量の穴があるまま放置されている状態ですし、botnet により構成されるマシン群は Windows でのみ構成されていると考えるのは認識が甘いとしか言いようがないでしょう。

        また、Windows が botnet を構成する要素として実際に多いのは実稼働数の問題。侵入後どのようなプログラムで制御するか、どのような行動を取らせるかという点においては導入プラットフォームがどんなものであるかは特に関係ないでしょう。

        それらとは別に、Linux の方が "軽い" 仮想環境を構築できるから、というのが今回 Linux を利用した最大の理由じゃないでしょうか。

        親コメント
        • > botnet により引き起こされる悪影響のシミュレーションという点では、
          > 別に Windows のシステム自体をシミュレートする必要は全く無く、
          > botnet 側が指示に従って行動できれば十分じゃないんですか?

          それはその通りかも知れません。

          > botnet により構成されるマシン群は Windows でのみ構成されていると
          > 考えるのは認識が甘いとしか言いようがないでしょう。

          そもそもrootkitがでてきたのはun*x方面からですし、
          Windowsのみとはさすがに思わないですが、ではBotに支配されている
          Linuxマシンや、Linuxを対象とするBotはどれくらいあるんでしょうね。
          親コメント
          • by Stealth (5277) on 2009年08月18日 17時39分 (#1625015)

            Windows 機で bot に支配されているマシンの総数が出せないように、Linux でも出せないんじゃないでしょうか。

            ちなみに私の周囲では、Windows で乗っ取られた事がある人はいませんが、Linux では一人 rootkit を仕込まれた人がいます。
            また、Windows の場合は "Windows Update を適切に適用していれば" 一定期間ごとに悪意あるソフトウェアの削除ツールが実行されるため、とりあえず Windows Update を適用しているマシンであれば感染していても駆除される可能性があります。この点は Linux などで rootkit が仕込まれていた場合より安全と言えるでしょう。

            え、サポートが切れた Windows? そんなの Windows に限らずどの OS だって危険な事には変わりないですね。
            Windows だから危険、*NIX だから安全、なんていう考え方の方が気持ち悪いですし、本質を見失うと思います。

            親コメント
        • by Anonymous Coward
          Windowsってネットワークブートできないよね…?
      • by Anonymous Coward

        そもそも大規模なら色々融通が利くし。
        宣伝効果とかを武器にしたり。マックのコーラみたいに。

        • by Anonymous Coward
          MSDNで大量に買うならOS一本あたり5千円は切るかな?
          昔あったMSDN Deluxe Editionだと1パッケージが5万円程度で10インストール可。
          • by Anonymous Coward
            あれ?
            同一ユーザー縛りだったかテスト縛りだったかで無制限になるライセンスなかったっけ?
      • by Anonymous Coward
        > やはりWindowsでないと……ってライランス料金が恐ろしいかも~。

        開発・評価用のライセンスであれば何台にいれても人数分しかライセンス料はいらないんじゃなかったでしたっけ?
    • Winny開発の為の実験だ! (スコア:1, おもしろおかしい)

      by Anonymous Coward on 2009年08月12日 1時23分 (#1621294)
      金子さんもこれを使えば逮捕されずに済んだものを
      親コメント
  • by Anonymous Coward on 2009年08月11日 22時40分 (#1621206)
    クラスタリングがスーパーコンピューターやレンダリングファームとして普及していることは知っていますし
    巫女ぐにゅがはじめて某カタログに乗ったころにクラスタリングも身近になったんだなぁと思いました。

    が、未だ自宅でクラスタリングって無いですよね。

    そこそこ高性能のPCを数十台や数百台組み合わせて、その上でLinuxを動かすというのは
    やはり、その上でx86用のLinuxを動かしているのだと思いますが…
    1ノードが一つのx86PCだという解釈は合っていると思っているのですが
    やはり、専用の計算ソフトでなければ、複数ノードを使って
    一つのプログラム(つまり一つの仮想マシン)を高速に動かすことはできないのですか?

    たとえば、PentiumIIIくらいのパワーの家電が10台あれば
    それがクラスタを形成し、その上の一つの仮想マシンで効率よく
    GnomeやAeroGlassを快適に動かせるとか?そういうわけにはいかないのでしょうか?

    単に、そういった実装が実現されていないだけ?
    GbEが遅すぎるからそんな曲芸はできないってだけ?
    未来のデスクトップOSはパソコンではなく、多数のデジタル家電の上で動いたりしないのですか?
    • by Anonymous Coward on 2009年08月12日 13時26分 (#1621540)
      CPUの性能は足し算できない、というのに複数意味があって、簡単に既存のソフト処理を分散することに絞って考えてみても
      1. 一つのタスクを分割するには、ソースコードを書く側とコンパイラ双方で一つのCPU向けとは異なる実装が必要です。既存のタスク分割にはソフトはアルゴリズムから作り直しが前提になります。
      2. それとは別に複数のタスクに分割されている物をマシン分散して実行する分には、BOINC的な手法でできないことはありません。distccの分散コンパイルなどはこの手法です。

      しかしこれらをリアルタイムで行うにはネットワーク環境が2重の意味でボトルネックになります。
      通常PC1台だとメインメモリ->バス->CPU程度の通信で済んでいる処理が、
      メモリ->バス->CPU->バス->PCI->PHY->ネットワーク*2(折り返し)*分散数
      ぐらいに増えてしまうことが一つ。
      それだけでもリアルタイムでの処理を分散でやるのが厳しいのは明らかです。
      バックグラウンドの処理だけまわす、という意味ではCore2のほうが遥かに効率が優れています。

      もうひとつは、複数台マシンがある場合には、処理を分割、収集するマシンは
      返答が確実に別々の時刻に来るように管理するか、
      少なくとも分散する数の半数以上の返答を同時に受けられる程度に太い回線を持たなければ、
      複数台同時の処理に待ちが出てしまい分散の効果が著しく下がります。
      また、収集サーバの能力もボトルネックの一つで、
      極端な例ではGbEの上限で収集し続けるような状況ではサーバのHDDがボトルネックになるなどして
      結果収集のためにハードウェア負荷分散のラウンドロビンを立てるハメになったりします。
      当然その分効率は下がります。
      CPUに関してはLVMなどでできるストレージと比べて足し算でスケールメリットを得るのが難しいと言えるでしょう。

      Google以前の記憶ですが、PCで単純に負荷を分散した場合、分散の効率は4分散〜16分散で飽和してしまい、
      それ以上では効率が落ちていたように思います。4以上で効率が上がる物の方が少なかったです。
      やや曖昧な記憶なのですが、効率だけ考えると2分散が一番効率よかったと記憶しています。
      適当に拾ったPDFですが、グラフはほぼこういった傾向になってました。
      http://www.iri-tokyo.jp/research/seika/guriddo.pdf [iri-tokyo.jp] グリッドコンピューティング応用@都立産業技術研究所 (PDF)
      もちろん処理の内容に激しく依存するデータなので一概には言えません。
      しかし、バラバラなリクエストがバラバラに存在するようなGoogleのような環境ではなく、
      一人で使うデスクトップなど、せいぜい数百程度のタスクを一人二人が起こすような環境で
      効果を実感できる分散処理となると、ゼロからソフトを作り直しても厳しい物があると思います。
      速いマシンで作業していて待ちがある程度に重い処理、エンコードなどは処理次第で速くできるでしょうが。

      一台で疑似2〜4CPU(足かせ無し)というここ数年のCPU環境は
      過去のCPU10台足し算しても得られない効率で働いています。
      ありがたく乗り換える方を電気代的な意味でお薦めします。
      動かしたいのは止めようがありませんが、電気メーターが回るスピードが10倍違うと家族の視線が痛いです。

      #Xgirdのその後が気になってましたが、もう離れて長いので忘れることにしました。

      親コメント
    • by Anonymous Coward
      いくつかの商用・フリーOSではネットワーク接続された複数のPCを論理的な一台のPCに見せる事は出来ます。

      並列化されていないプログラムは物理的に速い(一台の)PCで走らせる以外に速く実行する方法はありません。
      • by Anonymous Coward
        > 並列化されていないプログラムは物理的に速い(一台の)PCで走らせる以外に速く実行する方法はありません

        それを何とかする方法はないの?コンパイラレベルで。
        (言ってみただけ)
    • by Anonymous Coward

      >PentiumIIIくらいのパワーの家電が10台

      そんなに電気と場所と通信インフラとプログラマーの創意工夫を使わなくても、3~5万も出せば余裕で一台で

      >GnomeやAeroGlassを快適に動かせる

      からじゃないすかね。どう考えてもコストパフォーマンスが悪い。

      • by Anonymous Coward
        それ以前に普通の家庭なら1台のPCでマルチタスクするだけで十分ってこと多いし。
        クラスタって業務環境でヘビーな用途が主だから。
        • by Anonymous Coward
          あ、コメント先間違えた。正しくは大元(#1621206)。
  • 脳- (スコア:1, 興味深い)

    by Anonymous Coward on 2009年08月12日 12時40分 (#1621493)
    シナプスのシミュレーション出来ないかなぁ。
typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...