Vitruvian Penguin
knoppix

[knoppix:6244] シークの影響

Date: Fri, 14 Apr 2006 12:30:58 +0900 (JST)
X-mailer: Mew version 3.1 on Emacs 21.2 / Mule 5.0 (SAKAKI)
須崎です。

ちょっと思いついて knoppix 5.0 DVD に入っている2つの cloop ファイルを
使たシーク影響を調べてみました。2つの cloop ファイルを dd で並列(dd 
を2つ同時実行)/逐次(dd を1つづつ順次実行)に読ませてどれくらいシー
クの影響がでるかの比較です。
並列の場合2つの cloop を行ったり来たりするのでシークが多発して遅くな
るはず。実行してみれば判りますが、ギコギコかなりの音がします。逆に逐次
の場合はほとんど音がしません。

並列読み出しした場合、どちらかが早く終った場合の同期を取るため、下記の
ような makefile を書きました。これだと -j オプションで並列/逐次の指定
ができます。

--- makefile ---------------------------------
dd1:
        /bin/dd if=/dev/cloop0 of=/dev/null
        touch dd1
dd2:
        /bin/dd if=/dev/cloop2 of=/dev/null
        touch dd2
all: dd1 dd2
     /bin/rm dd1 dd2
---------------------------------------------
これを並列の場合は
   # make -j 2 all
逐次の場合は
   # make -j 1 all
をして実行します。動作のログは下記に付けます。それぞれを ThinkPAD T42 
と Lets Note で比較した結果が下記です。

ThinkPAD T42  --------
逐次 real 19m58.082s
並列 real 45m56.499s

Lets Note W4  --------
逐次 real 15m39.702s
並列 real 26m 5.541s

並列だとかなり遅くなることが判ります。逐次だと LetsNote と ThinkPADは
それほど差がありませんが、並列だと ThinkPAD T42 が異様に遅い。

これはドライブの特性?IO読み出しのエレベータアルゴリズの特性? dd プロ
セスの切替えのタイミング?など色々な要素があます。

御興味にある方は試してみて下さい。ただし、DVD に負荷をかけているので自
己責任でお願いします。


========== 実行ログ=================================================
---------------------------------------------------------------------
逐次読み出し。余計なシークがない。make を実行すると dd が順次行なわれ
るのが判ります。
# make -j 1 all
/bin/dd if=/dev/cloop0 of=/dev/null
読み込んだブロック数は 10316288+0
書き込んだブロック数は 10316288+0
5281939456 bytes transferred in 643.195008 seconds (8212034 bytes/sec)
touch dd1
/bin/dd if=/dev/cloop2 of=/dev/null
読み込んだブロック数は 5618816+0
書き込んだブロック数は 5618816+0
2876833792 bytes transferred in 290.263719 seconds (9911104 bytes/sec)
touch dd2
/bin/rm dd1 dd2

---------------------------------------------------------------------
並列読み出し。余計なシークが多発。makeを実行すると dd が2つ同時に行な
われるのが判ります。
# make -j 2 all
/bin/dd if=/dev/cloop0 of=/dev/null
/bin/dd if=/dev/cloop2 of=/dev/null
読み込んだブロック数は 5618816+0
書き込んだブロック数は 5618816+0
2876833792 bytes transferred in 1170.969269 seconds (2456797 bytes/sec)
touch dd2
読み込んだブロック数は 10316288+0
書き込んだブロック数は 10316288+0
5281939456 bytes transferred in 1560.061216 seconds (3385726 bytes/sec)
touch dd1
/bin/rm dd1 dd2
---------------------------------------------------------------------
-------
suzaki
<Prev in Thread] Current Thread [Next in Thread>
  • [knoppix:6244] シークの影響, Kuniyasu Suzaki <=