我的模拟在哪个处理器上运行?

我的模拟在哪个处理器上运行?

C我目前正在另一台 Mac 电脑上通过我的终端使用Mac OS 上的sshscreen(Bash)运行 11 个数值模拟(用 编码)。

运行这 11 个进程的计算机有 16 个处理器。乍一看,我觉得当我同时运行多个模拟时,模拟速度会比较慢,就好像只使用一个处理器来运行所有 11 个模拟一样。有可能吗?我如何知道哪个模拟/进程在哪个处理器上运行?

答案1

简短的回答是:你不可能知道!

答案稍微长一点:操作系统(实际上是任何最终用户操作系统)会自行调度进程并将其分配给 CPU。即使只运行模拟,进程也可能会被中断,并在很短的时间内继续在同一个或另一个 CPU 上运行。

很可能还有更长的答案(包括将进程分配给 CPU 的代码、关于哪些因素会影响并行化和性能的想法等),但这超出了 AskDifferent 的范围。超级用户或者堆栈溢出可能会得到更好的结果。

相关内容