[17860]  FASTTRAK100に性能に関して
投稿者:おまち さん   2000-12-21 21:15:44
PROMISE FASTTRAK100にIBM DTLA-307030を4台接続しRAID0で使用しています。

非常に大きなファイル(たとえば10GB)からアプリケーションで
絶え間なくかつ高速にデータを読み出したいのですが、うまく動作しません。
評価の方法として、あらかじめ10GBのファイルを作成し、そのファイルを
32KBのブロックで連続的に読み出すという方法を取りました。この時、他の
アプリケーションなどは動かしていません。
結果として、10GBのファイルを読み出しに要した時間は約130秒程度、つまり
平均の読み出しレートは80MB/s以上の性能が出ているのですが、32KBのブロック
を1回読み出すのに要した時間にばらつきが発生して困っています。
ほとんどの場合、32KBのデータを読み出すのに1ms以内に読み出せているのですが、
時より非常に時間がかかることがあります。オーダー的には、数百msかかっています。
読み出しが安定しなくて、データを絶え間なく読み出すことができません。

評価に用いたOSは、Windows NT4.0SP6を使用しています。いくつかのメーカーのPC
を試してみたのですが、症状は同じものだったのでFASTTRAK100のボードあるいは、
ドライバに問題がありそうなのですが、この辺の情報をお持ちの方あるいは、
参考になりそうなホームページをご存じ方がおられましたら、是非お教え願え
ないでしょうか。宜しくお願いします。
  1. よねよね さん   2000-12-21 23:40:37
    素人考えではありますが、原因としては次のような要素があるのではないでしょうか?

    ・IDEバスの制限
    IDEは SCSIと異なり、1つのチャンネル(プライマリ/セカンダリ)で同時に 1つのデバイスしかアクセスできません。すなわち、1つのチャンネルのマスター/スレイブに HDを繋げてのストライピングでは、あまり意味を持ちません。

    ・キャッシュのアルゴリズムによるもの
    HDからファイルを読み込む際に、HD上のキャッシュと OS上のキャッシュにキャッシングされるわけですが、10GBものファイルを読み込むわけですから、何度もキャッシュのフラッシュが発生すると思います。そのオーバヘッドも考えられますし、また、効率的にバスを使うために、有る程度 HDのバッファに溜まってから転送を開始するようなアルゴリズムがあるのかも知れません。

    ・HDの物理的な制約
    HDのフラグメンテーションがひどかったために、回転待ち時間やシークタイムに影響が出ている。(でも、これを防ぐためのストライピングですよね...(^^;)

    ・ストライピングサイズの問題
    ストライピングサイズがおかしかったり(32KB単位で読み込んでいるのに、ストライピングサイズが 32KB以上でしたら、効果は薄いですよね)、クラスタサイズとストライピングサイズの相性が悪いとかもあり得るかと。

    ・NTのファイルスワップの影響
    OSのファイルスワップとぶつかって、HDからの読み込みが途切れたのかも知れません。

    ・FastTRAK 100の問題
    雑誌で、FastTRAK 100に、色々なメーカの HDを付けたり、ストライピングサイズを変えてベンチマークを取っていましたが、やはり色々なばらつきがありました。FastTRAK 100単体の問題以外にも、「相性」と呼ばれるものが有るのかも知れません。

    見当違いなものもあるでしょうけど、色々と原因は考えられる気がしますね。
    (もし、周期的に数百msが出るのでしたら、キャッシュのアルゴリズムのような気がしますね)
  2. Casper-01 さん   2000-12-23 08:12:22
    >FASTTRAK100にIBM DTLA-307030を4台接続しRAID0で
    これが一番の原因と思いますが、HDD自体ににアクセスLEDが付いていれば、同一チャネル間では同時には点灯していないのが解かる筈です。

    WinBench99 Ver1.1で領域全体のリード速度を測定出来ます。
    http://home.att.ne.jp/sea/casper-01/image/PC/st310232a.JPG
    こんな感じに。