October 20, 2004

Google全体像

前回、Google File Systemが話題になりましたが、今回はGoogle Clusterの全体像を取り上げたBarroso et al, Web Search for a Planet: The Google Cluster Architecture, IEEE Micro 2004 March-Aprilから紹介します。

Barrosoは冒頭から「平均して、一つのクエリーに対して、数百MBのデータ読み込みと、数百億(数十ギガ)のCPU Cycleが消費される」と述べています。私が思っているよりも途方もなく大きな数字で度肝を抜かれました。たしかに要約を作成したりするには、それくらいの仕事が要求されるのでしょう。「ピーク時で秒間数千件に上るクエリーを処理するには、最大級のスーパーコンピュータに匹敵するインフラが必要となる」というくだりでは、逆にピーク時の件数の少なさに驚きました。

Googleではその大きな仕事量を徹底して並列化することで、1秒未満の応答速度を確保しています。まずDNSロードバランスによって、地理的に分散したクラスタのうち最適なものに割り当てられます。その後、ハードウェアロードバランサによって一つのGoogle Web Server(GWS)へとリクエストが引き渡されます。

GWSは一つのリクエストを数台のIndex Serverに問い合わせ、スコア付きヒットリストを受け取ります。その後、GWSはDocument Serverに問い合わせて、ヒットしたページのタイトル、要訳、URLなどを受け取り、それをクライアントに返します。

「Document ServerクラスタはWeb全体の低レイテンシのコピーにアクセスできる必要がある。実際、性能と可用性のためにGoogleは数ダースのWebのコピーをクラスタに保持している」ということで、GoogleのなかにはWebがまるごと入っているわけです。たしかにキャッシュなどの動作からもそれは明らかなのですが、それにしても壮大な計画ですね。

あとは高価なハードウェアよりもソフトウェアで性能向上・耐故障性向上ということで、いまの常識的な線が書いてあります。データセンターには特別に冷房と電源を強化しているようです。

Posted by arai at October 20, 2004 02:53 PM
Comments

勉強になりました.

Posted by: 通りすがり on October 22, 2006 06:43 AM
Post a comment














Please enter this 6digits Security Code (for SPAM's sake...).
spam対策のため6桁のセキュリティコードを入力してください。