ここから本文です

用いるcpu数を減らしたのに計算時間が短くなるってことはあり得ますか? また、...

アバター

ID非公開さん

2020/1/1522:50:58

用いるcpu数を減らしたのに計算時間が短くなるってことはあり得ますか?

また、あるとしたらそれはcpu間の通信が原因ですか??

補足皆様ありがとうございます。計算時間が短くなったっていうのは感覚的な判断なので勘違いかもしれませんが。

閲覧数:
102
回答数:
5

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2020/1/1523:12:49

cpu間の通信が原因なので、数を減らしたから、早くなるほどの要員になるかな?
特殊なケースではあるのかもしれないけど、普通は、ないと思うけど・・・?
俺は、ハードに関してはそこまで知識がある方ではないが。

ただ、サーバみたいな処理だと、暇だとCPUがスリープモードに突入して、その解除に時間がかかるので、遅くなる。
という、ケースはあるみたいよ。

なので、複数使っていると、暇なCPUができ、そのCPUに処理を渡すと、起動がもたつき、逆に遅くなる。
なら、少数のCPUで、フルマックスで使ったほうが処理が早くなる的なことはあるかもしれないね。

たぶん、あんま一般的な状況ではないとは思うけど・・・。

ミスリーディングチャットというIT系のポッドキャストで、確か、テールレイテンシーだったかな?の回で、CPUのレイテンシー(遅延)に関して、話していたので、そのへんが参考になるかも?

私の情報元の7割は、このミスリーディングチャットで、しかも、おもしろい。
わりとおすすめ。

アバター

質問した人からのコメント

2020/1/19 19:29:58

みなさまありがとうございました!!

ベストアンサー以外の回答

1〜4件/4件中

並び替え:回答日時の
新しい順
|古い順

yuk********さん

2020/1/1613:31:22

現状のCPUは発熱と常に戦っている。なにせファンが停止すればものの数秒で発火するような歪な製品だからね。
同時作動するコア数が増えると発熱量も増え、同時作動するコア数を減らせば発熱量も減る。また、動作クロックを引き上げると発熱量も増え、動作クロックを引き下げれば発熱量も減る。
というわけで、CPUは常に「量より質」か「質より量」を判断して「発熱による物理的な破壊」が起こらない領域で最適なバランスを保っている。

その処理が「シングルタスク向き」だったとしたら、同時に作動するコア数をひとつに減らして、そのひとつのコアの動作クロックを極限まで引き上げたほうが早く処理が終わる、ということはあり得るね。

eb7********さん

2020/1/1523:03:11

タスクを小さな粒度に分割し過ぎるとスレッド間通信やキャッシュスヌープのオーバヘッドばかり掛かって遅くなるかもね。

また、そもそも並列性が皆無のシングルタスク性のジョブだと、1コアだけでクロックをターボ化した方が早くなるし。……でもOSのスケジュラーが勝手に1コアだけアサインしそうなものだが、どうだろ?

プロフィール画像

カテゴリマスター

あみやさん

2020/1/1523:00:06

CPU単体の処理能力に差があれば数が少なくても結果が速いことはありうる。

同じCPUでも、多数が稼働することにより発熱で性能が抑制される事がある。

プログラム自体が適切に複数のCPUを使えるように出来ていない場合、
増えた事の恩恵をあまり受けられない。
その上で上記の事が重なると元が少しの差でも逆転する事もある。

とか

2020/1/1522:54:47

自分で書いたプログラムならば書き方が腐っていたという可能性も、、、、、

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる