WEB+DB PRESS plusシリーズクラウドを支える技術
──データセンターサイズのマシン設計法入門

[表紙]クラウドを支える技術 ──データセンターサイズのマシン設計法入門

紙版発売

A5判/232ページ

定価2,838円(本体2,580円+税10%)

ISBN 978-4-7741-6730-5

ただいま弊社在庫はございません。

電子版
  • 電子化の予定があります

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

「クラウド」の設計/構築/運用の基本にスポットを当てた技術解説書。
本書は,超大規模クラウドの一つGoogleのデータセンターを題材に,数千台のサーバを「1つのマシン」として協調動作させるための,一連のハードウェア+ソフトウェア関連技術を厳選解説。
レイヤごとのポイント,コスト効率,消費電力,大規模な故障対策なども盛り込み,実稼働のシステムを支える基盤技術を丁寧に解き明かします。

Google規模のインフラを,ゼロから作り,実際に動かし続ける。
そこには,何が必要なのでしょうか。
巨大なクラウドを通して,エンジニアリングの源が見えてくる1冊です。

『The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Second Edition』(Morgan and Claypool Publishers,2013)の日本語翻訳版。

こんな方におすすめ

  • 大規模システムに興味をお持ちの方々
  • コンピュータサイエンスに関心のあるエンジニアおよび学生の方々

著者の一言

※本書,前書き「日本語版に寄せて」より。

エレクトロニクスが大好きな子供としてブラジルで成長し,電気工学を学ぶ学生となった筆者は,日本の工業,とくにデジタルやコンピュータのテクノロジーの革新に関して日本の豊かな歴史をずっと尊敬してきました。このため,筆者達の著作の第2版が日本で広く手に入るようになることは,特別に名誉なことと感じています。
原著共著者を代表し,本書の翻訳にあたり英文を詳細にレビューし,日本語訳を作るにあたって,いくつもの誤りを正し,わかりやすい注釈を加えてくれた翻訳者のHisa Ando氏に感謝します。今日のクラウドコンピューティングサービスを実行するマシンの設計とプログラミングの入門書である本書が,日本の学生や実務家の方々の役に立つことを期待しています。

原著者を代表して Luiz André Barroso

本書に関するお知らせ

本書に関連する記事を公開しております。

この書籍に関連する記事があります!

日本語版に寄せて
エレクトロニクスが大好きな子供としてブラジルで成長し,電気工学を学ぶ学生となった筆者は,日本の工業,とくにデジタルやコンピュータのテクノロジーの革新に関して日本の豊かな歴史をずっと尊敬してきました。
第2版について
倉庫規模のコンピューティングに関して,ほぼ4年間の学会や業界での大きな発展を踏まえて,この講義の最初の主要な改訂版を出す運びになったことを嬉しく思います。
本書について
コンピューティングがクラウド(Cloud)に移行するにつれて,インターネットで使用されるコンピュータプラットフォームは宅配ピザの箱や冷蔵庫のような格好ではなく,倉庫(Warehouse)いっぱいのコンピュータ群になってきています。
Q&Aでわかる「超」基本!「クラウド」を支える技術
ここ数年,世界規模の高速接続の発達,インターネットサービス/Web技術の発展に加え,PCや,スマートフォンをはじめとしたモバイルの普及による端末バリエーションの充実と,わたしたちを取り巻くコンピューティグ環境は一変し,とても便利になりました。

目次

  • 日本語版に寄せて(Preface to the Japanese edition)
  • 本書について(Abstract)
  • 第2版について(Notes for the second edition)
  • キーワード(Keywords)
  • 謝辞(Acknowledgments)
  • 読者の方々へ(Note to the Reader)

第1章 倉庫サイズのコンピュータの概要(Introduction)

1.1 倉庫サイズのコンピュータ(WSC)

1.2 規模拡大によるコスト効率

1.3 (WSCは)単なるサーバの集合ではない

1.4 1つのデータセンター vs. 複数のデータセンター

1.5 なぜ,WSCがあなたにとって重要か

1.6 WSCのアーキテクチャの概要

  • 1.6.1 ストレージ
  • 1.6.2 ネットワークファブリック(ネットワーク接続)
  • 1.6.3 ストレージ階層
  • 1.6.4 (WSCの記憶階層ごとの)定量的なレイテンシ,バンド幅,記憶容量
  • 1.6.5 電力の使用量
  • 1.6.6 故障に対する対処

第2章 ワークロードとソフトウェアインフラストラクチャ(Workloads and Software Infrastructure)

2.1 データセンター vs. デスクトップ

2.2 性能と可用性に関する道具箱(Toolbox)

2.3 プラットフォームレベルのソフトウェア

2.4 クラスタレベルのインフラストラクチャソフトウェア

  • 2.4.1 資源管理(Resource Management)
  • 2.4.2 ハードウェアの抽象化と他の基本サービス
  • 2.4.3 デプロイとメンテナンス
  • 2.4.4 プログラミングのフレームワーク

2.5 アプリケーションレベルのソフトウェア

  • 2.5.1 ワークロードの例
  • 2.5.2 オンライン:Web検索
  • 2.5.3 オフライン:学術論文の類似性計算

2.6 モニタリングインフラストラクチャ

  • 2.6.1 サービスレベルダッシュボード
  • 2.6.2 性能デバッグツール
  • 2.6.3 プラットフォームレベルの健康(正常動作)モニタリング

2.7 買うか,自作か

2.8 テイルトレランス(テイル耐性,長い尾を許容する)

2.9 参考文献

第3章 ハードウェアの構成ブロック(Hardware Building Blocks)

3.1 コスト効率の高いサーバハードウェア

  • 3.1.1 大型SMPの通信効率の効果
  • 3.1.2 強力(Brawny)サーバ vs. 非力(Wimpy)サーバ
  • 3.1.3 バランスのとれた設計

3.2 WSCのストレージ

  • 3.2.1 WSCの非構造化データ用ストレージ
  • 3.2.2 WSCの構造化データ用ストレージ
  • 3.2.3 ストレージとネットワーク技術の相互作用

3.3 WSCのネットワーク

3.4 参考文献

第4章 データセンターの基礎(Datacenter Basics)

4.1 データセンターの階層分類と仕様

4.2 データセンターの電力供給システム

  • 4.2.1 UPSシステム
  • 4.2.2 PDU(配電盤)
  • 4.2.3 代案:直流配電(DC配電)

4.3 データセンターの冷却システム

  • 4.3.1 CRAC,チラーとクーリングタワー
  • 4.3.2 CRAC
  • 4.3.3 チラー(Chiller)
  • 4.3.4 クーリングタワー(Cooling tower)
  • 4.3.5 外気冷却(Free Cooling)
  • 4.3.6 エアフロー(Air flow)に対する考慮
  • 4.3.7 ラック内,ラック列内の冷却と,コールドプレート(Cold plate)
  • 4.3.8 ケーススタディ:Googleのラック列内冷却
  • 4.3.9 コンテナ型データセンター

4.4 まとめ

第5章 エネルギーと電力の効率(Energy and Power Efficiency)

5.1 データセンターのエネルギー効率

  • 5.1.1 データセンターの効率を示すPUE
  • 5.1.2 PUEという指標の問題
  • 5.1.3 データセンターにおける効率低下の原因
  • 5.1.4 データセンターのエネルギー効率の改善
  • 5.1.5 施設以外の改善

5.2 計算処理のエネルギー効率

  • 5.2.1 エネルギー効率の測定
  • 5.2.2 サーバのエネルギー効率
  • 5.2.3 WSCの使用状況

5.3 エネルギー比例な計算処理

  • 5.3.1 エネルギー比例性の悪化要因
  • 5.3.2 エネルギー比例性の改善
  • 5.3.3 その他の部分のエネルギー比例性

5.4 低電力モードの有効性

5.5 エネルギー比例性にソフトウェアが果たす役割

5.6 データセンターへの電源供給能力

  • 5.6.1 適切な量の機器を設置する
  • 5.6.2 電源供給能力を超える消費

5.7 サーバのエネルギー使用の傾向

  • 5.7.1 蓄積されたエネルギーを電源制御に使う

5.8 まとめ

  • 5.8.1 参考文献

第6章 コストモデル(Modeling Costs)

6.1 設備投資

6.2 運営費

6.3 ケーススタディ

  • 6.3.1 データセンターのコストの現実
  • 6.3.2 一部しか使用されていないデータセンターのモデル化
  • 6.3.3 パブリッククラウドのコスト

第7章 故障と修理の対処(Dealing with Failures and Repairs)

7.1 ソフトウェアベースの耐故障性とそれがもたらすもの

7.2 故障の分類

  • 7.2.1 故障の重大さ
  • 7.2.2 サービスレベルの故障(Service-level fault)の原因

7.3 マシンレベルの故障

  • 7.3.1 マシンクラッシュの原因は?
    • DRAMのソフト(一過性の)エラー
    • ディスクエラー
  • 7.3.2 故障を予知する

7.4 修理

7.5 故障を隠すのではなく,故障に耐える

第8章 今後へ向けて(Closing Remarks)

8.1 ハードウェア

8.2 ソフトウェア

8.3 経済性

8.4 カギとなる挑戦

  • 8.4.1 急速に変化するワークロード
  • 8.4.2 応答性を確保した大規模システムの建設
  • 8.4.3 CPU以外の部品のエネルギー比例性
  • 8.4.4 デナードスケーリングの終焉を乗り越える
  • 8.4.5 残酷なアムダールの法則

8.5 まとめ

Appendix [比較でさらに見えてくる]スーパーコンピュータとWSC(2種類の巨大コンピュータの似ている点,違う点)

A.1 どちらも倉庫サイズのコンピュータ

A.2 スーパーコンピュータは何に使われているのか

  • A.2.1 研究分野での利用
  • A.2.2 産業界での利用
  • A.2.3 スーパーコンピュータのユーザ

A.3 WSCとスーパーコンピュータのワークロードの性質の違い

  • A.3.1 科学技術計算の特性
  • A.3.2 信頼性,可用性に対する要件の違い

A.4 電源供給,冷却系

A.5 スーパーコンピュータのハードウェア

  • A.5.1 スーパーコンピュータの計算ノード
  • A.5.2 重要性が増すインターコネクト
    • WSCのインターコネクト
    • スーパーコンピュータのインターコネクト
    • ビッグデータとインターコネクト
  • A.5.3 スーパーコンピュータのストレージ

A.6 スーパーコンピュータのOSとソフトウェア

  • A.6.1 スーパーコンピュータのOSはOSジッタが問題
  • A.6.2 分散処理にはMPIを使う
  • A.6.3 運用管理ツール
  • A.6.4 アプリケーションソフトウェア

A.7 まとめ

  • 参考文献(Bibliography)
  • 索引(Index)
  • 著者紹介(Author Biographies)

著者プロフィール

ルイス・アンドレ・バロッソ(Luiz André Barroso)

ソフトウェアインフラストラクチャ,ストレージの可用性,エネルギー効率,ハードウェアの設計などを含む各種の技術分野で働いた経験を持つ。Googleのコンピューティングプラットフォームを設計するPlatform Engineeringチームの初代のマネージャである。Googleに移る前は,DEC(Digital Equipment Corporation,後にCompaqに買収された)の研究員を務めており,彼のグループは企業向けワークロードに対するプロセッサとメモリに関する開拓者的な業績を残している。この研究は,シングルチップのマルチプロセッサのPiranha(ピラニア)の設計に繋がり,現在は主流となっている,その後のマルチコアプロセッサの開発に影響を与えた。
ブラジルのリオデジャネイロのPontifícia Universidade Católica(PUC)とStanford Universityで講師を務め,University of Southern Californiaからコンピュータ工学の博士号,PUCから電気工学の学士と修士号を取得している。また,GoogleのFellow(フェロー),ACMとAmerican Association for Advancement of ScienceのFellowでもある。


ジミー・クライダラス(Jimmy Clidaras)

2004年から複数の世代のGoogleのデータセンターの技術開発プログラムを率いており,エネルギー効率とコスト効率に関する専門家。電力,冷却,組み込みソフトウェアとデータセンターのR&D技術を担当するGoogleのPlatform Infrastructure Engineeringチームの初代のディレクタである。元々は航空工学分野を学び,Harris CorporationやE-Systemsで通信や研究用の衛星搭載機器の開発を行っていた。
1984年に音響工学,1994年には機械工学(Florida Atlantic University,FAU)の学位を得ている。現在は,GoogleのデータセンターエンジニアリングのDistinguished Engineerであり,FAUのDistinguished Alumnus(優秀卒業生)でもある。彼は現在もデータセンターの研究に携わり,現状を飛躍的に変えるテクノロジーの研究を続けている。


ウルス・ヘルツル(Urs Hölzle)

Googleの初代のVice president of engineering(技術担当副社長)で,Googleの技術的な基盤の開発を率いている。現在は,Googleを動かしているサーバ,ネットワーク,データセンターとソフトウェアインフラストラクチャの設計と運用の責任者。いつも赤いソックスを履き,愛犬の放し飼いのレオンベルガー犬の(Googleの最初の支配犬/Top dogである)Yoshkaを伴っていることで知られている。
スイスで育ち,Eidgenössische Technische Hochschule Zürich(ETHZ,チューリッヒ工科大学)からコンピュータサイエンスの修士号を取得している。また,Fulbright scholar(フルブライト留学生)で,Stanford Universityで博士号を取得している。Stanford University(と後にSun Microsystemsに買収されたスタートアップの会社)の時代に,現在の多くの主要なJavaコンパイラで使われている基本的なテクニックを発明した。Googleに入社する前は,University of California, Santa Barbaraのコンピュータサイエンスの教授を務めていた。ACMのFellow,Swiss Academy of Technical Scienceのメンバー,US World Wildlife FundとOpen Networking Foundationの役員を務めている。


Hisa Ando

訳者
先端プロセッサの開発に40年間従事。シリコンバレーでSPARC64プロセッサの開発に従事。現在は,テクニカルライターとしてプロセッサやスーパーコンピュータ関係の報道や解説を中心に活動しており,『プロセッサを支える技術』(技術評論社,2011)などコンピュータアーキテクチャ関係の4冊の著書がある。また,ブログでプロセッサ関係の話題を紹介している。博士(工学)。