我意识到通过问这个问题,我已经将自己标记为对高性能工作站“没有准备好”,但无论如何,你必须从某个地方开始!
我想知道不同的 Linux 发行版如何处理多核和多线程,以帮助确定哪个最适合 HPC 工作站。
我知道 Linux 默认利用了多个内核,但有人有关于它如何处理多内核的参考链接吗(用英语,即我不想阅读源代码 ;) )以及性能比较图表(关于内核利用率随时间的变化、线程分布、编译时间等)。我理解应用程序也必须针对多内核支持进行优化,但第一步是充分利用操作系统。
或者我错了,Linux 在这方面本质上是否都是一样的,无论分布如何,而是性能都取决于应用程序?
答案1
答案2
不同发行版之间会存在细微差异。Ubuntu 可能使用 XYZ 调度程序,而 Fedora 可能使用 ABC 调度程序,这会带来 X% 的改进。但更大的问题是应用程序支持。您可以拥有单核 CPU 或 12 核 CPU,但如果应用程序是单线程的,那么您最终会获得相同的性能。在这种情况下,我会使用从长远来看我觉得更舒服的任何 CPU。
答案3
多年来,Linux 发行版一直通过 SMP 在内核中实现多核和多线程。
在这种情况下,重要的不是发行版,而是内核。由于目前所有主流发行版都基于同一个内核,因此您可以自行选择。
此网站应该可以帮助您在 Linux 发行版中做出选择:Linux 发行版比较。
答案4
虽然大多数发行版都使用标准内核,但其中有几个存在差异,会影响特定的计算要求。Redhat (http://www.redhat.com/mrg/realtime/) 和 SUSE (http://www.novell.com/products/realtime/) 都具有实时内核,这会影响线程的调度方式。