Upgrade to Pro — share decks privately, control downloads, hide ads and more …

低優先度処理を指定可能なリアルタイム処理向け I/O スケジューラ / A Deadline...

低優先度処理を指定可能なリアルタイム処理向け I/O スケジューラ / A Deadline IO Scheduler Equipped with Low Priority Assignment

学部時代の卒研を学会(SIGOS)で発表したときの資料です。

Avatar for Narimichi Takamura

Narimichi Takamura

March 07, 2014
Tweet

More Decks by Narimichi Takamura

Other Decks in Technology

Transcript

  1. オンラインメンテナンス •  問題点 •  作業負荷によるサービス品質の低下 ⇒ 本研究では I/O 負荷に着目 • 

    I/O 負荷を伴うオンラインメンテナンスの例 •  データベースサーバ上の巨大なログファイルの削除 3
  2. I/O スケジューラ •  I/O 要求を適切に並び替えるソフトウェア •  Linux カーネルに組み込まれている リアルタイム処理 I/O

    優先度指定 CFQ スケジューラ Deadline スケジューラ 6 ⇒リアルタイム処理向きであり,かつ,優先度指定可 能な I/O スケジューラは無い ☓
  3. 物理 デバイス ファイルシステム VFS ディスク キャッシュ 汎用ブロック層 I/O スケジューラ層 デバイス

    ドライバ カーネル空間 プロセス ユーザ空間 ファイル I/O の概略 デバイス ドライバ 物理 デバイス 8
  4. 汎用ブロック層 I/O スケジューラ サブキュー ディスパッチキュー デバイスドライバ 物理 デバイス I/O スケジューラの動作概要

    9 要求の並び替え   処理する順に   要求を格納   処理順序の制御は   要求がサブキューに   ある場合に可能
  5. 低優先度処理のスループット制限(3) 時間 1 1 1 1 2 2 2 2

    3 3 α α 14 サブキュー ディスパッチ キュー メンテナンス処理の要求 データベース処理の要求
  6. I/O 帯域の有効活用(2) 時間 1 1 1 1 2 2 3

    3 4 4 5 5 β α 16 サブキュー ディスパッチ キュー α
  7. 実験環境 OS CentOS release 6.5 (Final) Linux カーネル 3.12.7 CPU

    Intel Core i7-3770 @ 3.40GHz 4 コア メモリ 8 GiB 物理デバイス 1 SSD 240GB (Intel SSDSC2CT240A4) 物理デバイス 2 HDD 320 GB, 7200 rpm (Hitachi HDP72503) ベンチマーク ツール sysbench 20
  8. 0 10 20 30 40 50 60 70 80 90

    100 110 HDD SSD Normal I/O TPS / Low Prio I/O TPS [%] 評価: 低優先度処理の影響 (2) 0 10 HDD SSD Deadline Our Scheduler 0 10 HDD SSD Deadline Our Scheduler 22
  9. 0 10 20 30 40 50 60 70 80 90

    100 110 HDD SSD Normal I/O TPS / Low Prio I/O TPS [%] 評価: 低優先度処理の影響 (2) 0 10 HDD SSD Deadline Our Scheduler 0 10 HDD SSD Deadline Our Scheduler 23 既存のDeadline  スケジューラでは,   70  %  以上の性能が低下した
  10. 0 10 20 30 40 50 60 70 80 90

    100 110 HDD SSD Normal I/O TPS / Low Prio I/O TPS [%] 評価: 低優先度処理の影響 (2) 0 10 HDD SSD Deadline Our Scheduler 0 10 HDD SSD Deadline Our Scheduler 24 本機構では,1  %  未満の性能低 下に抑えることができた
  11. 0 50 100 150 200 250 0 5 10 15

    20 25 30 35 40 45 Throughput ( Mbytes/sec ) Time ( sec ) Deadline Normal I/O 評価: スループットの推移 26 Deadline  での通常処理と   Deadline  での低優先度処理 低優先度処理が通常 の処理を妨げている
  12. 0 50 100 150 200 250 0 5 10 15

    20 25 30 35 40 45 Throughput ( Mbytes/sec ) Time ( sec ) Deadline Normal I/O 評価: スループットの推移 27 本機構での通常の処理 通常の処理がすぐに完了し, その後スループットを有効 活用している 本機構での低優先度処理 β
  13. 評価: 拡張によるオーバーヘッド 実験内容 •  1 分間のファイルアクセスを実行 •  スループット (Mbytes/sec) を比較

    0 10 20 30 40 50 60 70 80 90 100 110 SeqRead RndRead SeqWrite RndWrite Our Scheduler / Deadline [%] 28 通常のI/O要求を処理する上で, 既存のDeadline  スケジューラと   本機構との性能差はほぼない
  14. 関連研究(1) •  汎用向けの高性能スケジューラ •  CFQスケジューラの高性能化 [Lunde, 2009] •  各種スケジューラの高性能化 [Seelam,

    2005] •  高速デバイス向けのスケジューラ •  SSD 向けのスケジューラの実装 [Dunnら, 2009] •  Fusion-io 向けのスケジューラの実装 [Robin, 2013] ⇒高速化が目的でありオンラインメンテナンスに 配慮したスケジューラを実現する研究ではない 29
  15. 32

  16. α の設定値によるスループットの変化 33 0 20 40 60 80 100 120

    10 50 100 150 200 250 300 Throughput ( Mbytes/sec ) Time ( sec )
  17. 物理 デバイス ファイルシステム VFS ディスク キャッシュ 汎用ブロック層 I/O スケジューラ層 デバイス

    ドライバ カーネル空間 プロセス ユーザ空間 ファイル I/O の概略 デバイス ドライバ 物理 デバイス 34
  18. Deadline スケジューラの動作 (1) 35 セクタ番号順 I/O 要求の 発行順 末尾 先頭

    処理実行 s:  セクタ番号   t:  発行要求時刻 並べ替えキュー 期限付きキュー s: 41 t: 5 s: 41 t: 5 s: 98 t: 2 s: 98 t: 2 s: 23 t: 3 s: 23 t: 3
  19. 拡張後のスケジューラの動作 (1) 36 処理実行 低優先度キュー s: 77 t: 7 低優先度

      要求の追加 s: 64 t: 6 並べ替えキュー 期限付きキュー s: 98 t: 2 s: 41 t: 5 s: 23 t: 3 s: 23 t: 3 s: 98 t: 2 s: 41 t: 5 s: 64 t: 6
  20. 拡張後のスケジューラの動作 (2) 37 処理実行 低優先度キュー s: 77 t: 7 s:

    64 t: 6 並べ替えキュー 期限付きキュー s: 98 t: 2 s: 41 t: 5 s: 23 t: 3 s: 23 t: 3 s: 98 t: 2 s: 41 t: 5 s: 64 t: 6
  21. 拡張後のスケジューラの動作 (3) 38 処理実行 低優先度キュー s: 77 t: 7 s:

    64 t: 6 並べ替えキュー 期限付きキュー s: 98 t: 2 s: 41 t: 5 s: 98 t: 2 s: 41 t: 5 s: 64 t: 6
  22. 実装: カーネルタイマによる制御 時間 Sub Q Dispatch Q 1 1 1

    1 2 2 3 3 4 4 5 5 β α 40 set(β) set(α) set(α) dispatch() dispatch() dispatch() dispatch() mode(normal) mode(batch)