SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
The Datacenter as a Computer
        2章1節~3節 



                   2009/12/06
                   id:marqs
                   吉田晃典
2章
●   Workloads and Software Instracture
    –   負荷とソフトウェアインフラストラクチャ
●   WSCs環境のアプリケーションはシステム設計
    に影響を与える
    –   大規模インターネットサービスにおけるソフトウェ
        ア
    –   構築のためのシステムソフトウェアとツール
用語
●   WSC環境下での3つのソフトウェアレイヤ
    –   プラットフォームレベルソフトウェア
        ●   ファームウェア、カーネル、OS、ライブラリなど1台の
            サーバのハードウェア群を抽象化するソフトウェア
    –   クラスターレベルインフラストラクチャ
        ●   クラスタレベルでのリソース管理をしたりサービス提供
            するソフトウェアの集合体
        ●   データセンターにおけるOS
             –   分散ファイルシステム/スケジューラ/RPC/プログラミングモデ
                 ル(ex. MapReduce,hadoop,Sawzall,BigTable,Dynamo など)
    –   アプリケーションレベルソフトウェア
        ●   実際のサービスに使われるソフトウェア
        ●   オンライン: GoogleMaps,Gmail
        ●   オフライン: 大規模データ解析/処理(インデックス作
            成、画像処理)
データセンター vs デスクトップ
●   ソフトウェア開発の四つの相違点
    –   並列処理
    –   負荷が変化しやすい
    –   プラットフォームが共通(均一、均質)
    –   Fault free 運用
並列処理
●   データ並列処理
    –   ウェブページやログなど大量の互いに独立なデータ
        セットによる
    –   通信や同期のオーバーヘッドをなくすため、計算を
        必要とする
●   リクエストレベルの並列処理
    –   大量のユーザアクセス
    –   例
        ●   検索リクエストは独立 & リードオンリーDBでOK
            –   計算はリクエスト内でも、別のリクエストの間でも分けやす
                い??
        ●   メールユーザデータを変更するが、処理はユーザ毎に独
            立
負荷が変化しやすい
●   デプロイサイクルが早い
    –   週単位 vs 年単位
    –   システム設計者はベンチマークを取りにくい
●   人気が出てユーザが増えると、すぐ負荷が増大
    する
    –   ハードウェアアーキテクトは一つのコードでよいパ
        フォーマンスを出す必要がない (デプロイサイク
        ル早いから)
    –   しかし、新しいハードウェアの特徴を生かすための
        ソフトウェア書き直しが求められる
プラットフォームが均質
●   ソフトウェアのデプロイ対象としては、データ
    センターは均一である
●   不均一性
    –   コスト効率のよいハードが出てきたときに出現
●   スケジューリングと負荷分散が単純になる
●   プラットフォームレベルソフトウェア
    (driver,firmware etc)のメンテナンスの苦し
    みが少ない
●   サプライチェーンと修理の効率化
        ●   種類少ない方が修理楽
●   デスクトップは何百万ものハード構成がありサ
    ポートが大変
データセンター vs. デスクトップ
              まとめ
●   Helpful
    –   並列処理
    –   プラットフォームの均一性
    –   単純



●   Not Helpful
    –   スケール
    –   ハードウェア故障
    –   負荷変動のスピード
Performance and Availability toolbox
●   いくつかのプログラミングコンセプト
    –   インフラレベル、アプリケーションレベル両方で
    –   ハイパフォーマンス、高可用性においての適用性が
        広いため
●   一般的な概念
    –   レプリケーション
    –   分割
    –   負荷分散
    –   ヘルスチェックとウォッチドック
    –   整合性チェック
    –   特定用途圧縮
    –   結果整合性
performance Availability
レプリケー   ○             ○
ション
分割      ○             ○
負荷分散    ○
ヘルスチェッ                ○
ク
整合性チェッ                ○
ク
用途特化圧縮 ○
結果整合性   ○             ○
レプリケーション
●   パフォーマンスにも可用性にも
●   あまり変更されないデータで特に威力を発揮
分割
●   データを分割して、多数のノードに分配
●   オペレーションは各ノードで行われて、結果は
    統合される
●   分割ポリシーはいろいろ
    –   パフォーマンス重視
    –   容量重視
●   細かく分割されたデータ断片のリカバリは大き
    いデータより早い
負荷分散
●   一番遅いレスポンダが支配的
    –   レスポンスタイムの分散を少なくすることが重要
●   負荷分散は各サーバあたりのWorkを同じにす
    る分割ポリシーを加えることによって到達
●   レプリが動いてる環境
    –   ロードバランサがどのサーバにリクエストを投げる
        か動的に調整する
    –   完全なロードバランスは難しい
ヘルスチェックとウォッチドッグタイマ
●   遅いサーバや不達のサーバを早く発見し、リク
    エストを飛ばさないように
●   RPCはタイムアウト値を設定
整合性チェック
●   失敗はデータ破損によってもおこる
●   頻度は低いがおきる
    –   ハードウェアチェックやソフトウェアチェックでは
        見つけられない
●   データ欠損はさらなるソフトウェアチェックで
    減らせる
    –   潜在的なエンコードを変更する
    –   信頼性の高い整合性チェックをする
用途特化圧縮
●   最近のデータセンターでの機器コストの大部分
    はストレージレイヤにある
●   高スループットのサービスではデータの大部分
    をDRAMに置くことが重要
●   それゆえ、圧縮技術が重要になってくる
●   CPUで展開するオーバーヘッドは、データが
    ディスクに乗ってしまうことに比べれば、相当
    小さい
●   一般的な圧縮アルゴリズムは結構いい
●   でも用途特化した圧縮は、もっとよい
結果整合性
●   レプリをいっぱいふやす
    –   複雑さが増える
    –   パフォーマンスに影響
    –   分散アプリの可用性を減らす
●   大規模並行アプリケーションのレスポンスタイ
    ムは高信頼性計算テクニックで改善できる
    –   一つの遅いワーカで、大規模並行タスクのレスポン
        スタイムが決定する
    –   そういう遅いワーカを別のワーカで代替する
クラスタレベルの基盤ソフトウェア
●   OSが、1台のコンピュータの、リソースマネジ
    メントと基本サービスを提供するように、多数
    のコンピュータ、ネットワーク機器、ストレー
    ジのある環境でも、OSに類似した機能を提供
    するソフトウェアが必要である。
●   これをクラスタレベルの基盤と呼ぶ
●   クラスタレベルの基盤をなす、4つの大きなグ
    ループを解説する
1.リソース管理
●   不可欠
●   ユーザタスクをハードウェアに割り当てる
●   優先度と上限をつける
●   タスクマネジメント
●   一番単純な形
    –   ハードウェアをユーザやジョブに割り当てる
2.ハードウェア抽象化
●   大規模分散アプリケーションは、いくつかの基
    本機能が必要
●   分散ストレージ、メッセージパッシング、同期
●   大規模システムでこれらをパフォーマンスと可
    用性を保ちつつ実現するのは複雑で難しい
●   各アプリケーションで実装するのは賢くない
●   共通モジュール/サービスをつくるべし
●   GFS、Dynamo、Chubby、など
3.デプロイとメンテナンス

●   監視重要
    –   小規模デプロイでのマニュアル実行は大規模システ
        ムでは適切なインフラが必要
    –   ソフトウェアイメージ配布と構成管理、パフォーマ
        ンスと品質の監視、緊急事態のトリアージ
        ●   例: Autopiot system from Microsoft
    –   ハードウェア監視、自動診断、自動修理
        ●   例: GoogleのSystem Health Infrastructure
    –   パフォーマンスデバッグと最適化
        ●   例: X-Trace by UCBerkley 監視インフラ
4.プログラミングフレームワーク
●   これまで述べたのはハードウェアのデプロイと
    効率的な利用
●   プログラマにとっての複雑さは隠蔽できてない
●   プラグラマの視点から
    –   メモリ/ストレージの階層が複雑
    –   故障しがち
    –   メモリ、ネットワークバンド幅が少ない
    –   不均質
●   一部はプログラミングフレームワークをつくる
    ことで解決
    –   MapReduce,BigTable,Dynamo
    –   データ分割、配布、耐障害性を自動的に処理
Fault free 運用
●   何千台もサーバがあると数時間に一回は故障す
    る
●   MTBFが1年はPCレベルではリーズナブルで
    も、データセンターレベルのサービスではこれ
    は嘘
●   故障は日常的
●   クラスターレベルシステムソフトウェアはアプ
    リケーションソフトウェアからそういったのを
    隠さないといけない
    –   全部のアプリに対してそれを実現するのは難しい

Contenu connexe

Similaire à Data Center As A Computer 2章前半

C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
Insight Technology, Inc.
 
xDB Replication ブローシャー
xDB Replication ブローシャーxDB Replication ブローシャー
xDB Replication ブローシャー
Yuji Fujita
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
 
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraD35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
Insight Technology, Inc.
 

Similaire à Data Center As A Computer 2章前半 (20)

BigData Architecture for Azure
BigData Architecture for AzureBigData Architecture for Azure
BigData Architecture for Azure
 
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
xDB Replication ブローシャー
xDB Replication ブローシャーxDB Replication ブローシャー
xDB Replication ブローシャー
 
マイニング探検会#10
マイニング探検会#10マイニング探検会#10
マイニング探検会#10
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
 
[db tech showcase Tokyo 2016] A12: フラッシュストレージのその先へ ~不揮発性メモリNVDIMMが拓くデータベースの世界...
[db tech showcase Tokyo 2016] A12: フラッシュストレージのその先へ ~不揮発性メモリNVDIMMが拓くデータベースの世界...[db tech showcase Tokyo 2016] A12: フラッシュストレージのその先へ ~不揮発性メモリNVDIMMが拓くデータベースの世界...
[db tech showcase Tokyo 2016] A12: フラッシュストレージのその先へ ~不揮発性メモリNVDIMMが拓くデータベースの世界...
 
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
Enterprise Cloud Design Pattern 前編:クラウドアーキテクチャ-の3要素
 
AWSのデータベースサービス全体像
AWSのデータベースサービス全体像AWSのデータベースサービス全体像
AWSのデータベースサービス全体像
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
 
ウェブオペレーション
ウェブオペレーションウェブオペレーション
ウェブオペレーション
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web Service
 
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
[db tech showcase Tokyo 2015] D32:HPの全方位インメモリDB化に向けた取り組みとSAP HANAインメモリDB の効果を...
 
OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~OpenStackプロジェクトの全体像~詳細編~
OpenStackプロジェクトの全体像~詳細編~
 
Amazon Ec2 S3実践セミナー 2009.07
Amazon Ec2 S3実践セミナー 2009.07Amazon Ec2 S3実践セミナー 2009.07
Amazon Ec2 S3実践セミナー 2009.07
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu HaraD35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
D35 NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫る byToshimitsu Hara
 
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
 

Plus de Akinori YOSHIDA

Datacenter As Acomputer 第8章
Datacenter As Acomputer 第8章Datacenter As Acomputer 第8章
Datacenter As Acomputer 第8章
Akinori YOSHIDA
 
Datacenter As Acomputer 第6章
Datacenter As Acomputer 第6章Datacenter As Acomputer 第6章
Datacenter As Acomputer 第6章
Akinori YOSHIDA
 
Data Center As A Computer 5章前半
Data Center As A Computer 5章前半Data Center As A Computer 5章前半
Data Center As A Computer 5章前半
Akinori YOSHIDA
 

Plus de Akinori YOSHIDA (6)

Dev Ops at Hatena
Dev Ops at HatenaDev Ops at Hatena
Dev Ops at Hatena
 
Maatkitの紹介
Maatkitの紹介Maatkitの紹介
Maatkitの紹介
 
Datacenter As Acomputer 第8章
Datacenter As Acomputer 第8章Datacenter As Acomputer 第8章
Datacenter As Acomputer 第8章
 
Datacenter As Acomputer 第6章
Datacenter As Acomputer 第6章Datacenter As Acomputer 第6章
Datacenter As Acomputer 第6章
 
Data Center As A Computer 5章前半
Data Center As A Computer 5章前半Data Center As A Computer 5章前半
Data Center As A Computer 5章前半
 
Jisaku09 presentation
Jisaku09 presentationJisaku09 presentation
Jisaku09 presentation
 

Dernier

Dernier (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Data Center As A Computer 2章前半

  • 1. The Datacenter as a Computer 2章1節~3節  2009/12/06 id:marqs 吉田晃典
  • 2. 2章 ● Workloads and Software Instracture – 負荷とソフトウェアインフラストラクチャ ● WSCs環境のアプリケーションはシステム設計 に影響を与える – 大規模インターネットサービスにおけるソフトウェ ア – 構築のためのシステムソフトウェアとツール
  • 3. 用語 ● WSC環境下での3つのソフトウェアレイヤ – プラットフォームレベルソフトウェア ● ファームウェア、カーネル、OS、ライブラリなど1台の サーバのハードウェア群を抽象化するソフトウェア – クラスターレベルインフラストラクチャ ● クラスタレベルでのリソース管理をしたりサービス提供 するソフトウェアの集合体 ● データセンターにおけるOS – 分散ファイルシステム/スケジューラ/RPC/プログラミングモデ ル(ex. MapReduce,hadoop,Sawzall,BigTable,Dynamo など) – アプリケーションレベルソフトウェア ● 実際のサービスに使われるソフトウェア ● オンライン: GoogleMaps,Gmail ● オフライン: 大規模データ解析/処理(インデックス作 成、画像処理)
  • 4. データセンター vs デスクトップ ● ソフトウェア開発の四つの相違点 – 並列処理 – 負荷が変化しやすい – プラットフォームが共通(均一、均質) – Fault free 運用
  • 5. 並列処理 ● データ並列処理 – ウェブページやログなど大量の互いに独立なデータ セットによる – 通信や同期のオーバーヘッドをなくすため、計算を 必要とする ● リクエストレベルの並列処理 – 大量のユーザアクセス – 例 ● 検索リクエストは独立 & リードオンリーDBでOK – 計算はリクエスト内でも、別のリクエストの間でも分けやす い?? ● メールユーザデータを変更するが、処理はユーザ毎に独 立
  • 6. 負荷が変化しやすい ● デプロイサイクルが早い – 週単位 vs 年単位 – システム設計者はベンチマークを取りにくい ● 人気が出てユーザが増えると、すぐ負荷が増大 する – ハードウェアアーキテクトは一つのコードでよいパ フォーマンスを出す必要がない (デプロイサイク ル早いから) – しかし、新しいハードウェアの特徴を生かすための ソフトウェア書き直しが求められる
  • 7. プラットフォームが均質 ● ソフトウェアのデプロイ対象としては、データ センターは均一である ● 不均一性 – コスト効率のよいハードが出てきたときに出現 ● スケジューリングと負荷分散が単純になる ● プラットフォームレベルソフトウェア (driver,firmware etc)のメンテナンスの苦し みが少ない ● サプライチェーンと修理の効率化 ● 種類少ない方が修理楽 ● デスクトップは何百万ものハード構成がありサ ポートが大変
  • 8. データセンター vs. デスクトップ まとめ ● Helpful – 並列処理 – プラットフォームの均一性 – 単純 ● Not Helpful – スケール – ハードウェア故障 – 負荷変動のスピード
  • 9. Performance and Availability toolbox ● いくつかのプログラミングコンセプト – インフラレベル、アプリケーションレベル両方で – ハイパフォーマンス、高可用性においての適用性が 広いため ● 一般的な概念 – レプリケーション – 分割 – 負荷分散 – ヘルスチェックとウォッチドック – 整合性チェック – 特定用途圧縮 – 結果整合性
  • 10. performance Availability レプリケー ○ ○ ション 分割 ○ ○ 負荷分散 ○ ヘルスチェッ ○ ク 整合性チェッ ○ ク 用途特化圧縮 ○ 結果整合性 ○ ○
  • 11. レプリケーション ● パフォーマンスにも可用性にも ● あまり変更されないデータで特に威力を発揮
  • 12. 分割 ● データを分割して、多数のノードに分配 ● オペレーションは各ノードで行われて、結果は 統合される ● 分割ポリシーはいろいろ – パフォーマンス重視 – 容量重視 ● 細かく分割されたデータ断片のリカバリは大き いデータより早い
  • 13. 負荷分散 ● 一番遅いレスポンダが支配的 – レスポンスタイムの分散を少なくすることが重要 ● 負荷分散は各サーバあたりのWorkを同じにす る分割ポリシーを加えることによって到達 ● レプリが動いてる環境 – ロードバランサがどのサーバにリクエストを投げる か動的に調整する – 完全なロードバランスは難しい
  • 14. ヘルスチェックとウォッチドッグタイマ ● 遅いサーバや不達のサーバを早く発見し、リク エストを飛ばさないように ● RPCはタイムアウト値を設定
  • 15. 整合性チェック ● 失敗はデータ破損によってもおこる ● 頻度は低いがおきる – ハードウェアチェックやソフトウェアチェックでは 見つけられない ● データ欠損はさらなるソフトウェアチェックで 減らせる – 潜在的なエンコードを変更する – 信頼性の高い整合性チェックをする
  • 16. 用途特化圧縮 ● 最近のデータセンターでの機器コストの大部分 はストレージレイヤにある ● 高スループットのサービスではデータの大部分 をDRAMに置くことが重要 ● それゆえ、圧縮技術が重要になってくる ● CPUで展開するオーバーヘッドは、データが ディスクに乗ってしまうことに比べれば、相当 小さい ● 一般的な圧縮アルゴリズムは結構いい ● でも用途特化した圧縮は、もっとよい
  • 17. 結果整合性 ● レプリをいっぱいふやす – 複雑さが増える – パフォーマンスに影響 – 分散アプリの可用性を減らす
  • 18. 大規模並行アプリケーションのレスポンスタイ ムは高信頼性計算テクニックで改善できる – 一つの遅いワーカで、大規模並行タスクのレスポン スタイムが決定する – そういう遅いワーカを別のワーカで代替する
  • 19. クラスタレベルの基盤ソフトウェア ● OSが、1台のコンピュータの、リソースマネジ メントと基本サービスを提供するように、多数 のコンピュータ、ネットワーク機器、ストレー ジのある環境でも、OSに類似した機能を提供 するソフトウェアが必要である。 ● これをクラスタレベルの基盤と呼ぶ ● クラスタレベルの基盤をなす、4つの大きなグ ループを解説する
  • 20. 1.リソース管理 ● 不可欠 ● ユーザタスクをハードウェアに割り当てる ● 優先度と上限をつける ● タスクマネジメント ● 一番単純な形 – ハードウェアをユーザやジョブに割り当てる
  • 21. 2.ハードウェア抽象化 ● 大規模分散アプリケーションは、いくつかの基 本機能が必要 ● 分散ストレージ、メッセージパッシング、同期 ● 大規模システムでこれらをパフォーマンスと可 用性を保ちつつ実現するのは複雑で難しい ● 各アプリケーションで実装するのは賢くない ● 共通モジュール/サービスをつくるべし ● GFS、Dynamo、Chubby、など
  • 22. 3.デプロイとメンテナンス ● 監視重要 – 小規模デプロイでのマニュアル実行は大規模システ ムでは適切なインフラが必要 – ソフトウェアイメージ配布と構成管理、パフォーマ ンスと品質の監視、緊急事態のトリアージ ● 例: Autopiot system from Microsoft – ハードウェア監視、自動診断、自動修理 ● 例: GoogleのSystem Health Infrastructure – パフォーマンスデバッグと最適化 ● 例: X-Trace by UCBerkley 監視インフラ
  • 23. 4.プログラミングフレームワーク ● これまで述べたのはハードウェアのデプロイと 効率的な利用 ● プログラマにとっての複雑さは隠蔽できてない ● プラグラマの視点から – メモリ/ストレージの階層が複雑 – 故障しがち – メモリ、ネットワークバンド幅が少ない – 不均質 ● 一部はプログラミングフレームワークをつくる ことで解決 – MapReduce,BigTable,Dynamo – データ分割、配布、耐障害性を自動的に処理
  • 24. Fault free 運用 ● 何千台もサーバがあると数時間に一回は故障す る ● MTBFが1年はPCレベルではリーズナブルで も、データセンターレベルのサービスではこれ は嘘 ● 故障は日常的 ● クラスターレベルシステムソフトウェアはアプ リケーションソフトウェアからそういったのを 隠さないといけない – 全部のアプリに対してそれを実現するのは難しい