- ベストアンサー
マルチコアについて
こんばんは。 マルチコアCPUについてご質問です。 シングルCPU時に、処理待ちが原因でパフォーマンスが悪い場合には、 マルチコアにした方が改善されるとイメージしてます。 ただCPU処理待ちが無い場合、 例えばシングルCPUでCPU使用率が100%だった。それでデュアルに したら処理は高速化されるだろう、、と考えるのは間違いでしょうか?。 ※CPU使用率も50%くらいになるのでしょうか?。 クロック数を上げるのと同様に、デュアルにすれば 処理の高速化は見込めるのでしょうか。。 お手数ですがアドバイスお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
当方は、最近のCoreDuoを始め環境を持っていませんので マルチコアCPUについては、なんともいえませんが、 当方は個人的にPen3のDUALを4台ほど持ちXeonDUALを2台ほど 所有しています。 CoreDuo等の環境を整えていないので、これは想像になりますが マルチコアもデュアルプロセッサもOSからみたらCPUは2つ見えますので 通常のCPU1つより、2つになったらCPU使用率はどう変わるかを 述べてみたいと思います。 通常のCPU1つの場合、例えばゲームなど処理の重いものが起動し、 これがCPU使用率100パーになったとします。 この状態で他のソフトを立ち上げると非常に重いです。 一方CPU2つの場合は、ゲームなど処理の重いものが起動しても OSが振り分けてくれるよう(?)なのでCPU0に50パーCPU1に50パーと 結果としてCPUの使用率は50パーになります。 この状態で、他のソフトを立ち上げても使用率の空きが50パー 空いているので余裕です。 CPUが2つある場合、アプリケーションがマルチプロセッサ対応でないと 恩恵を得られない。だからDUALは無駄とも言われる場合もありますが、 OSはマルチプロセッサに対応のOSであれば ある程度はOS側によって使用率の分散や振り分けられているようで DUAL自体、意味が無い訳ではないようです。 現在の所XeonDUALをメインで当方は使用していますが かなり挙動の重いソフトでもCPU使用率が100パーになることは稀です。 (DUAL環境でCPU0とCPU1が両方100パーにならなければ使用率100パーになりません) 以前、常時50パーCPUを消費している状態になったことがあります。 結論からいうと FTPソフトを終了しているのに実はプロセス上で残っており CPUを100パー食い尽くしているようでしたが、 デュアルプロセッサだった為、CPU0に50パー、CPU1に50パーで 全体から見ると50パー常にCPUを食っている状態でした。 やけにずっと50パーだなぁーと思った結果がコレでした。 しかし重くなかったため気が付きませんでした。 >※CPU使用率も50%くらいになるのでしょうか?。 シングルで100パー食っているソフトはDUALにおいては50パーになると思います。 >クロック数を上げるのと同様に、デュアルにすれば >処理の高速化は見込めるのでしょうか。。 どのような処理をするかにもよります。 例えば3Dソフトなどでレンダリングするとシングルより早く終わるのか? といったような内容であれば、気持ち早くなるかも知れませんが タブン誤差範囲程度に早くなる程度で処理スピードは半分になりません。 但しレンダリングソフトがマルチプロセッサに対応のものであれば 半分の時間でレンダリングが出来るはずですが、 全ての処理が向かうことになる為、他のソフトは起動する余裕はなくなります。 対応していない場合は、速さはシングル時と変わりません。 しかしながらレンダリング中にフォトシップなどの重い編集ソフトや ネットゲームがサクサク出来たりする余裕はあると思います。 またシングル時ではレンダリング中に他の仕事をすると、 重くて使い物にならないか、CPU率が奪われる為 その分レンダリング時間が延びるだけですが DUALになればこれらは影響を受けにくいので レンダリングしながら別のことが出来ます。 これらはDUALによってシングルではしにくかった事が DUALでは可能になる為、結果として作業効率が上がったのではないかと 思います。 つまり、処理の高速化は見込めませんが、処理の効率化は見込めそうです。 当方としては DUALは、○○しながら作業が強いのではないかと思います。 もしcheep-impaさんが、そのような使い方を多くしているようであれば デュアル(コア)にされると恩恵を多く受けられるとは思います。
お礼
大変ご丁寧にご説明頂き本当に有難うございました。 単一のソフトで「処理を早くしたい」というのはやはり難しいのですね。。頂いたアドバイスを元に書籍などで引き続き勉強してみます。 有難うございました。