« [ review ] Python cookbook chapter2 | トップページ | Google: 発明家になりつつある検索エンジン(2) »

2006/07/05

Google: 発明家になりつつある検索エンジン(1)

B3 Annex と MyLife Between Silicon Valley and Javan でも取り上げられていた、"A Search Engine That's Becoming an Inventor" の翻訳です。今回は比較的訳しやすい英文だったかな ( わっかんないところもあったけど )。

Google がシリコンバレーのガレージで卒業研究プロジェクトとして始動したとき、創始者の Larry Page と Sergey Brin は自分たちが使うコンピュータをやっすいパーツで自作した。彼らが組み立てたのは「パーソナルコンピュータ」だったのだ。彼らはコストを抑えたかったし、旧来のメーカーが作るものよりももっと効率のいいコンピュータネットワークを設計できると思っていたのだ。

Google はもうわずかなお金を切り詰める必要なんてなくなった。Google は 90億ドルもの預金をもつ、Fortune 500 の固定メンバーだ。しかし、いまだに Do-it-yourself の精神を貫いている。 Google は今年 15億ドル以上もオペレーションセンターと技術に費やして、独自に設計した膨大な数のサーバーを設置している。

ユーザにより近くなるように、レスポンスをより早くするように、 Google はオレゴン州ザダルスを含めて世界中にデータセンターを建設している。そこでは膨大な消費電力を抑えるための技術も使われている。コンュータが使うソフトウェアも、サーバーと同じく Google が一歩進んだツールを使って自作したものだ。これらは Google がマイクロチップでさえも自作する準備ができたという兆候だ。

「Google は検索エンジンと同じくらいインフラを重視している。Google は想像できそうもないほどのスケールでコンピューティングリソースを開発している。」と Gartner Group のアナリスト Martin Reynolds 氏は語る。 Reynolds 氏は、Google は Dell、Hewlett-Packard、IBM に続く世界4番目のサーバーメーカーだと語る。

Google の最大のライバルである Microsoft や Yahoo も、Google と同じようにソフトを自社開発しているしデータセンターも運営している。しかし、そこで動いているサーバーは Dell や Sun, Racable といったメーカーから購入しているのだ。

「自問自答しなきゃならないことがある。ビジネスの中心に据えていることは何かってことだ。ルータを自作して、世界規模で人気のある Web サイトを作りたいって?両方を行うのはかなり難しいよ。」と Yahoo の運営 ( operation ) 統括責任者 Kevin Timmons は語る。

Google は実際に両方をやろうとしている。多くの点で、Google は卒業研究という "頭脳" を実行する体 ( 多国籍企業 ) に結びつけた。既存のものよりもより多くの情報をより効果的に収集して処理できるネットワークを設計できるコンピュータサイエンティストを集めて成長する組織であること。これが Google の戦術の中枢なのだ。

Reynolds 氏は Google がコンピュータに使うことになるコストは他の巨大インターネット企業の半分程度で、古くからある企業の技術を使っているユーザは 1/10 だろうと見積もる。

Google はコストについてのコメントは避けているが、長所については語ってくれた。リサーチ&システムエンジニアリング担当副社長の Alan Eustance 氏が3月にアナリストに語ったところによると、「わたしたちと競争する企業がより安くより高速でより規模の大きいシステムを展開できるとは思えない。これがわたしたちに 2~4年分のリードを与えてくれる。」 のだそうだ。

こんな Google ののろけ話をよそに、反論もある。Google の「何でも自家製」主義は非効率的で不必要だ。今は急成長期にあることと広告事業の収益の高さで隠されているけどわがままな道楽に過ぎないというものだ。Google のライバルは自社のネットワークは十分にパワフルで効率的だと主張している。

「Google マジックなんてどこにもないよ。わたしたちは ( Google より ) ほんの少し多く機械にお金を使っている。しかし、同じことをしているし、機械を失うこともない。」 Microsoft の Bill Gates 会長はインタビューに答えて語った。

周知のことだけど、Google はその技術に関しては秘密主義だ。開発したものを新聞に載せたり、他社に特許のライセンスをするときも同様だ。Google と ベンダー共同の公式声明に加えて、契約を結んだ企業は企業のイメージををコンピュータ科学の限界を押し上げるように描かなきゃならないし、( Google の ) コンセプトをかなりの範囲にわたって適用しなきゃならない。

「Google はスーパーコンピュータ研究会から最良のアイディアを持ってきて ( 同社で ) 動いているシステムに組み込んでいる。」 The Google Legacy の著者 Stephen Arnold 氏はこう語る。

Google のイノベーション( 技術革新 ) のあるものは、どんどん増えていく技術コストを少しでも削減するための設計だ。去年、"drive-cooling baffle" という特許 ( 06906920 ) が承認された。これはラックに収められたコンピュータにかぜを通すものだ。

しかし、いくつかのイノベーションは、いくつものプロセッサで行われる並列処理を簡単にするソフトウェアのようにより際立ったものだ。

Urs Hölzle によれば、その中のひとつである MapReduce と呼ばれるプログラムはコンピュータサイエンスの分野で数十年にわたって研究されてきたアイディアを基にしている。「わたしたちを驚かせたものはものすごく役に立って、結局はそれがシステムに組み込まれるんだ」という。

Hölzle 氏が言うには「MapReduce はあまりぱっとしないソフトウェアエンジニアでも膨大な量のデータを扱えるようにするし、インフラを駆使できるようになる」ということだ。

コンサルタントの Arnold 氏はこれらのツールがコスト面で大きな利点をもたらしているという。「巨大な並列処理系のシステムではたらいているエンジニアと会話してみると、コーディングの時間の 30% がどうやってシステムが動いているのかを解明するために費やされていることがわかります。Google はどうやったら面倒で厄介な仕事を減らせて、並列処理アプリケーションをたくさん作り出せるのかを解明したのです。」

Gates 氏も MapReduce がとても素晴らしい技術だと認めたが、Microsoft でも独自の並列処理ソフトを開発していると主張した。Microsoft と Google の新たな技術戦争の始まりだ。

さらに、Google は汎用ツール、汎用システムを開発しているが、これも特定のアプリケーションシステムを開発する多くの企業と異なっている。Google はものすごい資金と多くのエンジニアを導入して、それらのシステムをどんどん組み立てているのだ。それらのツールはライバルと比べてより少ないお金で、より多くのモノを創り、より多くのことを成せるような優位性を確立できるだろう。

「ネットサービス運営において 30% のコスト優位性が得られれば、大きな差になる。」と Norwegian Search Company のチーフエグゼクティブ M. Lervik 氏は語る。

Arnold 氏は、Google の学術的なアプローチの軌跡は創始者たちの卒業研究だけじゃなく日常生活にも見ることができるという。創始者の2人はコンピュータ科学と数学の専門家の家庭出身なのだ。

「1996年から1998年はまだ未熟だった」と、Arnold 氏は Google の創始者について語る。「食卓で両親と会話するときに2人は多くのことを学んだのです。」

創始者の2人が Google を創るまでは、並列処理というのは学問の夢だった。並列処理は PC に使われるような安価な CPU と メモリ、ディスクドライブを組み合わせることで大規模システムの構築を可能にしたのだ。これらの部品は高品質なものはほとんどないし、頻繁に故障した。

Page 氏がパーツは基本的に壊れるものだということを前提に、初期の Google のサーバを設計した。最初彼は、部品をしっかりと止めてしまうのではなくてコルクのベッドの上にただ単に置くだけにした。簡単に組み立てられて、修理にかかる時間を短くするためだ。この方法では不安定であることが判明したので、ベルクロ ( 訳注: ナイロンテープを使った留め具のこと ) で固定することにした。

「わたしたちほど信頼性の低いサーバーを組み立てているところはない。と Hölzle 氏は去年の CERN で語った。Google は信頼性の中核をハードウェアからソフトウェアにシフトさせることでコストを削減しているのだ。ここのハードウェアパーツは壊れたとしても、ソフトが自動的にタスクとデータを他の稼動しているマシンに移行させるのである。

たとえば、Google は GFS: Google File System と呼ばれるシステムを設計した。( 訳注: GFS に関してはここ(PDF file) に論文が公開されています。Radium Softwarearai blog でも解説があります。) GFS ではデータのコピーが複数の場所に分散しているので、安いサーバのどれか1つが故障することを危惧する必要はないのだ。GFS は、他の企業のように、常時バックアップを取る必要がないということも意味している。

他に Google Work Queue と呼ばれるシステムがある。これは膨大なサーバ群に必要に応じてタスクを割り当てる仕組みだ。処理しているタスクが終われば、別のプロジェクトのタスクが割り当てられる。この “仮想化” と呼ばれるコンセプトは巨大なデータセンターを運営する人間の間ではトレンドになりつつある。オペレータは個々のサーバをそれぞれのシステムに割り当てるためのコストも削減したいと思っているからだ。しかし、大抵の企業はコンピュータが何をやっているのかとかをトラッキングするために商用ソフトウェアを購入している。

Google のサーバは安価なパーツでできているので、効率を良くするために、よりいっそう Google のアプリケーションに適合するように毎年変更を加えることができる。現在は AMD の Opteron を利用している。Opteron は Intel の CPU よりも消費電力が少ないのだ。

Google は AMD の最大の顧客だが、AMD の経営に詳しいとある半導体産業の幹部によれば、コンピュータの再販売はしていないという。( 原文は "Google is among Advanced Micro's five largest clients, and the largest that does not make computers to resell, according to a semiconductor industry executive with knowledge of Advanced Micro's business." 訳せません。ごめんなさい (>_<; ) )

同様に Google は Sun とも協業している。信頼性があって高価なシステムで知られる Sun は、倹約と自給自足を重んじる企業とはしっくり合わないように思える。しかし現在の Google の CEO である Eric E. Schmidt は Sun の元幹部である。そして Sun は省電力製に特に優れた CPU を開発しているのだ。

さらに、Google は検索エンジンで使われているサーバよりも信頼性の高いサーバの必要性を必要としている。というのも、Gmail や Google Checkout といったサービスでより重要な情報を扱うからだ。

サーバの向こうには、Google が独自の CPU を開発している兆候が見える。Google は、Alpha チップでよく知られる DEC の関係者を多数雇用している。

「Google の次のステップは半導体開発だ」と技術アナリストの Mark Stahlman 氏はいう。

Hölzle 氏は、Google は特注の半導体設計はあると語っているが、Google で実際に組み立てていることは否定した。Google は、いいものが購入できるなら、ゼロから開発しようとは思わないという。

しかし、と彼は付け加える。Google が自分自身で安くて早いコンピュータネットワークを作っていることこそが Google を最先端に位置づけていると信じている。

「比較的信頼性の低いマシンを大量に設置して、信頼性のあるサービスに添加するのは難しい問題だ。それはわたしたちがしばらくの間は続けていくことだ。」と Hölzle 氏は語る。

Reference
A Serch Engine That's Becoming an Inventor
( NewYorkTimes.com, Saul Hansell and John Markoff, 2006/07/03 )
「グーグル帝国」はマイクロソフトを超える--識者が予言
( CNET News.com, Elinor Mills, 2005/09/22 )
The Google Legacy ( Stephen E. Arnold, 2005 )
Google File System
( Google, Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung, 2003/10 )

|

« [ review ] Python cookbook chapter2 | トップページ | Google: 発明家になりつつある検索エンジン(2) »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/10793244

この記事へのトラックバック一覧です: Google: 発明家になりつつある検索エンジン(1):

« [ review ] Python cookbook chapter2 | トップページ | Google: 発明家になりつつある検索エンジン(2) »