【发布时间】:2009-09-24 16:58:11
【问题描述】:
我有 c# Console 应用程序,Monte Carlo 模拟完全受 CPU 限制,执行时间与可用的专用线程/内核数量成反比(我保持内核/线程之间的 1:1 比率)。
它目前每天运行:
AMD Opteron 275 @ 2.21 GHz(4 核)
该应用是使用 3 个线程的多线程,第 4 个线程用于另一个 Process Controller 应用。
每天运行需要 15 小时。
我需要尽可能估计在配置有以下 CPU 的系统上运行相同的工作需要多长时间:
http://en.wikipedia.org/wiki/Intel_Nehalem_(microarchitecture)
2 x X5570
2 x X5540
并比较案例,我将使用可用线程对其进行重新编码。我想证明我们需要一个具有 2 个 x5570 CPU 的服务器而不是更便宜的 x5540(它们在单个主板上支持 2 个 CPU)。这应该使操作系统可以使用 8 个内核、16 个线程(我相信 Nehalem 芯片就是这样工作的)。所以对于我的应用来说,蒙特卡洛模拟有 15 个线程。
任何想法如何做到这一点?有没有一个网站可以让我查看单线程基准测试所涉及的所有 3 个 CPU 的基准测试数据?然后我可以推断我的情况和线程数。如果需要,我可以访问当前系统来安装和运行基准测试。
请注意,企业还规定该应用在未来 3 个月内的工作量将增加约 20 倍,并且需要在 24 小时内完成。
非常感谢任何帮助。
还在这里发布了这个:http://www.passmark.com/forum/showthread.php?t=2308希望他们能更好地解释他们的基准测试这样我就可以有效地获得每个核心的分数,这将更有帮助。
【问题讨论】:
-
鉴于您可以跨多个线程扩展您的工作负载,您可能希望考虑获得更多更便宜的系统。您是否有理由需要将其打包到一台机器中?
-
我明白你的意思并同意。但这就是它在银行的运作方式。我不能跨服务器分发我的应用程序,它必须是单个服务器。另一种批准过程是为像 Datasynapse 这样的网格系统重写 - 非常漫长的批准过程。没有时间或预算。我目前的选择是升级到最好的单服务器机器,以满足最后期限、预算和银行审批流程、文档。这很痛苦,但我必须玩游戏,因此需要写这个理由文件。
-
看我的回答 - 我认为即使是 X5570 也不够快。
-
您可以使用更高端的机器进行测试和测量吗?单个进程的线性 CPU 可扩展性只是理想的,现实往往要残酷得多。请注意,供应商通常愿意租用硬件来测试潜在客户。
标签: multithreading benchmarking cpu-speed