130 likes | 292 Views
他のプロセスに あたえる影響が少ない 実行時ミラーリングシステム. 指導教官 千葉 滋 助教授 学籍番号 99-2518-8 柳澤 佳里. 近年のミラーリングの要件. 実行時 サーバー動作中に停止せずにバックアップを行う サーバーは 24 時間アクセスがあるので停止は不可能 遠隔地 隣の建物や離れた都市にバックアップを作成 災害に対応する必要がある 火事のとき隣のビルにバックアップしてあれば …. 素朴な分散ミラーリングシステム. ストレージサーバー. ミラーリングの負荷は高い ミラーリングのための処理が必要 流量制御しない
E N D
他のプロセスにあたえる影響が少ない実行時ミラーリングシステム他のプロセスにあたえる影響が少ない実行時ミラーリングシステム 指導教官 千葉 滋 助教授 学籍番号 99-2518-8 柳澤 佳里
近年のミラーリングの要件 • 実行時 • サーバー動作中に停止せずにバックアップを行う • サーバーは24時間アクセスがあるので停止は不可能 • 遠隔地 • 隣の建物や離れた都市にバックアップを作成 • 災害に対応する必要がある • 火事のとき隣のビルにバックアップしてあれば…
素朴な分散ミラーリングシステム ストレージサーバー • ミラーリングの負荷は高い • ミラーリングのための処理が必要 • 流量制御しない • 大量のデータを転送しないといけない ネットワーク クライアント Zebra [John H. Hartmanら ’95]は上の構成だが、 RAID1ではなく、RAID4である RAID1: ミラーリング RAID4: 2/3ずつ分散保存
提案するシステム:The Tottotto Mirroring System • 負荷が軽い遠隔地ミラーリングシステム • 負荷の軽減法 • スケジューリング • 他のプロセスが忙しいとき、ミラーリングを休止 • 冗長な送信データの除去 • 同一ファイルへの上書きは最終更新のみ送信 The Tottotto Mirroring System 他のプロセス sender receiver ネットワーク File System File System OS OS
Tottottoのスケジューリング • 他プロセスへの影響を推測し、自主的に休止 • 単位時間あたりのミラーリング量(進捗状況)減少時 • 資源の競合が起きた場合には進捗状況が悪化 • Mbuf使用量の増加時 Mbuf: BSD系Unixにあるプロセス間通信用バッファー • ネットワーク混雑時にはmbuf使用量が増加 • 再送多発 • Kernelの改造が不要
Progress-based Regulationとの違い • Progress-based Regulation[Douceur’99](PR)の欠点 • 競合検出が遅い • 検定により資源の競合を検出 • Tottottoのアプローチ • PRに加えMbuf使用量の変化でも動作制限 • ネットワーク混雑時、サーバープロセスは多忙 • Tottottoはサーバー用途を想定 • 再送が大量発生し、mbuf使用量が急増
Tottottoでの冗長な送信データの除去 • ミラー再開時に不要データを除去 • 同一箇所への上書きは最終更新のみ必要 • LFSの機構で使用量なしの領域を発見 LFS: ログ形式のファイルシステム ディスクイメージ(LFS) 送信対象 停止 冗長 再開 同一箇所
実験 Web Server sender • 目的 • Tottottoのスケジューリングの評価 • WebServerへの影響が小さい程良い • CPU Priorityスケジューリングと比較 • 実験環境 • ミラー元,ミラー先AMD AthlonXP 2200+,DDR SDRAM 1GB, Intel Ethernet PRO/100S,NetBSD 1.6R • Web Client AMD AthlonXP 2200+,DDR SDRAM 1GB, Intel Ethernet PRO/1000MT,FreeBSD 4.7R ミラー元 ミラー先 バックアップ 負荷 http_load Web client
実験I: CGIのディスク負荷が大きい場合 • 実験方法 /usr/src以下からQUERY_STRINGに含まれる文字列を探すCGIを実行 実験結果 (fetch/sec) 0.40 0.35 0.30 0.25 1秒あたりの CGIの実行回数 スケジュール なし CPU Priority スケジュール あり ミラー なし
実験II: CGIのディスク負荷が小さい場合 • 実験方法 LFS上のファイルにQUERY_STRINGで与えられた文字列を書き込む(上書き) 実験結果 (fetch/sec) 300 290 280 270 260 1秒あたりの CGIの実行回数 ミラー なし スケジュール なし CPU Priority スケジュール あり
まとめと今後の課題 • まとめ • 他プロセスが忙しいとき休止するミラーリングシステムを提案 • Progress-based Regulationにmbuf監視をつけ、早めに動作制限 • 実験ではディスク負荷が高いときにうまく動作制限される • 今後の課題 • Mbuf使用量を見ることの効果を確認 • 不要なデータを飛ばすことの効果を確認 • さらに小さい単位でのスケジューリング
付録: Progress-based Regulation • 特徴 • 重要度の低いプロセスに対するスケジューリング • スケジューラに報告された進捗状況で動作制限 • 検定により競合を検出 • 利点 • Kernel改造不要 • CPU以外の資源についても競合検知が可能 • 難点 • 競合検出が遅い • 検定に足るデータが集まるまで動作制限不可 発表許可出願中
付録: Log-structured FS • ログ構造のファイルシステム • 各々のデータをsegmentに分けて管理 • Index Fileで各segmentの使用状況を把握可能 • Disk残量が少なくなった場合、cleanerdがGCする 発表許可出願中