百万のLinux仮想マシンを同時起動 38
タレコミ by oddmake
oddmake 曰く、
サンディア国立研究所のニュースリリース:Sandia computer scientists successfully boot one million Linux kernels as virtual machines によると、同研究所の計算機科学者Ron MinnichとDon Rudishらは仮想化された百万ものLinuxマシンを起動させたそうだ。
実験に使用された4480ノードのDellのハードウェアで構成されたThunderbirdというクラスタは、2005年のスーパーコンピュータTop500ランキングで地球シミュレータ(当時7位)をおさえて5位にくいこんだスーパーコンピュータである。(当時のITmedia記事)実験ではこのThunderbirdの各ノードで250個の仮想マシンを起動させた。単純計算では112万個の仮想マシンが同時起動したことになる。
研究の目的の一つとしては、多数のマシンが関与するボットネットの振舞いを、仮想環境で実験/観察して対処の方法を調べることなどがある。
また、現行のクラスタよりさらに多数のノードを持つクラスタのモデルを作るのにも役立つのではないかと期待されている。実機クラスタが出来あがる前にOS、管理構成ツール、計算用ソフトウェアなどの開発ができるようになるというわけだ。2018年には1億CPUのスーパーコンピュータが必要になっているそうだが、それが実際に製作された時には、必要なOSやアプリが揃ってすぐ使える環境になるのだとMinnichは言っている。
Thunderbird (スコア:2)
100万台でメールの送受信を行うんですね?
Re:Thunderbird (スコア:1, すばらしい洞察)
Re:Thunderbird (スコア:1, おもしろおかしい)
112万通のメールが届くわけですね。
#これでDoS攻撃も楽々
何の為の実験か? (スコア:2, 参考になる)
Botnetなどの動きを再現してセキュリティ向上策を練るなどの用途ということね。
それなら大量の仮想マシンは意味があるな。群集の実シミュレートなのだから。
Re:何の為の実験か? (スコア:2, すばらしい洞察)
やはりWindowsでないと……ってライランス料金が恐ろしいかも~。
4480ノードそれぞれでライセンス料金が発生するかな。
仮に全部XPにして大雑把に1ライセンス1万円と仮定しても、
4480万円か。あれ、そんな大したことない?
Re:何の為の実験か? (スコア:2, おもしろおかしい)
まずLinuxをインストールしてシェア変動にMicrosoftがどう反応するかシミュレート。
その後海賊版WindowsをインストールしてMicrosoftが(以下略
Re:何の為の実験か? (スコア:1)
botnet により引き起こされる悪影響のシミュレーションという点では、別に Windows のシステム自体をシミュレートする必要は全く無く、botnet 側が指示に従って行動できれば十分じゃないんですか?
それと、デフォルトインストールでアップデートが放置されている x86 ベースの Linux なんかは OpenSSH 他に大量の穴があるまま放置されている状態ですし、botnet により構成されるマシン群は Windows でのみ構成されていると考えるのは認識が甘いとしか言いようがないでしょう。
また、Windows が botnet を構成する要素として実際に多いのは実稼働数の問題。侵入後どのようなプログラムで制御するか、どのような行動を取らせるかという点においては導入プラットフォームがどんなものであるかは特に関係ないでしょう。
それらとは別に、Linux の方が "軽い" 仮想環境を構築できるから、というのが今回 Linux を利用した最大の理由じゃないでしょうか。
Re:何の為の実験か? (スコア:2)
> 別に Windows のシステム自体をシミュレートする必要は全く無く、
> botnet 側が指示に従って行動できれば十分じゃないんですか?
それはその通りかも知れません。
> botnet により構成されるマシン群は Windows でのみ構成されていると
> 考えるのは認識が甘いとしか言いようがないでしょう。
そもそもrootkitがでてきたのはun*x方面からですし、
Windowsのみとはさすがに思わないですが、ではBotに支配されている
Linuxマシンや、Linuxを対象とするBotはどれくらいあるんでしょうね。
Re:何の為の実験か? (スコア:1)
Windows 機で bot に支配されているマシンの総数が出せないように、Linux でも出せないんじゃないでしょうか。
ちなみに私の周囲では、Windows で乗っ取られた事がある人はいませんが、Linux では一人 rootkit を仕込まれた人がいます。
また、Windows の場合は "Windows Update を適切に適用していれば" 一定期間ごとに悪意あるソフトウェアの削除ツールが実行されるため、とりあえず Windows Update を適用しているマシンであれば感染していても駆除される可能性があります。この点は Linux などで rootkit が仕込まれていた場合より安全と言えるでしょう。
え、サポートが切れた Windows? そんなの Windows に限らずどの OS だって危険な事には変わりないですね。
Windows だから危険、*NIX だから安全、なんていう考え方の方が気持ち悪いですし、本質を見失うと思います。
Re: (スコア:0)
Re:何の為の実験か? (スコア:1)
Phantosys [atmarkit.co.jp]、Provisioning Server [citrix.co.jp]、VID システム [mintwave.co.jp] とかもありますし、日立は自社内の PC (Windows 環境) をシンクライアント化してますよね。
それらとは別に、WinPE をネットワークブート [hatena.ne.jp]したり (今回の目的には使えませんが……)、WDS でネットワークブートして導入 [microsoft.com]などもできますよ。
USB 1.1 しかない ThinkPad X3x とかだと、USB DVD ドライブから Windows を入れるより 100Mbps な有線 LAN から Windows を入れたほうが圧倒的に速くて悲しかったです。
Re: (スコア:0)
そもそも大規模なら色々融通が利くし。
宣伝効果とかを武器にしたり。マックのコーラみたいに。
Re: (スコア:0)
昔あったMSDN Deluxe Editionだと1パッケージが5万円程度で10インストール可。
Re: (スコア:0)
同一ユーザー縛りだったかテスト縛りだったかで無制限になるライセンスなかったっけ?
Re: (スコア:0)
開発・評価用のライセンスであれば何台にいれても人数分しかライセンス料はいらないんじゃなかったでしたっけ?
Winny開発の為の実験だ! (スコア:1, おもしろおかしい)
クラスターとx86向けOSの関係がよくわかりません。 (スコア:2, 興味深い)
巫女ぐにゅがはじめて某カタログに乗ったころにクラスタリングも身近になったんだなぁと思いました。
が、未だ自宅でクラスタリングって無いですよね。
そこそこ高性能のPCを数十台や数百台組み合わせて、その上でLinuxを動かすというのは
やはり、その上でx86用のLinuxを動かしているのだと思いますが…
1ノードが一つのx86PCだという解釈は合っていると思っているのですが
やはり、専用の計算ソフトでなければ、複数ノードを使って
一つのプログラム(つまり一つの仮想マシン)を高速に動かすことはできないのですか?
たとえば、PentiumIIIくらいのパワーの家電が10台あれば
それがクラスタを形成し、その上の一つの仮想マシンで効率よく
GnomeやAeroGlassを快適に動かせるとか?そういうわけにはいかないのでしょうか?
単に、そういった実装が実現されていないだけ?
GbEが遅すぎるからそんな曲芸はできないってだけ?
未来のデスクトップOSはパソコンではなく、多数のデジタル家電の上で動いたりしないのですか?
Re:クラスターとx86向けOSの関係がよくわかりません。 (スコア:1, 興味深い)
しかしこれらをリアルタイムで行うにはネットワーク環境が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のその後が気になってましたが、もう離れて長いので忘れることにしました。
Re: (スコア:0)
並列化されていないプログラムは物理的に速い(一台の)PCで走らせる以外に速く実行する方法はありません。
Re: (スコア:0)
それを何とかする方法はないの?コンパイラレベルで。
(言ってみただけ)
Re:クラスターとx86向けOSの関係がよくわかりません。 (スコア:1, おもしろおかしい)
ありません。
Re: (スコア:0)
10人月だからといって、100人突っ込めば2,3日で終わるなんてこと無いよね。
Re: (スコア:0)
破綻という意味で。
Re: (スコア:0)
>PentiumIIIくらいのパワーの家電が10台
そんなに電気と場所と通信インフラとプログラマーの創意工夫を使わなくても、3~5万も出せば余裕で一台で
>GnomeやAeroGlassを快適に動かせる
からじゃないすかね。どう考えてもコストパフォーマンスが悪い。
Re: (スコア:0)
クラスタって業務環境でヘビーな用途が主だから。
Re: (スコア:0)
脳- (スコア:1, 興味深い)
Re: (スコア:0)
そこには、「ひゃくまんこのあな」があるのですね。
#あってる?
Re:100万もの嫁を1システム内で動かす「仮想アレスタシステム」 (スコア:2)
いいえ、穴も仮想化されてます。
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
それ仮想やない (スコア:0)
Re: (スコア:0)
米国なら懲役何百年になるか、
Re: (スコア:0)
最初のひとりは重婚じゃないんじゃ?
・・・重婚罪嫁-1
だったら恐いな。
Re: (スコア:0)