linux - 使用计算节点上的所有核心是否合理?

标签 linux cluster-computing nodes cpu-speed

我有一个小问题。

计算节点有 2 个插槽,每个插槽有 12 个核心。所以它有 24 个核心(在我的例子中是 24 个 cpu)。

当我运行并行计算时,我可以使用所有CPU吗?也就是说,我们需要腾出几个CPU给后台程序使用吗?

顺便说一句,我认为在同一芯片(相同套接字)上使用CPU可以避免套接字之间的通信,这可以加快运行速度。那么如何确定应该使用多少个cpu来生成最快的运行呢?

有关此问题的任何一般性建议将不胜感激。

最好,

最佳答案

回答您的问题:是的,您可以将所有内核用于并行作业或程序。根据您要在后台运行的程序,您可能会在执行作业/程序期间看到一些性能下降。确定要使用的最佳内核数量的真正方法是使用不同数量的内核执行各种运行,并分析程序和后台程序的性能。如果您想充分利用所有内核,我建议您只在所有内核的情况下运行您的程序,并且几乎不运行后台程序。

关于linux - 使用计算节点上的所有核心是否合理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45890868/

相关文章:

c - SIGUNUSED 在头文件中的确切定义在哪里?

erlang - Rabbitmq 日志泛滥并在重新启动时丢弃消息

python - 使用 python 从多个 xml 文件中提取数据

amazon-ec2 - 无法将节点添加到现有的 Cassandra 集群

linux - Bash 脚本打印出二进制文件的内容,一次一个字,不带 xxd

linux - 对包含域名的输入文件执行质量扫描

linux - Oprofile调用图: origin of syscalls

javascript - 将集群用于 Node.js Rest api

使用降雪和 sfLapply 在 R 中栅格化多边形

algorithm - 图自动布局算法