マルチプロセッサ対応の、アプリケーションソフトウェアの働きについて
マルチプロセッサ対応の、アプリケーションソフトウェアの働きについて質問します。
マルチプロセッサ対応のソフトウェアを含む、複数のソフトウェアを動かしている場合、ソフトウェア側(「マルチプロセッサ対応のアプリケーションソフトウェア」側)からの働きを考えれば、以下の2つの処理方法で処理していると思います。
1 まず最初に演算処理をするCPU(またはコア)にて、処理できない場合は、その処理できない分だけを、他のCPU(またはコア)に、処理してもらう。
2 それとも、最初に演算処理をするCPU(またはコア)にて、100%処理しきれない場合は、まるごと(=マルチプロセッサ対応のアプリケーションソフトウェア」の全ての処理分を)、他のCPU(またはコア)に、処理してもらう。
2の場合、CPU(またはコア)が、あればあるだけ、トータルの作業時間は早くなると思います。・・・が、1の場合なら2の場合ほど、CPUの数に依存しないかと思います。なぜなら、演算処理能力の高いCPU(またはコア)を使用していることが条件ですが、2の場合より少ないCPU(またはコア)数で、処理可能・・・と思うのですが、
どのようなやり方で、処理しているのか、教えてください。