2010年9月20日月曜日

core i3のマルチスレッド性能

先に書いたように、先月末に iMac core i3が到着したので、いろいろマルチスレッド性能を確認していました。 i3はcoreは2個ですが、ハイパースレッドが機能するので、3個の処理が同時に動けるからです。しかしハイパースレッドはインテル自身も30%かそこらの数字を言っているように単純に倍のcore数の性能が出るわけではありません。
私のプログラムでは数値地図ビューア、SimpleDEMViewer、基盤地図25000ビューアがマルチスレッドを利用します。前の二つでは展望図の作成、可視領域の描画時に大きく影響します。いろいろな設定で測定したところ、スレッド数3が最適なようです。4を指定するとcpuタイムでは400%近く行きますが、処理時間はほとんど変わりません。かえって遅くなることもあります。数値地図ビューアでは3を指定できないので4が最適ということになりますが、SimpleDEMViewerでは3を指定したほうがよさそうです。いずれもメモリが不足してページングが多発するような状況では、少なく指定したほうがいいでしょう。
core i5 や i7 ではどのくらいがいいのか試す環境がありませんが、core数までにしたほうがよいのかと思います。忙しいスレッドの数がcore数以下の場合はクロック数を上げるターボモードに入るらしいので、その方が結果的に速くなるでしょう。最適値がどのくらいかはそれぞれの環境で確認することをお勧めします。
基盤地図25000ビューアではファイル処理の部分だけなので、適当な値を自動的に設定しています。MacBook proやiMacではディスクの動作が遅いので、スレッド数を2より大きくしてもcpu利用率も増えず、ほとんど効果がありませんでした。Mac proでRaidでも使用していれば、効果があるのでしょうけれど。

0 件のコメント:

コメントを投稿