I/O スケジューラについて 中編 実際に測ってみた on x10

前回記事、I/O スケジューラについて  前編の続きになります。

おおよその I/Oスケジューラ概要、特徴を理解したところで実際に測ってみようと思います。

計測はLinuxのI/Oベンチマークで有名らしいBonnieを使いました。

計測環境

  • xperia x10
  • CPU周波数は998MHz固定
  • I/O計測はclass10 8GBのSDカード上
  • I/Oスケジューラのパラメータは弄らず
  • 書き込み時のキャッシュを使わないように echo "0" > /sys/devices/virtual/bdi/179:0/read_ahead_kb を適用して計測。
  • 測定は各3回行い、平均を表記しました(例外あり)

公平を期すためすべての通信は切って行いました。

では↓

計測結果(書き込み・読み込み)

書き込み・読み込みの結果です。

数字の大きい方が優秀。cfqは何度試しても計測途中で端末が落ちたので計れませんでした。

asは一回計った時点で劣っていることがわかったので、試行は1回のみ。

 

着目すべきは連続読み込みのブロック単位。一番体感するとこです。

連続書き込み連続読み込みランダムアクセス
スケジューラキャラクタ単位ブロック単位読み書きキャラクタ単位ブロック単位シーク
deadline
41520
2780
1755
29548
108
2604
noop
66812
3591
3245
87725
97
2578
cfq
as
79574
1509
1637
18122
82
514
vr
61834
1900
2668
18628
104
2653
sio
52247
3705
2137
22932
105
3463
bfq
68973
2251
2133
40771
11
4213

予想通り、deadline, vr, sio あたりがよいですね。

bfqはどうやらちゃんと計測できてないくさいです。2.6.29にちゃんと対応していないものなので仕方なし?

 

計測結果(ファイル作成・書き込み・読み込み)

こっちで重要なポイントは赤マークしてあるランダムファイル読み込み。

パソコンをSSDにする理由でもあるランダム読み込み書き込みです。

連続作成読み書きランダム作成読み書き
スケジューラファイル作成ファイル読み込みファイル削除ファイル作成ファイル読み込みファイル削除
deadline
438
3475
428
492
436
454
noop
424
3061
360
411
237
402
cfq
as
415
3425
44
457
301
450
vr
470
3431
406
499
306
450
sio
449
3432
416
461
356
448
bfq
481
3098
440
484
80
452

deadline が頭一つ抜けてる感じか?

次点でsio。以降 vr 。

 

思ったよりも時間がかかることに気づいたベンチマーク。

試行回数の少なさ、パラメータの調整をしていないこと、もとより3つぐらいに絞ってパフォーマンスをにつめていくつもりだったのでまぁよしか。

現時点でx10 における推奨スケジューラは

 deadline, sio, vr

であると言えそう。

 

次回 deadline, sio, vr の3つを重点的に攻めてみる!

 

 おまけ

統計はエクセルで取ってたのですが、そこからtableタグに落とすとき使ったのが

エクセルシートをHTMLテーブルに変換しちゃう君 (ββ)

です。めっちゃ便利やんこれ!

 

関連記事

1件のコメント


  1. […] I/O スケジューラについて 中編 実際に測ってみた on x10 […]

コメントを残す

メールアドレスが公開されることはありません。