Eee PC/SSDの高速化への挑戦!No7.PFBのベンチマーク
PFBにより個別に設定をし、SSDの性能がどのように変化するか見て行こう。SSDはASUSのEee PC S101のCドライブを使用している。
まずベンチマークテストに使用したソフトを紹介する。
■PFM
ラボで開発したベンチマークソフトだ。これは最新版が「PFB」に入っている。このソフトは、4Kバイトのリードとライトをマルチタスクで同時に行う。これを延々と行うという単純なソフトだ。
Eee PCのあるいはSSD搭載PCの、嵐のごときアクセスを想定している。
■CopySpdBench v0.3
http://d.hatena.ne.jp/Lansen/20081003/1223054467
筆者同様SSDのプチフリを追跡している方が作成したものだ。
PFMは暴風時という異常時のベンチを目標としているので一般的とは言えない。よりソフトな、Windowsで発生しているトラフィックを再現するという意味でCopySpdBench v0.3は優れている。
***
残念だが、過去ラボで愛用していたCrystalDiskMarkは使用しない。CrystalDiskMarkは、ディスクの最高性能を計測するのに向いているが、リードライトの混在した混濁した状態のテストには向いていないようである。
1.まずノーマル状態を計測する
ベンチはそのときのS101のSSDの空容量、デフラグの状況で上げ下げするので前回とテスト結果が異なるのはそのためだ。S101は2.4〜4msまで変化する。。。SSDの容量が圧迫し、デフラグが溜まると4msまで落ち込む。
■PFMの測定
平均リードライトだけ注意して欲しい。リードとライトを併せているので約1/2の値になっている。
--- PFM 測定結果 ---
テスト所要時間 181485 ms
平均リード・ライトタイム 1.815903 ms
平均リードタイム 3.632954 ms
平均ライトタイム 3.628420 ms
--- PFM 測定結果 -------------------
100ms以上時間の掛かったライトの平均タイム
プチフリ平均ライトタイム 638.823009ms, ダメージ比率 39.794377%
プチフリ平均リードタイム 639.530973ms, ダメージ比率 39.838479%
■SpeedCpyBenchの測定
CopySpdBench Build: [Sat Oct 25 17:01:27 2008]
OS: Windows XP (32bit)
Disk C: Capacity: Total=14.999[GB] Free=10.765[GB]
LL C: 512K (Buffer: 64K) 200File(s) 5Trial(s) : Average: 6.686[MB/s] ( 14.957[sec])
LL C: 4K (Buffer: 64K) 1000File(s) 5Trial(s) : Average: 0.540[MB/s] ( 7.234[sec])
HL C: 4K 5000File(s) 5Trial(s) : Average: 2.216[MB/s] ( 8.812[sec])
***
***
困った。。。(´・ω・`)。実は、この文章は一度下書きを消去して書き直している。。。ベンチをとって判ってきたのだが、、、途中からSSDの様子が変化したのがわかった。特別何もしていないのだが、、、再度、ノーマルでベンチを取り直した。PFMの結果を見て欲しい。
--- PFM 測定結果 -------------------
テスト所要時間 111094 ms
平均リード・ライトタイム 1.111118 ms
平均リードタイム 2.222271 ms
平均ライトタイム 2.221240 ms
--- ライトから見たプチフリ度数 ---
100ms以上時間の掛かったライトの平均タイム
プチフリ平均ライトタイム 895.285714ms, ダメージ比率 5.645946%
プチフリ平均リードタイム 895.285714ms, ダメージ比率 5.645946%
いつのまにか50%程、速度が改善している。。。何が起きたのだろうか。。。PFMの詳細を分析してみよう。
■さっきとった記録(1回目の記録)
--- ms, Read回数, Write回数 ---
1,42862,42915
16,2606,2606
17,4343,4349
32,14,14
33,2,1
48,2,2
204,1,1
220,1,1
610,2,4
611,1,0
626,61,65
641,14,12
642,23,21
657,1,0
829,2,1
830,2,1
844,1,2
845,4,5
■いまとりなおした記録(2回目の記録)
--- ms, Read回数, Write回数 ---
1,43281,43297
16,2509,2510
17,4177,4176
32,5,5
33,3,4
47,1,1
48,1,0
891,1,1
892,4,4
907,1,1
908,1,1
この2つの記録はPFMの詳細情報だ。アクセスにかかった時間ごとの分類をしている。一回目のところの青でマーキングしたところを見て欲しい。ここが、2回目から消失している。何が起きたのだろうか。。。600ms台の溜まりはPFMの開発当初から常に出現していたものだ。これが吹っ切れてなくなった。この結果、速度が50%向上したようである。
ただ、そのかわりと言ってはなんだが、900ms前後に僅かだが溜まりが発生している。
推測の域をでないのだが、ウェアレベリングでSSD内部のヒューズ(のようなものが)吹っ飛んだ印象がある。
***
***
閑話休題。横槍が入ったが先を進める。計測上このようなハプニングが起きた事だけ読者は頭にいれて欲しい。
2.PFBによるアクセス制限状態を計測する
もともとPFB開発の趣旨はプチフリの抑止である。やはり、これを忘れてはいけない。

[クリックで拡大]
PFBの制御画面を上に示す。赤で囲んだ所がSSDへのアクセスを制限する項目だ。
図のとおりの設定を行っている。
SpeedCpyBenchの作者のWebでは、SSDのコントローラJMF602は64Kバイトメモリを作業用メモリを積んでいるという記載していた。従い、ここには64Kバイト以下、やはり32Kバイト程度を指定するのが良いようである。
■PFMの測定
計測の結果はノーマルとほとんど同じ変化なしだ。
また、SpeedCpyBenchの計測結果は誤差のうち、あるいは10%程度速度低下したという印象がある。
--- PFM 測定結果 -------------------
テスト所要時間 110344 ms
平均リード・ライトタイム 1.102547 ms
平均リードタイム 2.201414 ms
平均ライトタイム 2.205620 ms
--- ライトから見たプチフリ度数 ---
100ms以上時間の掛かったライトの平均タイム
プチフリ平均ライトタイム 841.571429ms, ダメージ比率 5.345735%
プチフリ平均リードタイム 839.285714ms, ダメージ比率 5.331216%
■SpeedCpyBenchの測定
CopySpdBench Build: [Sat Oct 25 17:01:27 2008]
OS: Windows XP (32bit)
Disk C: Capacity: Total=14.999[GB] Free=10.747[GB]
LL C: 512K (Buffer: 64K) 200File(s) 5Trial(s) : Average: 6.077[MB/s] ( 16.456[sec])
LL C: 4K (Buffer: 64K) 1000File(s) 5Trial(s) : Average: 0.414[MB/s] ( 9.428[sec])
HL C: 4K 5000File(s) 5Trial(s) : Average: 1.702[MB/s] ( 11.478[sec])
この設定では、SSDの速度向上はないのだが、プチフリに対して抑止力は働いていると予想する。次ぎの図を見て欲しい。

[クリックで拡大]
32Kバイトを超過したSSDのアクセスに対してPFBはブロックをかけて以後、CPUの占有権が廻らないようにする。結果、SSDとは関連しないプログラムに占有権が移すことをしている。
結果、、、プチフリが起きた時に、CPUパワーが吸い込まれないように働く。SSDが遅くなっても、他のプログラムへの悪影響を防ぐわけだ。

[クリックで拡大]
もしやと思い、SpeedCpyBenchでCPU負荷率を測定してみた。
SpeedCpyBenchの中で、プチフリならぬメガフリ(50秒以上の完全ノーコン現象)が起きるというHLモードの4K×5000個のファイルコピーテストがある。ラボのS101ではメガフリもプチフリも起きないのだが、、、これに手を加え5000個のファイルコピーを1万個にしてみた。上の図がテスト中のCPU負荷率だ。
直感的にこれだけ負荷が高いとすれば、機種によりプチフリがおきてもおかしくないと思われる。
PBFのアクセス制限で、同時アクセス回数1を指定してやはり負荷率を見てみた。

[クリックで拡大]
この図がそうだ。CPU負荷率が極めて低いのが判る。ただし、SSDへのアクセスを1スレッドに制限しているので非常に遅い。
少し大風呂敷ではあるが、プチフリ現象にはCPUの占有率という側面から見ていく必要があると思われる。今後の追跡の課題だろう。
***
***
さて、そして、もう一つ。。。SSDへのアクセスの増大をブロックすると思う。。。Windowsのファイルマネージャは次ぎのような構造をとっていると思われる。一つの仮説と思って欲しい。

[クリックで拡大]
どうも、Windowsの動きを見ていると、スレッド(プログラムの実行単位)を連発しているように見える。ファイルマネージャはSSDに対して、次々とアクセスのスレッドを打ち出しているように見える。当然、2つの制限が生まれると予想する。
■だるま叩きの棚の受け入れ制限があると思う。
無制限にタスクを溜めるとは思えない。
■未終了のスレッドを無制限に打ち出すとは思えない。
PFBが期待するのはこの制限を作動させることだ。
PFBのアクセス制限により、SSDに流す、スレッドをせき止める。今まではSSDが白旗を挙げるまで流し続けていたスレッドを手前でPFBがせき止める。
未処理のスレッドが増えれば、Windowsは打ち出しを止める可能性がある。
さらに、スレッドの打ち出しが止れば未処理のタスクは棚に増えていく。この棚が一杯になれば、Windowsはファイルアクセスの要求を緩和するだろう。。。
一般アプリの場合にはこのような事はないと思うが、例えば1000個のファイルを持つフォルダのコピーをファイルエクスプローラが行う場合、Windowsはディスクが要求に応えるまでアクセスを発行する可能性が高いと思うのだ。
このようなわけで、このSSDへのアクセス制限というのはプチフリを根源的に解決してくれるのではないかと思っている。
総括するとこうだろう。
■ NTFSなどのWindowsのバックヤードの様々な書き込みが定期的に大量発生する。
■ それとは別にSSD自身も内部のガーベージコレクションで速度が低下する。
■ これらが重なり、さらにCPUの処理がSSDの監視に割り当てられる。
この三重苦が発生した時にプチフリが激しく発生するのではないだろうか。
***
余計なハプニングで果ててしまった。次回は、高速化アプローチのベンチマーク結果をレポートする。
***
「PFB」は、「f2d」正規ユーザ用の支援ソフト「f2dユーティリティ」に(09.04.11)現在編入している。「f2d」の正規ユーザであれば無料にて入手できるようになっている。
また、「f2d」のユーザでなくともテスターとして協力してくださる方は連絡して欲しい。ラボでは提供したいと思っている。
■ 現在、具体的に発生しているプチフリの症状を教えて欲しい。
■ PFB導入後の症状の変化をレポートして欲しい。

---> Eee PC高速化・SDHCのHDD化 プチフリバスター製品紹介ページ
※f2dはバージョンアップしてプチフリバスターに統合されました。

「f2d」のトップページ --> http://f2d.dnki.co.jp/

「PeopleLock」の紹介サイト --> http://peoplelock.dnki.co.jp/
まずベンチマークテストに使用したソフトを紹介する。
■PFM
ラボで開発したベンチマークソフトだ。これは最新版が「PFB」に入っている。このソフトは、4Kバイトのリードとライトをマルチタスクで同時に行う。これを延々と行うという単純なソフトだ。
Eee PCのあるいはSSD搭載PCの、嵐のごときアクセスを想定している。
■CopySpdBench v0.3
http://d.hatena.ne.jp/Lansen/20081003/1223054467
筆者同様SSDのプチフリを追跡している方が作成したものだ。
PFMは暴風時という異常時のベンチを目標としているので一般的とは言えない。よりソフトな、Windowsで発生しているトラフィックを再現するという意味でCopySpdBench v0.3は優れている。
***
残念だが、過去ラボで愛用していたCrystalDiskMarkは使用しない。CrystalDiskMarkは、ディスクの最高性能を計測するのに向いているが、リードライトの混在した混濁した状態のテストには向いていないようである。
1.まずノーマル状態を計測する
ベンチはそのときのS101のSSDの空容量、デフラグの状況で上げ下げするので前回とテスト結果が異なるのはそのためだ。S101は2.4〜4msまで変化する。。。SSDの容量が圧迫し、デフラグが溜まると4msまで落ち込む。
■PFMの測定
平均リードライトだけ注意して欲しい。リードとライトを併せているので約1/2の値になっている。
--- PFM 測定結果 ---
テスト所要時間 181485 ms
平均リード・ライトタイム 1.815903 ms
平均リードタイム 3.632954 ms
平均ライトタイム 3.628420 ms
--- PFM 測定結果 -------------------
100ms以上時間の掛かったライトの平均タイム
プチフリ平均ライトタイム 638.823009ms, ダメージ比率 39.794377%
プチフリ平均リードタイム 639.530973ms, ダメージ比率 39.838479%
■SpeedCpyBenchの測定
CopySpdBench Build: [Sat Oct 25 17:01:27 2008]
OS: Windows XP (32bit)
Disk C: Capacity: Total=14.999[GB] Free=10.765[GB]
LL C: 512K (Buffer: 64K) 200File(s) 5Trial(s) : Average: 6.686[MB/s] ( 14.957[sec])
LL C: 4K (Buffer: 64K) 1000File(s) 5Trial(s) : Average: 0.540[MB/s] ( 7.234[sec])
HL C: 4K 5000File(s) 5Trial(s) : Average: 2.216[MB/s] ( 8.812[sec])
***
***
困った。。。(´・ω・`)。実は、この文章は一度下書きを消去して書き直している。。。ベンチをとって判ってきたのだが、、、途中からSSDの様子が変化したのがわかった。特別何もしていないのだが、、、再度、ノーマルでベンチを取り直した。PFMの結果を見て欲しい。
--- PFM 測定結果 -------------------
テスト所要時間 111094 ms
平均リード・ライトタイム 1.111118 ms
平均リードタイム 2.222271 ms
平均ライトタイム 2.221240 ms
--- ライトから見たプチフリ度数 ---
100ms以上時間の掛かったライトの平均タイム
プチフリ平均ライトタイム 895.285714ms, ダメージ比率 5.645946%
プチフリ平均リードタイム 895.285714ms, ダメージ比率 5.645946%
いつのまにか50%程、速度が改善している。。。何が起きたのだろうか。。。PFMの詳細を分析してみよう。
■さっきとった記録(1回目の記録)
--- ms, Read回数, Write回数 ---
1,42862,42915
16,2606,2606
17,4343,4349
32,14,14
33,2,1
48,2,2
204,1,1
220,1,1
610,2,4
611,1,0
626,61,65
641,14,12
642,23,21
657,1,0
829,2,1
830,2,1
844,1,2
845,4,5
■いまとりなおした記録(2回目の記録)
--- ms, Read回数, Write回数 ---
1,43281,43297
16,2509,2510
17,4177,4176
32,5,5
33,3,4
47,1,1
48,1,0
891,1,1
892,4,4
907,1,1
908,1,1
この2つの記録はPFMの詳細情報だ。アクセスにかかった時間ごとの分類をしている。一回目のところの青でマーキングしたところを見て欲しい。ここが、2回目から消失している。何が起きたのだろうか。。。600ms台の溜まりはPFMの開発当初から常に出現していたものだ。これが吹っ切れてなくなった。この結果、速度が50%向上したようである。
ただ、そのかわりと言ってはなんだが、900ms前後に僅かだが溜まりが発生している。
推測の域をでないのだが、ウェアレベリングでSSD内部のヒューズ(のようなものが)吹っ飛んだ印象がある。
***
***
閑話休題。横槍が入ったが先を進める。計測上このようなハプニングが起きた事だけ読者は頭にいれて欲しい。
2.PFBによるアクセス制限状態を計測する
もともとPFB開発の趣旨はプチフリの抑止である。やはり、これを忘れてはいけない。

[クリックで拡大]
PFBの制御画面を上に示す。赤で囲んだ所がSSDへのアクセスを制限する項目だ。
図のとおりの設定を行っている。
SpeedCpyBenchの作者のWebでは、SSDのコントローラJMF602は64Kバイトメモリを作業用メモリを積んでいるという記載していた。従い、ここには64Kバイト以下、やはり32Kバイト程度を指定するのが良いようである。
■PFMの測定
計測の結果はノーマルとほとんど同じ変化なしだ。
また、SpeedCpyBenchの計測結果は誤差のうち、あるいは10%程度速度低下したという印象がある。
--- PFM 測定結果 -------------------
テスト所要時間 110344 ms
平均リード・ライトタイム 1.102547 ms
平均リードタイム 2.201414 ms
平均ライトタイム 2.205620 ms
--- ライトから見たプチフリ度数 ---
100ms以上時間の掛かったライトの平均タイム
プチフリ平均ライトタイム 841.571429ms, ダメージ比率 5.345735%
プチフリ平均リードタイム 839.285714ms, ダメージ比率 5.331216%
■SpeedCpyBenchの測定
CopySpdBench Build: [Sat Oct 25 17:01:27 2008]
OS: Windows XP (32bit)
Disk C: Capacity: Total=14.999[GB] Free=10.747[GB]
LL C: 512K (Buffer: 64K) 200File(s) 5Trial(s) : Average: 6.077[MB/s] ( 16.456[sec])
LL C: 4K (Buffer: 64K) 1000File(s) 5Trial(s) : Average: 0.414[MB/s] ( 9.428[sec])
HL C: 4K 5000File(s) 5Trial(s) : Average: 1.702[MB/s] ( 11.478[sec])
この設定では、SSDの速度向上はないのだが、プチフリに対して抑止力は働いていると予想する。次ぎの図を見て欲しい。

[クリックで拡大]
32Kバイトを超過したSSDのアクセスに対してPFBはブロックをかけて以後、CPUの占有権が廻らないようにする。結果、SSDとは関連しないプログラムに占有権が移すことをしている。
結果、、、プチフリが起きた時に、CPUパワーが吸い込まれないように働く。SSDが遅くなっても、他のプログラムへの悪影響を防ぐわけだ。

[クリックで拡大]
もしやと思い、SpeedCpyBenchでCPU負荷率を測定してみた。
SpeedCpyBenchの中で、プチフリならぬメガフリ(50秒以上の完全ノーコン現象)が起きるというHLモードの4K×5000個のファイルコピーテストがある。ラボのS101ではメガフリもプチフリも起きないのだが、、、これに手を加え5000個のファイルコピーを1万個にしてみた。上の図がテスト中のCPU負荷率だ。
直感的にこれだけ負荷が高いとすれば、機種によりプチフリがおきてもおかしくないと思われる。
PBFのアクセス制限で、同時アクセス回数1を指定してやはり負荷率を見てみた。

[クリックで拡大]
この図がそうだ。CPU負荷率が極めて低いのが判る。ただし、SSDへのアクセスを1スレッドに制限しているので非常に遅い。
少し大風呂敷ではあるが、プチフリ現象にはCPUの占有率という側面から見ていく必要があると思われる。今後の追跡の課題だろう。
***
***
さて、そして、もう一つ。。。SSDへのアクセスの増大をブロックすると思う。。。Windowsのファイルマネージャは次ぎのような構造をとっていると思われる。一つの仮説と思って欲しい。

[クリックで拡大]
どうも、Windowsの動きを見ていると、スレッド(プログラムの実行単位)を連発しているように見える。ファイルマネージャはSSDに対して、次々とアクセスのスレッドを打ち出しているように見える。当然、2つの制限が生まれると予想する。
■だるま叩きの棚の受け入れ制限があると思う。
無制限にタスクを溜めるとは思えない。
■未終了のスレッドを無制限に打ち出すとは思えない。
PFBが期待するのはこの制限を作動させることだ。
PFBのアクセス制限により、SSDに流す、スレッドをせき止める。今まではSSDが白旗を挙げるまで流し続けていたスレッドを手前でPFBがせき止める。
未処理のスレッドが増えれば、Windowsは打ち出しを止める可能性がある。
さらに、スレッドの打ち出しが止れば未処理のタスクは棚に増えていく。この棚が一杯になれば、Windowsはファイルアクセスの要求を緩和するだろう。。。
一般アプリの場合にはこのような事はないと思うが、例えば1000個のファイルを持つフォルダのコピーをファイルエクスプローラが行う場合、Windowsはディスクが要求に応えるまでアクセスを発行する可能性が高いと思うのだ。
このようなわけで、このSSDへのアクセス制限というのはプチフリを根源的に解決してくれるのではないかと思っている。
総括するとこうだろう。
■ NTFSなどのWindowsのバックヤードの様々な書き込みが定期的に大量発生する。
■ それとは別にSSD自身も内部のガーベージコレクションで速度が低下する。
■ これらが重なり、さらにCPUの処理がSSDの監視に割り当てられる。
この三重苦が発生した時にプチフリが激しく発生するのではないだろうか。
***
余計なハプニングで果ててしまった。次回は、高速化アプローチのベンチマーク結果をレポートする。
***
「PFB」は、「f2d」正規ユーザ用の支援ソフト「f2dユーティリティ」に(09.04.11)現在編入している。「f2d」の正規ユーザであれば無料にて入手できるようになっている。
また、「f2d」のユーザでなくともテスターとして協力してくださる方は連絡して欲しい。ラボでは提供したいと思っている。
■ 現在、具体的に発生しているプチフリの症状を教えて欲しい。
■ PFB導入後の症状の変化をレポートして欲しい。

---> Eee PC高速化・SDHCのHDD化 プチフリバスター製品紹介ページ
※f2dはバージョンアップしてプチフリバスターに統合されました。

「f2d」のトップページ --> http://f2d.dnki.co.jp/

「PeopleLock」の紹介サイト --> http://peoplelock.dnki.co.jp/
- 2009.04.18 Saturday
- プチフリ
- 17:05
- comments(0)
- trackbacks(0)
- -
- -
- by kyonkyon84