2010年08月10日 11:00 [Edit]
The Data Center as a Computer - 書評 - Googleクラウドの核心
日経BP高畠様より献本御礼。

Googleクラウドの核心
Luiz Andre Barroso / Urs Holzle /
丸山不二夫、首藤一幸、浦本直彦監 /
高嶋優子、徳弘太郎訳
[原著:The Data Center as a Computer]
一台のコンピューターとしてGoogleを捉え、それを外から分析したものとしては「Googleを支える技術」が存在するが、本書は中の人が書いただけあり、予測ではなく実測を元にしている分一段と迫力がある。これが面白くないわけがない。
と同時にこう思わずにもいられない。
Warehouse-Scale Computing はまだはじまったばかりである、と。
本書「Googleクラウドの核心」は、Googleの中の人が書いたものであり、Googleの事例も登場するのではあるけれど、筆者達が Warehouse-Scale Computing (WSC) と呼ぶ、データセンターを丸ごと一つ、あるいは複数組み合わせて一つのサービスを提供するタイプのコンピューティングに関する一般論である。一般論だけあって、コンピューターを複数組み合わせて複数のコンピューティングサービスを提供している全ての人が必ず目を通すべき一冊だ。
目次- はじめに
- 第一章 イントロダクション
- 第二章 負荷とソフトウェア
- 第三章 ハードウェアの構成要素
- 第四章 データセンターの基礎
- 第五章 エネルギーと電力の効率
- 第六章 コストのモデル化
- 第七章 障害と修理への対応
- 第八章 WSCの課題
- 付録論文 DRAMエラーは珍しくない グーグル社が大規模調査
- 参考文献
- 索引
"The whole is greater than the sum of its parts."、「全体は部分の総和より大きい」という言葉があるが、WSCほどこれがよくあてはまるものも総和、失礼、そうはない。1台のパソコンがどこか壊れたまま運用されつづけるということは滅多にないが、WSCはどこか壊れているのはごく当然のこと。
P. 113しかしWSCでは、規模が大きすぎて、ハードウェアに「十分な信頼性」を備えさせることは簡単なことではない。たとえば、平均故障間隔(MTBF)が30年(10000日)ときわめて長い、最高の信頼性を備えたサーバノードでクラスタを構成するとしよう。とうてい現実的なコストで、これを実現できるものではない。そして、たとえそのような理想的な信頼性を備えたサーバを用いたとしても、1万台のサーバからあんるクラスタでは、平均して一日に一台のサーバが故障する事になる。それゆえ、クラスタ全体が稼働していなくてはならないアプリケーションであれば、MTBFは最長でも1日になってしまうのである。
これをどう料理するかがWSCのコツであるのだが、最も興味深いのは電力であろう。これが大問題であることは昨今「業界人」以外にも知られるようになってきてはいるのだが、今までのコンピューティングがいかに非効率であるかは第五章を見れば明らかだ。Googleは業界トップではあるものの、物理限界からはほどとおいことを著者たちも行間で認めている。
その最大の理由は、各サーバーノードが、未だに「普通のパソコン」であることだろう。昨年公開されたGoogleのサーバーノードは、各自でバッテリーを持つなどの工夫も見られるものの、普通のマザーボードに普通のx86系CPUを搭載した、普通の自作「パソコン」であることも見てとれる。現時点ではこれが一番コストパフォーマンスが高いと彼らが判断したからこそこうなったのであろうが、「普通のパソコン」がWSCのコンポーネントとして最適かどうかは大いに疑問が残る。
例えばAppleはiOSに最適化したSoCとしてA4を独自開発した。独自とは言っても中身はARM系のCPUではあるが、その程度でも多大な利益--技術的にも営業的にも--があることは疑問の余地がない。同様の工夫をWSCでやれない理由は見当たらない。TDPが100Wにも迫る今日日のCPUが、WSC向きかといえば大いに疑問だ。しかしiPhoneなみに大量生産しなければコスト割れしてしまう。これまで「結局x86の勝ち」という顛末にIntel自身すら逆らえなかった理由がそこにある。
しかし、WSCでは一つのWarehouseだけで何万ものサーバーノードを使う。こうなるとWSC専用チップが成り立ってもおかしくはないし、そうなるべきだ。近未来のデータハウスには1Uの「ピザボックス」をラックマウントするのではなく、iPhoneぐらいの大きさのノードをドック接続するためのコネクタがびっしりと並んでいるのかも知れない。「それって何てブレード」?いいえ、ブレードではだめなのです。少なくとも今のブレードでは。なぜ駄目なのかは、本書でご確認を。
とにもかくにも、WSCは面白い。今までその構築と運用はGoogleやAmazonといった「クラウドプロバイダー」に限られてはいたけれども、コンテナ搭載型のWSCも出て来た今、参入障壁はむしろ低くなったとも言える。一人で何千台、何万台ものコンピューターで作ったコンピューターを普通のエンジニアが駆使する時代はすぐそこまで来ている。今のうちに、本書で予習しておくことにしよう。
Dan the Man with Too Many Computers to Connect