我想得到一个明智的意见,即在 8 核台式机上使用时,我应该多重视单核性能而不是多核性能。
这是为了帮助我选择英特尔或 AMD 的下一代 CPU,特别是在台式机上。
AMD 和 Intel 的单核性能和多核性能之间似乎存在着一种权衡。单核和多核的基准测试众所周知,但我的问题是,我应该如何客观地衡量单核和多核的性能。我认为一周的测量结果是一个很好的样本。
我认为单核瓶颈的衡量标准可能是当一个核心的活跃度超过“80%”,而其他核心接近空闲时。核心的频率不同,所以我不知道如何规范“80%”,这意味着单核的繁忙时间段。也许当一个核心的 CPU 频率为最大值的 80% 到 100% 而其他核心同时低于 10% 时。
然后对于多核,可能只有当我的工作负载 > (比如说) 所有核心容量的 80% 时,性能良好的多核 CPU 才真正具有优势... 如果“AMD”代表单核较弱但多核更好的 CPU,而“Intel”则相反,那么我的工作负载会消耗 50% 的候选“AMD”CPU(AMD 表示高多核容量)多核容量,它可能会消耗 70% 的候选“Intel”多核,但 Intel CPU 直到达到 100% 才会成为瓶颈。只有当多核负载超出“Intel”CPU 的上限时,我才会遇到“Intel”的多核瓶颈。这个阈值取决于我考虑的 CPU,这意味着我会过滤负载以查看它超过该阈值的频率,无论它是什么。然后我可以估计每个 CPU 在单核约束和多核约束下会快多少,并找出哪个可以节省我最多的时间。
我忽略了能耗和其他一切。最重要的是当我在键盘前时机器的响应。
因为我怀疑我不是第一个有这个问题的人,所以愿意听取建议:)我想象运行大量服务器的人们一直都在这样做,但我还没有找到一个好的答案。
答案1
问题在于应用程序而不是 CPU。如果应用程序是多线程的,那么它将在系统的各个核心之间进行拆分。如果其中一个线程的计算需求大于核心所能提供的计算能力,那么应用程序将受到该核心吞吐量的限制。在这种情况下,单核速度很重要。
此问题最常出现在受计算限制的线程中。如果不是,则线程将在非计算工作发生时暂停并重新安排。
您是否知道您的应用程序是否具有较高的计算要求。系统的响应能力将取决于系统上运行的其他应用程序的组合。