お使いのブラウザは最新版ではありません。最新のブラウザでご覧ください。

CNET Japan ブログ

ハードウェアの小型化がもたらすスケール・シフト

2004/10/01 23:45
  • このエントリーをはてなブックマークに追加

技術革新でモノが小さく・軽く・安くなるということは、強烈な可能性を秘めている。

モノが安くなって嬉しいという「いま」を享受するのは消費者のセンス、これが続けばすごいチャンスだと想像力たくましく「未来」を考えるのがビジネスパーソンのセンス。ここには大きな違いがある。

例えば「半導体の集積密度は18ヶ月で倍増する」というムーアの法則がある。

この法則には、実は3つのエッセンスが込められている。

ひとつは、複利計算のマジック。例えば、この法則を性能についての法則だと解釈すれば、「1年半ごとに性能が倍になる」というような読み替えができる。3年で4倍、6年で16倍、9年で64倍、12年で256倍、15年で1024倍だ。こうして改めて具体的に示されるとびっくりする人もいるだろうが、事実、半導体技術のイノベーションは驚くほど正確にこの法則に追従してきた。

もうひとつは、ポイントを集積度に置いたこと。つまり、大きさが重要だということが、きちんと織り込まれているということ。ものの大きさは用途に直結する。用途を変えずに性能を引っ張ることができるということは、新たな市場を開拓しなくても、すでにビジネスが成立している市場で長期的かつ計画的にビジネスができるということを意味する。

そして最後のひとつは、あまりに急激なカーブで集積度が上がると、主流用途ではオーバースペックになっていき、次は性能の方を固定して大きさの方を小さくしていくという選択肢が増えることだ。モノの大きさが変われば、用途が変わる。今までの用途における様々なルールが一旦破壊されて、新しい用途を求めて市場は開拓モードになっていく。

どのような技術でも、その適用するスケール(規模)について定義をハッキリさせることは、非常に重要だ。

山は巨大な岩と言ってさしつかえないのか?惑星は巨大な山と言ってさしつかえないのか?iPodは小さなメインフレームといってさしつかえないのか?

ある概念や分類は、それをどう規定しようと一向に構わないが、しかし規模が著しく異なればそこにはかならず新しい法則と新しい現象が出現するものである。

10のマイナス35乗メートルの超ミクロな世界と、秒速30万キロのスピードで宇宙を駆けめぐる光の世界とでは、物理法則でさえ辻褄が合わないのだ。

スケールが問題にならないのは、無限や神の存在論だけを特異点として扱う数学と哲学だけである。科学でもビジネスでも、スケールは用途や目的と強く結びつく。だから、ある技術の用途が見つからないときは、まずスケールをどこに設定するかについて徹底的に議論をするのが良い結果につながることが多い。

このようなことを考えていたところ、仕事上の関わりで面白い例を見つけた。空想力たくましく「未来」を考えつつ紹介してみたい。


富士通のソフトウェア製品で、「Shunsaku」というのがある。

このサイトの紹介文では「高速XML型データベースエンジン」と記述されているのだが、この製品が面白いと思ったのは、前振りで述べたような技術革新による将来的なスケールの変化を敏感に織り込んだテクノロジーだということだ。

まず、これまでの検索技術といえばこうである。

まず典型的な分類としては、OracleやDB2のようなリレーショナル・データベースと、InktomiやNamazuのような全文検索型のインデクサ+クエリーサーバがある。前者が主にデータ項目の決まった伝票データを扱うのに対し、後者はHTMLのような自由形式のデータを扱う。

両者が共通して依存している要素技術は「インデックス」である。インデックスによって、データ量の増大によって検索パフォーマンスが劣化することを抑えることができる。検索技術も様々な技術革新を経験してきているが、インデックスだけはハッシュやバランス木などの基本的なアルゴリズムの価値をそのまま享受しており、最も技術革新が起きにくい場所となっている。だから、データベースといえばスケールアウト型(安価なサーバを並列に並べること)ではなくスケールアップ型(メモリを大量に積んだ巨大なサーバでCPUを多く積むこと)というのがコストパフォーマンスを考える上での常識だった。

しかしShunsakuは、インデックスを一切使わないという。エンジニアの感覚では、インデックスを使わないで一定の応答性能を得るということはあり得ない。なまじ情報理論や数理工学などを学んでいると、早急にそういう結論を出しがちであろう。では、インデックスを使わずに性能を出すとはどういうことか。

説明によると、とにかくデータはブレードサーバに並列展開してオンメモリで常備しておき、問い合わせはマスター(ここではディレクタサーバと呼ばれている)が窓口として受けてバックヤードのブレード群にパラレルにブロードキャストし、各ブレードはマスターから問い合わせを受けたら(九州大学の研究グループが生み出したSIGMAという検索語照合エンジンを用いて)とにかく一度だけ全データをフルスキャンして目的のものを見つけ、マスター経由で応答を返すというのだ。どのブレードにおいてもフルスキャンにかかる時間はいつでも一定だから、一定のパフォーマンスが得られるという明快な理屈である。

そして、そもそもフルスキャンすることになるのだから、マシンにメモリを沢山積まなくてよい。まったく深い調査はしていないので最適値は知るよしもないが、想像では多くても1ギガバイトそこそこだろう。つまり、ブレードが小さいことの利点がそのまま活きてくる。データ量の増大に対しては、ブレードの追加で応じる。それぞれのブレードには対称性があるので、何もチューニングせず、何も考えずにブレードさえ差せばよい。オンメモリ主体だから、ディスクのコストや容積や消費電力も節約でき、つまり集積度を上げやすい。ブレードが壊れたら、そこだけ取り替えればいい。まるで消耗品のようなコモディティ感覚で扱えるというわけだ。

これぞ発想の転換である。

実は、スケールアウト型の検索システムというのはそれ自体、新しいアイデアではない。典型的にはGoogleのサーバ・ファームがそれである。Shunsakuのアイデアが面白いのは、まさにGoogleが自社サービスのために巨額の投資をして作り上げてきたシステムを、ほんのちょっとしたエッセンスを加えることで、まるでパズルの最後のワン・ピースのように、ガクンと大幅にコモディティ化してしまえる可能性につなげたところである。

頭に入れておかなければいけない計算式は、おおまかに(データ量)=(ブレードあたりのデータ量)×(ブレードの数)だけだ。これまでのリレーショナル・データベースや全文検索システムのようにlog関数が出てきたり、数十ものパラメータと格闘してチューニングするための専門家を雇うコストを勘定に入れる必要ない。明朗会計そのものである。

そして、ブレードといえば、とにかく小さい。Googleのように数万台のIAサーバを設置できるデータセンターは誰にも持てないが、将来、iPodぐらいのサイズになったブレードが1000台ぐらい刺さったコンテナなら、一般企業のオフィスの片隅にでも置けるかも知れない。誰もが小さなGoogleを持てるようになる可能性があるというわけだ。(とはいえ、もちろん!スケールが違えば用途も違うということを、ここでも忘れないように)

実は、約1年前にこのブログの正式オープン前に書いた第一号エントリが「Dellのブレード標準化戦略とは?」だった。ここでの結論は、「やっぱり用途を見つけないとねぇ」というものだった。また、最近インテルが明らかにしているように、CPUはクロック数を上昇する方向でのイノベーションは終焉を迎えつつあり、その代わりに並列度を高める方向に向かうという。これらの状況を総合すると、Shunsakuは高い並列度を消費する新たなキラーアプリとなる可能性を十分に持っているのではないか。

もちろん、実際に使ってみるとわんさか問題が出るのは当たり前だし、富士通がこの分野でトップベンダーの地位を確保したまま市場を開拓し続けられるかどうかは別の問題なのだが、PCのコモディティ化という大きな流れに沿った戦略という意味で、大変有望だと思えるのである。(さらに、ハードウェアまで含めた垂直統合のビジネスモデルがようやくメリットを発揮するかも知れない)

さて、「高い並列度を消費するアプリ」という観点では、バッチ処理からリアルタイム処理へ、というキーワードで考えていることがあるので、これはまた別の機会に。

小さく、軽く、安く、単純に。イノベーションのもたらすスケール・シフトはエキサイティングだ。

Tony MacAlpine / Cicus du Soleil

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
運営事務局に問題を報告

最新ブログエントリー