CPU > インテル > Core i5 4670K BOX
シングルスレッドの自作ベンチマークを複数走らせると処理速度が落ちるのですが、
皆様そういうご経験はおありでしょうか?
OSはVine Linux6.2、メモリは使用量はベンチマーク1本で400Mbyte以下で、
4G積んでいるので4本走らせてもHDDへのスワップはしてないはずです。
またディスクI/Oは殆ど無い状態ですので、こちらのロスも考えにくいのですが、
core i5 2500k(4.0GHzOC)だと1スレッドで100秒だったものが4スレッド走らせると217秒に、
core i5 4670k(4.0GHzOC)だと同じく170秒ぐらいになるようです。
ちなみにCPU温度は〜64度といったところです。
ちなみにベンチマークと書きましたのは、大規模疎行列演算で、
Intel composer xe2013を使って2500kはAVXに、4670kはAVX2に最適化してコンパイルしています。
CPU負荷を見る限りは、他のタスクの比率は0.2%以下なので、
バックグラウンドプロセスに足を引っ張られているという状況でもなさそうです。
発熱、メモリアクセス、ディスクアクセスともに余裕のあるはずの状況ですが、
マルチコアは複数スレッド使っても性能が落ちないものだとばっかり思ってましたが、
こんなもんでしょうか?
書込番号:16818905
0点
並列処理にプログラムが対応していないならマルチコアCPUの性能はいかせないのでは?
シングルタスクのプログラムですと複数プログラムを立ち上げれば
当然処理落ちすると思います。
書込番号:16819275
0点
tora32さんレス有難うございます。
なるほど言われてみればそんな気もするのですが、大学の大型計算機を使ってた時代は
そういう感覚はほとんど無かったので、何か間違えてるかと思った次第です。
マルチコアとマルチCPUとは違うということなんでしょうか。
こちらLinuxなんで試せないのですが、浮動小数点等のシングルスレッドのベンチマークを4本走らせると
やっぱり1つ1つは性能低下するものなのでしょうか?
あと訂正ですが、コア数もキャッシュサイズも同じ2500k(AVX)と4670k(AVX2)で、
4本流した時の性能は倍ぐらい(1240秒と677秒)違ってました。
私の用途だと、クロックの速いデュアルコアプロセッサを2台とか4台とか使ったほうが良いのかなぁ。
書込番号:16819917
0点
リソースの競合が起こるプログラムであれば、性能低下が起こる事もある。
関連は不明だけど昔、ペンティアム4でスーパーπを2つ同時に走らせた。
所要時間は1つの場合のになった。
ハイパースレッディングを有効にしたら、4割早くなった。
書込番号:16820215 スマートフォンサイトからの書き込み
1点
シングルコアのPC上のLinuxで一本だけソフトを走らせたとしても、そのソフトで 100% CPUコアを独占出来るわけではないです。 OS配下で動いてますから、何もしなくて負荷0でもプロセス切替えは頻繁に発生します。CPU占有率 100%とモニタされても実際は100%使えてる訳ではないですね。ほとんど使ってる位の意味です。
プロセスの意味あいも全てが同等ではないです、優先度の違いもあります。ユーザモードとカーネルモードの切替えのように、非常に重いリング遷移のペナルティもかかります。
同様のことは、マルチコアでも同じ事です。裏では複雑なプロセスの切替えが走り続けます。
マルチコアでマルチスレッドの処理性能を上げられるのは、コアを独占させるというのではなく、性能へのペナルティが大きいプロセス(タスク)切替えではなく、シングルプロセス内で、複数のスレッド(実行単位)を同時に走らせて効率を上げるという事です。
勿論、OSからみて、スレッドを割当てる CPUリソースは増えるので、その分性能は上げられますが、OSが管理するスレッドは2−3個ではなく数千のオーダなので、単純に コアの個数分性能が増えるのではありません。
4コアがあるから、4台のPCを使うのと同じように、4つのプログラムが同等に動けるという訳ではないのです。
一般にプロセス切替えより、スレッド切替えによる負荷の方が相当に軽いので、同じ処理をする複数のプロセスを同時に走らせるより、1プロセスで 内部で複数スレッドを持って切替えた方が早くなります。
なので、そのベンチを改良して 1プログラム複数スレッドにして、各スレッドで独立してベンチをやれば 効率は上がるはずです(ただし、オーバーヘッド0にはならない)。
それから、大型の体感と違うというのが良く分かりません。大型電子計算機は、TSSやJOB依頼で使うのが普通ではないですか? それでの 処理時間というのは CPUの使用時間の事なので、PCの体感性能やベンチマーク結果とは意味合いが違います。
Core i5の 各コアを占有出来るシングルプロセスマルチスレッドが動けるようなモニタソフトを作って独立かつ独占的に各コアを使えれば、スレ主が書かれてるような事が出来ると思います。
それは、ほぼ シンプルなOSを一本作るようなものなので、非現実的ですが、理論的には可能でしょう。
書込番号:16820804
![]()
1点
きこりさん、クアドトリチケールさん、レス有難うございます。
若干、消化しきれてない部分もありますが、やはりマルチプロセッサとは違うわけですね。
現状では8〜12本をパラで走らせられるように拡充を考えているのですが、
費用対効果を考えると4670k×3よりも中古のXeon E3 1220L×6で組んだほうが良いかも?
今更Sandyって感じですが・・・
(ちなみに大型計算機はJOB依頼で使ってましたが、システム立ち上げ試行時期だったので使用者が少なく、
コアを専有できていたのでCPU timeと実所要時間がほぼ同じだったんだと思います。)
何はともあれ、こんなニッチな投稿にレス頂けて感謝しております。有難うございます。
書込番号:16820983
0点
そもそもマルチスレッドアプリケーションとシングルスレッドアプリケーションを複数起動するのは別物です。
それから使用するコアを限定し、そのTDP分のクロックを上げるTurbo Boost機能もあるので、性能が向上している可能性もあります。
書込番号:16821251
0点
>若干、消化しきれてない部分もありますが、やはりマルチプロセッサとは違うわけですね。
osのタスク、スレッド制御の基本を整理して考えればそこらの疑問は解決するでしょう。
linuxならオライリーの 詳説linux位かな? いきなりカーネルソース読んでも挫折します。
大型との違いを納得したいなら、その大型がibmアーキなら、昔、ibm自身が オペレーティングシステムの概要という名前の名著を発行してたと思います。翻訳本もあったでしょう。
それ以外だと僕には分かりませんね。
書込番号:16821478
0点
たいした内容ではありませんが、後日談。
L3キャッシュ8MBと4C8Tに期待してcore i7-4770kを試してみたのですが、
速度向上は1〜2%と、ほとんど誤差の範囲でした。まぁ予想はしていたのですが。
私の使い方ですと、4670kの方がコストパフォーマンスに優れてます。
書込番号:16876513
0点
このスレッドに書き込まれているキーワード
「インテル > Core i5 4670K BOX」の新着クチコミ
| 内容・タイトル | 返信数 | 最終投稿日時 |
|---|---|---|
| 52 | 2016/07/28 5:06:15 | |
| 29 | 2016/06/05 19:35:15 | |
| 4 | 2014/08/17 4:23:04 | |
| 7 | 2014/03/29 13:43:00 | |
| 10 | 2014/06/05 5:40:40 | |
| 4 | 2014/01/20 0:42:44 | |
| 5 | 2014/01/05 22:16:22 | |
| 4 | 2013/12/21 4:05:32 | |
| 14 | 2013/12/23 13:59:17 | |
| 9 | 2013/11/24 21:49:08 |
クチコミ掲示板検索
最適な製品選びをサポート!
[CPU]
新着ピックアップリスト
-
【Myコレクション】pc
-
【Myコレクション】メインアップグレード最終稿
-
【Myコレクション】自作パソコン
-
【Myコレクション】SUBPC 2025 WHITE
-
【欲しいものリスト】a
価格.comマガジン
注目トピックス
(パソコン)
CPU
(最近3年以内の発売・登録)







