我必须在以下两个具有不同 CPU 的系统之间做出决定。我问我自己,当我使用双 CPU 机器运行 Visual Studio 2013(或更高版本)和 SQL-Server 2014 时,是否有区别/优势?
First:
- 1x Processor Intel Xeon E5-1680v2
- Memory 32GB DDR3-1866
- Harddisk SSD 512 GB Samsung
Second:
- 2x Processor Intel Xeon E5-2650v2
- Memory 32GB DDR3-1866
- Harddisk SSD 512 GB Samsung
第二台机器比第一台贵。问题是:第二台机器在工作速度上有优势吗?
答案1
我想起了汽车的类比:哪个更好?卡车还是一级方程式赛车?
答案是当然这取决于你想用这辆车做什么。
您的情况也是如此,尽管您对自己的目标进行了合理的描述。但我的答案比较笼统,因为答案应该对未来的读者有所帮助。而不仅仅是问题的原始发布者。
您曾表示:
- Visual Studio 2013
- SQL 服务器 2014
Visual Studio 是一款用于开发和编译的 IDE。它得益于快速的 CPU。在编译包含数千个小源文件的大型项目时,它也得益于快速的 IO。
- SQL 服务器(以及一般的数据库)可能很大程度上依赖于 CPU 速度。也可能不依赖。如果它们只需要从表中读取并返回该值,则它们不需要太快的速度。如果您的 SQL 查询是复杂的内连接和外连接,则它可能会使用更多的 CPU。(总结:这取决于您在数据库中执行的操作)。
- SQL 也喜欢快速 IO。无论是通过 IO 子系统还是借助大量内存。
这E5-1680将会赢得E5-2650当您执行相对简单的任务时。它的时钟速度更高(基本和加速)。它的缓存更大。它似乎更胜一筹。如果您必须在单个 E5-1680v2 和单个 E5-2650v2 之间做出选择,那么选择就很明显了。
然而,双 2650 设置有一些差异,这些差异可以转化为巨大的优势。让我们来迭代一下这些差异:
- 该设置可以使用两个 CPU。这是 8 核的两倍。它有可能更快。
- 双设置总共有 40MB 缓存。单设置有 25MB。如果您的工作集大于 25MB,那么双设置会快得多。
- 双设置有两个内存控制器。它可以存档高达两倍的带宽。(当数据不适合缓存时非常有用。如果适合,则几乎无用)。
- 它可以处理更多内存(768GB vs 256GB)。(对于你的情况来说,这是没有意义的,因为你将用 32GB 填充它)
- E2650 具有片上 PCI-e 通道。这可能会带来更好的可扩展性,并且在您需要四张以上 CUDA 卡的情况下非常有用。
缺点:
- 两个 CPU -> 两倍于一个 CPU 的成本价格
- 两个 CPU -> 功耗高达两倍(2x95=190W TPD,尽管 1680v2 有 130W TPD)
- 如果仅安装一个 CPU,则某些 PCI-e 插槽可能无法工作。(具体而言,是那些连接到缺失 CPU 的 PCI-e 通道的插槽)。
- RAM 插槽也是一样。
- 最后,您有两个具有独立缓存和内存的芯片。如果应用程序是本地化的,那么效果会很好。如果应用程序需要通过另一个 CPU(或在缓存中或通过其他 CPU 的内存控制器)连接的数据,那么它就会变慢。