情報処理学会は、16日から17日にかけて東京・港区の機械振興会館でコンピュータ関連のシンポジウム「第16回コンピュータシステム・シンポジウム」(ComSys2004)を開催している。初日の16日には米Googleの技術部門におけるディレクターで、社員番号1番という創業メンバーの1人、Craig Silverstein氏を招待。「Googleとそのシステム」と題して招待講演が行なわれた。
● チープなマシンで分散型のシステムを構成。障害はソフトウェアで乗り切る
|
米Googleの技術部門におけるディレクターで、社員番号1番という創業メンバーの1人、Craig Silverstein氏
|
Silverstein氏はまず、「Googleのミッションについては、世界中の情報を体系付けること。そしてその情報をいつでもどこでもアクセス可能で、役に立つものにすることだ」とコメント。Googleでは検索対象ページをこれまでの約40数億ページから、約2倍となる約80億ページに拡充したばかり。容量は1ページあたり平均10KB、合計で10TBにも達するという。また、8億8,000万件の画像や、3,500万件のPDFやOfficeなどHTML以外のドキュメントに加え、Usenetの3万5,000のニュースグループでやり取りされているメッセージ8億件も検索対象となっている。
この巨大な検索対象だが、「巨大ではあるがコントロールはできる」とSilverstein氏。この裏付けとして、大規模なコンピュータシステム、大容量なストレージ、ネットワーク構成、ソフトウェアなどGoogleの設備や技術面での優位性をあげた。
ハードウェア的な面では、詳細は明らかにしていないが低価格の一般的なPCを用い、各コンピュータが独立した構成の信頼性が高い分散型のシステムを構築。「Intel製CPUが搭載されたハイエンドなサーバーマシンを8Wayで利用する場合、動作周波数2GHzのXeonを8個、メインメモリには64GB、HDD容量には8TBを装備することになるが、価格は75万8,000ドルだ。しかし、一般的なPCを利用すれば27万8,000ドルで、2CPUを搭載するマシンを88台用意できる」という。「この場合のCPU数は2GHzのXeonを176個、メインメモリは1台2GBとして176GB、HDD容量は最大7TBまで搭載可能だ」とし、価格は3分の1で、22倍のCPU、3倍のメモリを搭載できると解説した。
また、「Googleのシステム規模では、毎日何台ものマシンが壊れている」とコメント。しかし、レプリケーションや冗長性などを実現する耐障害性の高いソフトウェア(Fault-Tolerant Software)を開発し、「チープなマシンの故障を乗り切っている」という。
|
|
スタンフォード大時代のGoogle
|
1999年のサーバールームの様子
|
|
2000年にはデータセンターを構築
|
|
|
2001年には新しいデータセンターも
|
新データセンターも建てて3日後にはサーバーで満杯になったという
|
● GmailのシステムはPBサイズのファイルシステムとして運用可能
|
Google Query Serving Infrastructure
|
Silverstein氏は「この分散型システムでも、各マシンにかかる負荷は相当なものだ」と解説。負荷を減じるために、PageRank機能を利用してデータ全体を細かくグループ(Googleでは「Shards」と呼んでいる)分けし、このShardsの処理を各マシンに振り分けるのだという。こうした一連の動きが「Google Query Serving Infrastructure」で、1つのクエリに対して1,000台以上のマシンが集中的に処理を行ない、検索結果が表示されるまでに必要な時間が0.25秒という結果に結びつく。
このほかにも、1GBのWebメールサービス「Gmail」に利用されている分散ファイルシステム「Google File System」(GFS)や、巨大なデータ処理を単純化する「MapReduce」について解説した。
GFSは、数百TBクラスの広大な容量に対して高速なアクセスと高い冗長性を実現するシステムで、1つのマスターサーバーに対して複数のチャンクサーバーがぶら下がる構造だ。マスターサーバーはメタデータを管理し、データファイルを64MB単位のチャンク(塊)として保存するチャンクサーバーのインデックスを作成する。クライアントは、マスターサーバーとチャンクサーバーに対して交互にアクセスし、チャンクサーバーから実際のデータを取得できる仕組みになっている。Silverstein氏によれば、「GFSは巨大なクラスタ構造になっており、PB(ペタバイト)サイズのファイルシステムとして運用可能だ。1秒間に2,000MB以上の読み込み/書き込みに耐えることができる」という。
MapReduce(MR)は、分散処理の自動化や効率化などで巨大なデータ処理を単純化するほか、先に述べた耐障害性(Fault-Tolerant)にも優れたシステムだという。例えば、あるキーワードの入力件数を調べる場合、入力されたキーワードから「Map」という処理でホストネームを自動的に設定し、そのホストネームを「Reduce」という処理で合計して数値を出力する。Silverstein氏によると「MapとReduceといったように処理が分散されているため、障害にも強い」とコメント。Google Newsなどにも利用されているとした。
|
|
Google File System
|
MapReduce
|
● 「もし気に入ったなら、一緒に働きましょう」
ハードウェア、システムを解説したSilverstein氏は最後に、Googleにおける仕事の考え方を紹介。「エキサイティングな問題に対して仕事をする」「世界中のみんなに影響を与える」「可能な限りアルゴリズムで問題を解決する」「新しいことへのチャレンジを恐れない」などを列挙し、「もし気に入ったなら、一緒に働きましょう」と会場へ呼びかけて講演を締めくくった。
関連情報
■URL
情報処理学会・第16回コンピュータシステム・シンポジウム
http://www.ipsj.or.jp/sig/os/pukiwiki.php?ComSys2004
Google
http://www.google.co.jp/
■関連記事
・ Googleのインデックス数が80億ページに~従来の約2倍に拡充(2004/11/11)
( 鷹木 創 )
2004/11/16 18:49
- ページの先頭へ-
|