designed by www.qrone.org
January
2009
Su Mo Tu We Th Fr Sa
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
INFOMATION
- 自己紹介
- マイミク申請はお気軽に:-)
- いまいち使い方がわかりません
- 気になるURLをクリップ
- Awstats を使っています
RECENT ENTRIES
CATEGORIES
MONTHLY ARCHIVES
HATENA BOOKMARK
BLOG PET
LICENCE
CONTACT
shin at windy dot ac
2005年3月 8日
googleのJeff Dean氏がワシントン大学で行った講義をてきとーに解説してみる このエントリーを含むはてなブックマーク

Google: A Behind-the-scenes Look
http://norfolk.cs.washington.edu/htbin-post/unrestricted/colloq/details.cgi?id=274

 

googleのJeff Dean氏がワシントン大学で行った講義の様子。
googleって外部であまりこういうプレゼンをしないという印象があり、
わりと貴重な映像かと思います。

以下、適当に内容をまとめます。

 

講義全体を貫くテーマは、「巨大なデータをどうやって扱うか」ということ。
googleが持っているWebページの数は40億に達しており(講義では40億と言っているけど、
最近の発表ではもっと大きな数字だった筈)、データの容量にすると何十TBにもなる。

それだけの規模のデータを扱うには、巨大なストレージと高速なネットワーク、
そして特別なソフトウェアが必要になる。


・ハードウェア、ネットワーキング
 -基礎的なプラットフォームを廉価に構築する
・分散システム
 -たくさんのマシンを使って信頼性の高いシステムを構築する
・アルゴリズム、データ構造
 -新しくてinterestingな方法で、能率的にデータを処理する
・機械学習、情報検索
 -巨大なデータを分析することにより、検索結果のクオリティを上げる
・ユーザインターフェース
 -affectiveなインターフェースをデザインする
・その他


(たぶんみなさんご存じの通り)googleでは廉価なマシンを沢山つかってシステムを構築している。
なぜ廉価なマシンを使うのかというと、単純に、コストパフォーマンスが良いから。
高価な高信頼性サーバと廉価なマシンとで、コスト当たりの処理性能を比べると、
圧倒的に後者のほうが有利になる。
もちろん廉価なマシンは信頼性で劣っていて壊れやすいんだけど、
そこはソフトウェア(OSやミドルウェアのレイヤ)でケアしてやる。
重要なのはreplication and redundancy(複製と冗長性)だ。
スライドには
「Fault-tolerant software makes cheap hardware practical」
という一文が赤字で書かれている。

googleのインデックスは小さく分割され、"shards"という単位で管理される。
shardsは必ず複製されて複数台のマシンに置かれる。
また、PageRankの高いshardsはより多くのマシンに置かれる。

googleのサーバは大きくindex serversとdoc serversに分かれる。
index serversではインデックスのshardsを、doc serversでは
ドキュメント本体のsharedを管理する。
googleのフロントエンドサーバがユーザから検索クエリを受け取ると、
index servers -> doc serversと問い合わせをおこない、
次いで挿入される広告(AdSense)のチェックやスペルチェックといった
副次的な問い合わせを行い、処理結果を作成する。
この一連の処理は、1000台を超えるサーバが連携して行われる。
その処理時間はおよそ0.25秒である。

googleを支えるソフトウェア(In-house solutions):
 ・Google File System(GFS)
 ・Global Work Queue(GWQ)
 ・MapRedce

GFS。
巨大な分散ストレージシステム。構成されるマシンはmasterとchunk serverに分けられ、
masterではメタデータ(どこにどのデータがあるかという情報)のみを持つ。
実際のデータを持つのはchunk server。データは"chunk"と呼ばれる64MBのデータ片に分割されて格納される。
個々のchunkは複製されて3つのchunk serverに置かれる。
また、クライアントとのデータの転送は、chunk serverとの間でダイレクトに行う(いちいちmasterを経由しない)。

書くのが面倒になってきたのでひとまずここまでで。
それにしてもこれくらいの速度で話されるとやはり辛い。
ちゃんと英語を聞き取れる耳がほしい。

続くかなあ。

トラックバック URL :
http://windy.ac/mt/mt-tb.cgi/327
名前 :

URL :

コメント :

今日の井原. Since 2003.11.12 by Ihara
614 Entries - 0 Comments