Decotai Shiumachi 091206
Upcoming SlideShare
Loading in...5
×
 

Decotai Shiumachi 091206

on

  • 1,516 views

Reading "Datacenter as a Computer" 2.4 - 2.6(written in Japanese)

Reading "Datacenter as a Computer" 2.4 - 2.6(written in Japanese)

Statistics

Views

Total Views
1,516
Views on SlideShare
1,510
Embed Views
6

Actions

Likes
1
Downloads
12
Comments
0

2 Embeds 6

http://www.linkedin.com 5
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Decotai Shiumachi 091206 Decotai Shiumachi 091206 Presentation Transcript

  • Datacenter as a Computer (2.4 ~ 2.6) 2009/12/06 id:shiumachi
  • Agenda
    • 2.4 アプリケーションレベルのソフトウェア
      • Web 検索
      • 論文類似性スコアリング処理
    • 2.5 監視インフラ
      • サービスレベル・ダッシュボード View slide
      • パフォーマンス・デバッギング・ツール View slide
      • プラットフォームレベルでの監視
    • 2.6 買うか作るか
  • 2.4 アプリケーションレベルのソフトウェア
  • 情報爆発とサービスの変化
    • 90年代半ばにWebコンテンツが爆発的に増加
    • 家庭向け・ビジネス向けにもネットへの接続速度が増加
     ->多くの新しいサービスが増加 ネットの海
  • データセンタの要件
    • 特化型コンピュータは×! 汎用性が高いことが必須
      •  新しいアプリケーションはどんどん増えるので、特化型にしてもその恩恵を受けるソフトの割合は少なくなっていく
      • プログラマが既存のアプリケーションを速いスパンで書き直していくと、特化型はすぐに役に立たなくなる
  • オンライン型:Web検索
    • “needle in a haystack” 問題
      • 「干し草の山から一本の針を探す」
    • 基本的な流れ
      • Webサーバからクエリを投げる
      • ヒットしたドキュメントIDのリストをランク順に返す
      • IDリストを再度投げて詳細情報(タイトル・本文など)を受け取る
  • インデックスの分散
    • インデックスが巨大すぎるので、分散配置
    • 各ローカルで検索・ランクづけして上位のサーバに渡す
    数千ノード 上位サーバ インデックスサーバ
  • 文書データの取得
    • ヒットした文書 ID をドキュメントサーバに投げて、文書情報を取得する
    • 各サーバでの処理は独立してる ( 後でマージすればいい )
    • だから文書 ID 単位でデータを分けた方がいい
    明記してないけど多分 インデックスサーバとは別 Web サーバ ドキュメントサーバ
  • オフライン型 論文類似性スコアリング処理
    • Google Scholar では論文の類似性を共引用(co-citation)されている論文の数で判断している
      • 共引用とは、2つ以上の論文が1つの論文から引用されていること
    スコア1 スコア2 スコア2 論文A1 論文A2 論文B1 論文B2 論文B3
  • Google の手法
    • Google は MapReduce を使ってこの処理を行う
      • Map: 全論文の引用リストを作り、リスト内の全論文のペアを作る
        • この段階で共引用のない論文は削られるので、データ量はそれほど爆発的には増大しない
      • Reduce: 論文のペアの共引用の数をカウントする
    • 2.5 監視インフラ
  • サービスレベル・ダッシュボード
    • 大量のノードをリアルタイムで監視する必要がある
      • シグナルだけでなくシグナル送信時間も監視できること
      • レイテンシやスループット以外にもサービス固有のパラメータも監視できること
      • オペレータが派生パラメータを作りやすいシンプルな言語であること
      • 自動通報機能を備えていること
        • 通報機能の適切なチューニングは大変……
  • パフォーマンス・デバッギング・ツール
    • サービスレベル・ダッシュボードとの違い
      • リアルタイム性は不要
      • どこがボトルネックか分析できることが第一
  • パフォーマンスの測定方法
    • 測定方法は2通り
      • ブラックボックスモニタリング
        • トラフィック分析とか
        • WAP5, Sherlock
      • ツールベースのトレース
        • Pip, Magpie, X-trace, Dapper( from Google)
  • プラットフォームレベル監視
    • 高可用性を維持するためには前述の2つのソフトだけでは不足
    • ハード・ソフト障害を分析し、プラットフォーム全体の状態を監視する必要あり
    • 詳細は6章にて
  • 2.6 買うか作るか
  • 自分で作った方がいい理由(1)
    • サードパーティのパッケージはラージスケールのインターネットサービスには不適
      • 柔軟性がない
        • バグが見つかってもすぐに適用できない
      • 問題の発見に時間がかかる
        • ネットワークの問題も、RPCライブラリレベルなら発見しやすい
  • 自分で作った方がいい理由(2)
    • 充分なテストやチューニングができない
    • 自社のサービスに不要な機能が含まれている
        • BigTable : 既存のSQLよりも機能を減らしている
        • GFS : POSIX 準拠していない
  • Thank you !