WSCの課題『Googleクラウドの核心』書評後編

データセンターは現代では社会インフラとして機能し また同時に世の動静からの要請として恰も巨大な建物自体が一つのコンピュータの如く機能するものを WSCWarehouse Scale Computer) と呼び、 Googleクラウドの核心 (以下、本書)にはその先駆者としてある Google社の当該事業に携わる技術者に依って書かれた これからの情報化社会にも重要なコンピューティング動向を予見する内容をも持つ価値ある一冊です。

本記事は記事末尾に記す一連の本書書評記事にも後編に当たるもので 1、2章の導入部を扱った前編、 3、4、5章のエネルギー効率化を扱った中編に続き、 以下列挙するの最後の3章立てを扱うものです。

_dsc6553 photo credit by Charleston's TheDigitel
_dsc6553 photo credit by Charleston's TheDigitel
  1. コストのモデル化
  2. 障害と修理への対応
  3. WSCの課題

一営利私企業としてWSCを運営するにはコスト計算は欠かせないもので、 その面に於いてもGoogleは一歩先んじており、 その先進的なノウハウが開陳されるのかと思いきや、第6章 コストのモデル化 には様々難しい問題が孕むことを知らせるものとなっています。 それは学術研究的な構成となっているのも特徴的な章であるのに伺えます。 なんとなれば微に入り細を穿つが如き現実的な内容を記述する程には 未だデータセンターの扱いは洗練されていないからで それを明かすかの如く110頁から111頁に掛けては 現実のデータセンターの運用には収容能力の限界迄用いられることは無く、 通常は20%から50%程の余裕を見る極めて非効率な運用を強いられているとするのにも顕れています。

コストのモデル化に於いてデータセンター(DC)の所有総コスト(TCO)は以下の式で表されます。 TCO=DCの減価償却費+DCのOpex+サーバの減価償却費+サーバのOpex 此処で初期費用は通常データセンターに於いては10年から15年で、 サーバに於いては3、4年で減価償却されるものとして算入され、 またOpexは運用コストを表します。 しかしこの運用コストの算出には環境にも運用基準にも左右されるに因って困難を伴うもので、 更には此処には算出の複雑さから通常のIT運用コストである アプリケーションの運用コストなどは算入されていません。 此れ等の因を発してコストモデルは学術研究的とならざるを得なくなっているのです。

この単純化されたコストモデルに於いて長期的に見るならば 傾向としてサーバの費用は逓減するものでデータセンター施設に関するコストが大きな比重を占め 中にも消費電力が支配的になるものと本書は予言します。 然ればこそ 中編 に記した如くエネルギーの効率化にGoogle社として、その技術者としての 本書著者の多くの資源が割かれているとも言えます。

学術研究的なコストモデルに現実性を持たせるためには 運用上余裕として見込んだ非利用部分を算入させるために111頁には データセンターのCapexと電力を除くOpexに充填率の逆数を乗じるものとしています。 更に現実に合わせた運用費用の計上法が詳細とは言えない迄も記されており、 中編 に記した処のエネルギー効率計算式の第3項の分母をコンピュータ処理に供給された電力とした時、 分子たる処理量を如何なるものとするかの標準化こそ 今や巨大企業となったGoogle社に求められる社会要請だとしましたが、 此処に於いても同様の要請が惹起するものと考えます。 穿った見方をすればその重要性からGoogle社に於いては既にその算定法が確立されており、 同様にその重要性を鑑みて未だ表に出すのを禁じられるものかも知れず、とも思わせる第6章です。

コスト削減ばかりが宜しくないのは論を俟ちません。 その削減は最適化が図られた適正なものでなければ企業としての信頼を失います。 この信頼性に於いては、ではデータセンターは如何なるものなのでしょうか。 情報セキュリティ的には3大要件を拡張した7特性の一つで 意図した動作及び結果に一致する特性 とされますが、本書では一般的な用い方としてユーザーから信頼されるべき機能を備えている特性、 とでもすべき捉え方となっています。 この下層レイヤーに情報セキュリティ3要件

  • 機密性
  • 完全性
  • 可用性
であるとした時、ケースバイケースではありますが金融機関や交通機関などの missionミッション criticalクリティカル な業務ではその情報資源は機密性や完全性を強く求められるものです。 しかし本書の第7章 障害と修理への対応 に於いてはGoogleのデータセンターに強く求められるのは 可用性 であると明確に判ぜられます。 可用性に重点が置かれたシステムについての言及と頭に入れて 本書本章を読み解けば理解は促進されるものと思われます。

この意の信頼性を得るにはGoogleで運用するWSC的データセンターはその規模から 例えば MTBFMean Time Between Failure) が30年にも及ぶ超高性能のサーバーを導入したとしても 1万台のサーバークラスタならば毎日故障が発生し クラスタとしてのMTBFは良くて1日となる計算から全く簡単でないことが分かります。 信頼性に於いてはまたハードウェアに起因する問題が1割程度に留まるのも 勘案しなければならないのは本書に提出されるデータ、引用データに明らかですが、 それでハードウェア監視の手が緩められるべきでないのは Googleに発生したDRAMパリティチェックに起因する問題惹起の具体例が 本書への記載に生々しいのは参考に供されるべきでしょう。

障害の発生原因割合から言えばソフトウェア救済は必須にて アプリレイヤーとクラスタ基盤レイヤーへの言及もあるものの、 本書に面白いのはGoogle社の技術者がものしただけあって、 上に信頼性が可用性に置き換えられるが如く その紙幅の多くがWebアプリケーションに割かれることです。 そしてその見識は勿論大いに役立つもので、 その事例を幾つか下に拾ってみましょう。

  • インターネットサービスはサービスを体裁よく縮退させて提供することも踏まえ、 注意深く設計するべきであり、クラスタの基盤ソフトウェア層内での隠蔽が困難であることも 充分考慮されるべきである。
  • インターネットサービスに於いては収益は 多くの場合トラフィック量に大きく依存するため可用性が非常に重要である。 但しインターネット自体に可用性の限界があれば当然ながら インターネット上のサービスはそれに依存せざるを得ない。 煎じ詰めて言えばインターネット上のサービスの100%の完璧は求められる必要はない。

  • インターネットトラフィックには時間変動があり そのパラメータは毎時、毎日、毎週、毎月、毎季節、毎年であったりするため 可用性は絶対的な時間を単位に測定されるべきではない。 此処で妥当として記される指標には (サービスに依って処理された要求数)/(ユーザが出した要求の総和) が例示される。

障害と可用性の関係を把握するのに有用な指標としては 再起動に関する統計 と共に ダウンタイムのデータ も不可欠なものとして挙げられます。 両社を鑑みた際にGoogleの運用データは99.84%、ほぼスリーナインの品質を示すものです。 また例えば再起動の99%で2日のダウンタイムを要すれば 2,000台のサーバーを利用するサービスならば1日10回のサーバークラッシュを想定する必要があり、 これはサービスを支障なくフル構成で稼動するには20台の予備マシンが必要で、 サービス運用マシンとしてのデータロード量を鑑みればもう少しの余裕が望ましいもの、 とする著者の経験上の数値が例示されます。 直ちに役立てられる読者は少ないものの興味深いデータではあります。

著者の引用する研究に依ればDRAMソフトエラーはECC技術のお陰で 年間の訂正不可能なメモリエラーは1.3%、 ディスクエラーは2~4%辺りに収まるものと見られ然らば併せても10%には至らない筈ですが、 マシンクラッシュの原因を考えるに供与されるGoogleの実データでは 2007年時に於いてはメモリとディスクが大半であり、 著者の観察に依ればマシンクラッシュはもっと頻繁に様々なマシンに発生するのは報告せられます。 以てハードウェアに依るものかソフトウェアに依るものか切り分けの難しい問題に於いて かなりソフトウェアに起因するクラッシュは多いものと著者は推察します。

原因の特定も困難な障害の其の予測は更に難易度の高いもので、 しかしGoogleのWSCに於いては障害時の不利益が少ないことから 特にこの方面の研究は進んでいない様子も伺えるものです。 サーバーはローエンドなものでまた技術者の工数を徹底的に効率化したスケジュール立ても可能で、 此れを押し進めた補修の自動化にも言及されます。 此れも現代的なWSCの特徴を表しているとも言えるでしょう。 然るに第7章5節の 障害を隠蔽せず、許容する なる言及も現れて来るものだと考えられます。 此の節に於いて言及される技術者の配備コストが一般とは桁違いの規模のWSCでは 特徴的な性質を示すのも示されてみれば尤もであると首肯されるものです。

本書末章となる第8章 WSCの課題 は本記事書評後編の題目にも掲げたもので WSCが唯にサーバの寄せ集めではなく強調して動くことからの 全体最適を目指した姿勢が要求されるシステムであるのが示唆されます。 WSCこそ未来のアーキテクチャである旨、断言をし 第1章のWSCの定義とクラウドコンピューティングへの言及が繰り返されるのは 本書の作りがオーソドックスなもので、取り扱う内容が専門に傾きはするものの、 多くの世人に理解を願う処を望んで執筆された書籍であるのが分かります。

WSCに於ける課題をハードウェアに見ればストレージとなるのは明白で しかし本書の上梓された2010年とは大きく事情が異なるのもまた此処です。 なんとなれば主要な問題であるストレージに於いてスループットの低いディスクドライブから シリコンメモリへの移行は一般にも大きく進んだ処で 一般のハードウェアと連動するWSCのシステムに於いても其れは同様であるからです。 従って2013年現時点ではGoogleでは既に新たなハードウェアの課題が 浮かび上がっている蓋然性は高いものです。

ソフトウェアについては本書の尤も語られるべき処のもので WSCのソフトウェアとしての特徴を高性能計算をものする データセンターとの比較で際立たせて以下が列挙されています。

  • 十分な並列性
  • 負荷の激しい変動
  • プラットフォームの均質性
  • 障害なしの運用

プラットフォームの均質性はWSCに有利な特徴ではありますが、 これに顕著な異質性が齎されるのが時代の変遷に因る コスト効率の高いコンポーネント導入時である、と言う言及は この解決手法迄は記されずゆかしいものです。 高性能計算用データセンターと対比されるWSCのハードウェアの特性から それはソフトウェアプラットフォームとしては複雑となり勝ちで ソフトウェア開発の度に以下の問題等を考慮するのでは著しく生産性を落します。

  • データ分散
  • 障害の検知と復旧
  • DRAMとディスクの性能差
  • ネットワーク機器のトポロジー問題

これを解決するためのソフトウェア基盤としてGoogleが開発したのが MapReduceであり、GFS、BigTable、Chubbyでした。 既に多くの運用実績を持つGoogleではソフトウェア的な課題解決に 大きな前進を見ているとも言えるものです。

WSCのハードウェアとソフトウェアとについて特性が炙り出された上で 経済性の観点からこれを見れば最も考慮すべきなのは 中編 にも本記事冒頭にも記した エネルギー比例性でした。 此れ等を鑑み著者は未だ自らも学習中であるとことわりながら、 以下のWSCの課題を列挙します。

  • 急激に変化する負荷
  • アンバランスなコンポーネントによるバランスの取れたシステムの構築
  • 省エネルギー
  • アムダールの過酷な法則

これ等課題の解決にあたってはよくよくWSCの特性を考慮すべきであるとしながらも しかし見様によっては数千台の安価なサーバーをLANケーブルで繋いだだけのシンプルなものともします。 但し容易でないのは論を俟たず、最も先端的な研究分野でもあれば刺激的課題であろうともします。

クラウドコンピューティング化はこの数年進む一方であれば それを支えるWSCは研究者に取っても刺激的であると同時に社会的要請に叶ったものでもあります。 従って著者の主張する処と同様にこの数年の内にコンピュータ化学者達の努力の集大成に依って WSCに惹起される興味深い問題の多くに妥当な解決策が齎されるのを確信出来るものです。

以上、本書について思う処を縷々述べて来ましたが、 本書にはこれ等本編以外に実に興味深い論文が付録として巻末に付記せられています。 様々引用されるのを屡目にする此の内容については 付編 として書評記事をものする予定でいます。

使用写真
  1. _dsc6553( photo credit: Charleston's TheDigitel via Flickr cc
Googleクラウドの核心書評記事一覧
  1. 前編~クラウドとWSC(2013年1月4日)
  2. 中編~エネルギー効率化と比例性(2013年1月17日)
  3. 後編~WSCの課題(2013年2月14日)
  4. 付編~DRAMエラーは珍しくない(2013年3月1日)
スポンサー
スポンサー

この記事をシェアする