Eee PC/SSDの高速化への挑戦!No6.PFBの説明

0
    プチフリ現象のシンボリック図
    [クリックで拡大]

     やれやれ、ようやくPFBの使い方、考え方の説明ができるようである。
    ■PR・・・この記事は完成して、製品化されました。
    Windows 高速化 プチフリバスター
    --->
    Eee PC高速化・SDHCのHDD化 プチフリバスター製品紹介ページ
    ※f2dはプチフリバスターに統合されました。


    マルチタスクの正しい認識1

     今更ながらであるが、マルチタスク、マルチスレッドの説明をする。プチフリを完全に理解するためにはマルチタスクの理解が必要だからだ。この上の図は厳密には間違っている。
     マルチCPU、マルチコアでない限り同時に2つ以上のプログラムが動くことはない。大雑把に言うと、マルチタスクなどいうものはノイマン型コンピュータには存在しない。ノイマン型コンピュータを逐次処理と言うとおりだ。一つづつ、つまりシングルタスクがノイマン型の本質なのである。

    マルチタスクの正しい認識2
    [クリックで拡大]

     これがいわゆる、一般的な意味でのマルチタスクだ。複数のプログラムにCPUの処理権、占有権を時間毎に割り振っている。良く見るとn次のシングルタスクであるが、高速に占有権が切り替わっているので同時に動いているように見える。

     では、感の良い人であれば、プチフリが何故起きるのだろうかと思うに違いない。SSDが遅かろうが、他のプログラムにCPUの占有権が移動してフリーズすることはないはずだ。

    マルチタスクの正しい認識3 プチフリ時の状況
    [クリックで拡大]

     要はこういう事なのだろう。SSDのアクセス待ちのプログラムが延々続き、ここに延々CPUの占有権がバトンタッチされていく。コレであれば、当然のことながら凍結する。

     ここでプログラムというものがどういうモードを持つか説明する。基本は3つしかない。すなわち、マウス、キーボード、SSDからの入力。また、SSD,画面などへの出力、そして計算処理だ。

    プログラム3態

     簡単すぎると思うかもしれないが、これしかない。
    これをSSDを切り口にさらに別けてみよう。

    SSDからみたプログラムのモードの分類

     プチフリを防ぐにはどうするか、、、

    プチフリを防ぐためにはSSDへのアクセスを散す

     理想を言えば、このようにする。SSDへのアクセス待ちのプログラムが連続しないように誘導する必要がある。

    SSDへ制限を加える

     PFBではまず、このアプローチをした。SSDに許すアクセスを2つの切り口から制限を加えた。

    ■ リード/ライトのデータ量に制限を加える。
     いま、32Kバイトに制限を設定したとしよう。書き込みが32Kバイト分溜まったら、以後の受け入れを禁止する。現在実行中の処理が終わるまで、待ってもらう。

    ■ アクセス回数に制限を加える。
     これはSSDに許可するマルチタスクの数だと思えば良い。
    例えば1を指定すれば、リードライトが複数きても、最初の一つだけSSDに受け渡し、以後、待っていてもらう。一つ終わったら次へと繰り返す。

     マルチタスクで例えば100個のファイルの同時コピーなどという処理が起きたとき、この仕掛けを用意すれば、SSDへのアクセスにブレーキがかかり処理が分散されると思われる。この考えにのっとって実装した。

    SSDに制限を加える
    [クリックで拡大]

     PFB Ver.0.4のコントロール画面である。赤枠で囲ったところがその設定だ。

     「同時アクセスを許すデータ総量」はリードとライトを併せて一度に受け入れを許すバイト数を指定する。推定でSSDコントローラJMF602は32Kバイトを持っているようであるから、32Kバイトあるいは、リードも考えて64Kバイトが無難な設定だと思う。

     「同時アクセスを許す回数」は、マルチタスク、マルチスレッドにてSSDへの同時リクエストを許す上限を指定する。「同時アクセスを許すデータ総量」を指定すればこちらは設定する必要はないと思う。もし、頑固なプチフリが起きていると実感しているのであれば、1〜5の間で設定することを勧める。経験的に、値を大きくすれば速く、つまりプチフリが起き易い状況になる。4より大きくするとあまり速度向上は起きない。。。これより制限を加える現実的な数字は1〜5の間だろうと判断している。

     さて、これらの設定は、SSDへの負荷をいかに散すか軽くするかを目的としている。従い、SSDのアクセスが遅くなることがあっても速くなることはない。注意して欲しい。

     SSDを使用していて、アクセスが遅くなっても良いからプチフリを抑えたいと思う人はこれを設定してみて欲しい。

           ***
             ***

    SSDの高速化技法 リードとライトの2線化
    [クリックで拡大]

     PFBのVer0.3からさらに、SSDのアクセス速度を高速化できないだろうかというアプローチを開始した。データを散すのではなく、SSDの処理を効率化させ、結果プチフリを抑制できるのではないかという実験である。おもにラボでは慢性的なプチフリ発生マシンがないという理由が根底になる。発生しないプチフリに対処するのではなく、高速化により開発の成果を判断できるという違う理由による(´・ω・`)。

     SSDのいや、ラボで検証しているEee PC S101の内蔵SSDにコントローラJMF602は、データの搬入・搬出が一方通行であると仮説したことは前回のレポートで述べたとおり。この搬入と搬出の切り替えが予想以上に時間がかかっておりSSDのボトルネックになっていると考えたのである。

     もし、適当な時間単位でリード専用、ライト専用とまとめれば高速化するのではないだろうか。PFBでは次ぎの設定により実装した。

    SSDの高速化技法 リードとライトの2線化 実際の設定
    [クリックで拡大]

     赤で囲んだ所がそうだ。
    上の設定がリードとライトを切り替える時間である。現在20ms〜25msを推奨している。まだまだ検証が不足しており、推奨は変わるかもしれない。。。

     また、下の設定は自動可変3を選択して欲しい。
     リードライトを別ける事により、PFMのテスト結果はライトで2倍、リードで3倍という劇的な成果がでた。しかし、そうでない場合では逆に遅くなるという弊害がでた。

    SSD リードライト複線化の問題
    [クリックで拡大]

     これは、上の図のような現象が起きているためだと思われる。車が一台もない閑散とした道路での信号待ちを想像してくれれば判る。例えばリードが赤信号でストップしている。反対側のライトは青信号だが、アクセスがないという状態だ。この信号待ちはそのままロスタイムになる。

     2つめのスイッチはこれを回避するための「一時信号無視設定」である。これを入れることにより、アクセスが少ない時は通常どおり動作し、交通量が多くなると自動的に信号整理するように働く。

     このあたりの説明は、次回以降ベンチマークも含めて詳細を説明していく。

     「PFB」正規ユーザ用の支援ソフト「f2dユーティリティ」に(09.04.11)現在編入している。「f2d」の正規ユーザであれば無料にて入手できるようになっている。

    PFB プチフリ解決ソフト Eee PC SSDの速度を2倍早速くする
    「f2dユーティリティ」のトップページ --> http://www.dnki.co.jp/content/view/83/79/

    Eee PC SDHC HDD 化
    「f2d」のトップページ --> http://f2d.dnki.co.jp/


    「PeopleLock」の紹介サイト -->
    http://peoplelock.dnki.co.jp/

    コメント
    コメントする








       
    この記事のトラックバックURL
    トラックバック

    SSDの高速化ツール Eee PC SDHC HDD 化 フリーウェア プチフリ 退治 解決 根絶に、現象測定ツール USB/SDHCカードブートにより簡単バックアップ フリーウェア USBメモリ、CFなどの不良検出ソフト FeliCa で ログオン フリーウェア USBウィルス対策ソフト フリーウェア 無限乱数式暗号フリーウェア USB ブート 簡単メモリチェック

    TEST1

    USB ブート 簡単メモリチェック

    selected entries

    categories

    archives

    recent comment

    • PBTM v0.1・起動USBによるEee PC・ネットブックのお手軽バックアップシステムを作る
      USBブート拡散部
    • WindowsXPの自動デフラグ機能について
       
    • ASUS Eee PC 701 SD-X日本語版の分解・オーバービューその2
      小林
    • 工人舎PM PM1WX16SA レビュー カスタマイズ 高速化
      meme
    • ★暗号化 Eee Storage/YoStoreの120%活用法
    • ★暗号化 Eee Storage/YoStoreの120%活用法
      ひろちゃん
    • f2dによるEee PC 901・4G-XのCドライブにSDHCを連結して容量を増大させる拡張 Part3.
      nick
    • f2dによるEee PC 901・4G-XのCドライブにSDHCを連結して容量を増大させる拡張 Part3.
      NAO
    • PBTM v0.1・起動USBによるEee PC・ネットブックのお手軽バックアップシステムを作る
      KyonKyon
    • PBTM v0.1・起動USBによるEee PC・ネットブックのお手軽バックアップシステムを作る
      kouichi

    recent trackback

    links

    profile

    search this site.

    others

    mobile

    qrcode

    powered

    無料ブログ作成サービス JUGEM