グーグルデータセンターの内側--明らかにされた独自性

文:Stephen Shankland(CNET News.com) 翻訳校正:ラテックス・インターナショナル、編集部
2008-06-09 10:40:00
  • このエントリーをはてなブックマークに追加

 GoogleはMapReduceを使って、「new」「york」「restaurants」という単語をすべて含むウェブページをまとめたインデックスを比較的短時間で作成できる。「適度な時間で作業を終えるには、数千台のマシンで実行できなければならない」(Dean氏)

 Googleでは、MapReduceソフトウェアの利用が増えている。MapReduceによるジョブは2004年8月には2万9000件だったが、2007年9月には220万件になった。その間、1件のジョブの平均作業時間は634秒から395秒に減ったが、MapReduceのタスクの出力は193テラバイトから1万4018テラバイトに増えたとDean氏は言う。

Googleデータセンター内部 Googleデータセンター。床に扇風機を置いて冷却しているのがわかる。
提供:Stephen Shankland-CNET News.com/Jeff Dean-Google
※クリックすると拡大した図が見られます

 Dean氏によれば、Googleでは1日に約10万件のMapReduceジョブを実行し、1件のジョブが占有するサーバは約400台で、所要時間は約5〜10分だという。

 ここからおもしろい数字を導き出すことができる。サーバがMapReduce専用で、各サーバが実行するジョブは一度に1件だけとし、24時間稼働すると仮定すると、各ジョブの所要時間が5分の場合、MapReduceは約13万9000台のサーバを占有していることになる。ジョブの所要時間が7.5分であればサーバ台数は20万8000台、10分ならば27万8000台になる。

 わたしの計算はまったく的外れの可能性もあるが、質的な面から見てもこれは圧倒的な計算能力である。

フォールトトレラントソフトウェア

 言うまでもなく、MapReduceはGFSと同様に、サーバの問題を回避するために開発されたものである。

 「マシンが故障した場合、マスターは、そのマシンに割り当てられていたタスクを把握しており、他のマシンにそのマップタスクを引き継ぐよう指示する。たとえ100件のマップタスクが失われても、100台のマシンでタスクを再開できる」(Dean氏)

 以前、1800台のサーバで構成されるクラスタでの保守作業中に、本格的なMapReduceの信頼性のテストが行われた。作業担当者が一度に80台のマシンの電源を抜いたところ、残りの1720台のマシンがその穴を埋めた。「動作速度は少し落ちたが、すべて終了した」とDean氏は語る。

 また、Dean氏は、2004年のプレゼンテーションでは、1800台のサーバで構成されるクラスタで1600台のサーバが故障しても耐えられると述べていた。

次世代データセンターの今後の課題

 そんなわけで、Googleではすべてが順調だ。しかし、おそらくGoogleは満足しておらず、今後なすべきことをたくさん考えている。

 ほとんどの企業は、ジョブをサーバから別のサーバにスムーズに移動する方法を考えているが、Googleの課題はけたが違う。Googleはジョブをデータセンターから別のデータセンターに移動できるようにしたいと考えている。しかも自動的にだ。

 「Googleの次世代インフラは、個々のインスタンスではなく大量のマシンで動作するシステムにしたいと考えている」(Dean氏)

 現在、大規模ファイルシステムには、GFS/Oregon、GFS/Atlantaなど異なる名前が付けられているが、これらは互いのコピーという位置づけである。「名前空間をひとつにしたい」とDean氏は言う。

 これらはGoogleの規模を考えれば実に難問だが、Googleよりも規模の小さい多くの企業は間違いなくGoogleをうらやましく思うだろう。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]