1

我正在寻找一种硬件,它必须以 24 小时模式(一个多线程 C 应用程序)运行大约 256 个计算密集型实时并发任务。每个任务大约需要 40-50 MFLOPs,因此所有任务都需要大约 10 GFLOPs。CPU-RAM 速度无关紧要。所有任务都必须由 Linux 内核(32 位,带 SMP)管理。

我正在寻找具有一个多核 CPU 的单主板解决方案(如果存在这样的 CPU)。如果这样的 CPU 不存在,那么我需要一个多插槽主板解决方案(具有多个 CPU)。

您能否向我推荐任何可以满足此类要求的专业 CPU/主板解决方案?Linux Kernel (2.6.25) 没有问题也很重要。没有虚拟化,不需要巨大的 RAM 或 CPU 缓存。我也更喜欢英特尔架构和久经考验的稳定性。我仍然怀疑它是否可行。

先感谢您。

更新:我想我在这里这里找到了正确的答案。

4

7 回答 7

3

UltraSPARC T2有 8 个内核,每个内核有 8 个线程。集成高带宽内存和 IO。T5140带有两个用于 128 个硬件线程。

8 个浮点单元的理论最大原始性能为每秒 11 Giga flops (GFlops/s)。然而,与其他实现相比,一个巨大的优势是 64 个线程可以共享单元,因此我们可以实现极高百分比的理论峰值。我们的实验已经达到了 11 Gflop/s 的近 90%。-(http://blogs.oracle.com/deniss/entry/floating_point_performance_on_the

于 2009-12-10T17:55:47.340 回答
1
  1. 租用一些 Amazon EC2 节点。

  2. 更新:那么 PS3 怎么样?NASA 将它们用于模拟引擎。

  3. 也许在商业服务器中使用 CPU+GPU?

  4. 围绕FPGA构建它:如今,一些变体包括可以运行 Linux 的处理器。

于 2009-12-10T17:45:08.907 回答
1

即使您已经向我们提供了您认为需要的规范,如果您告诉我们应用程序的目的是什么以及它是如何实现的,我们可能会更好地帮助您。

可能有更好的方法来拆分工作或处理它,而不是您当前的解决方案。

于 2009-12-10T17:55:20.133 回答
0

获得一堆四核或八核机器,并使用某种网格或集群软件在机器上拆分处理。也许看看贝奥武夫

正如你所提到的,10GFlops 并不是完全可以打喷嚏的,所以在一台机器上,它会很贵。还有一个问题是当机器坏了时你会做什么,你不太可能有第二台类似规格的机器可用。如果您使用商用硬件构建集群,您的弹性会更强一些,并且更容易找到替换机器。

于 2009-12-10T17:47:36.727 回答
0

不是英特尔架构,但它们运行 linux 并且在单个芯片上有 64 个内核。

TILEPro64

于 2009-12-10T17:49:06.897 回答
0

我看你更喜欢英特尔,但如果你需要一个芯片,我会再次建议单元处理器 - 它的理论峰值性能约为 25GFlops - 内核 2.6.25 已经支持它。

您可以尝试使用 pre-slim playstation 3 进行试验(这将花费您很少的钱)或以大约 8000 美元的价格为自己购买一个基于服务器的解决方案 - 您将不得不重新编写和微调您的线程以利用那里有 SPU 协处理器,但您可以通过单个 CELL(1 个 PPC 内核 + 8 个 SPU)来满足您的计算需求

注意:使用 playstation 3,您将只有 6 个可用的协处理器 - 但您没有看到这个项目的预算 - 所以您至少可以尝试 IBM 的单元开发工具包,它提供了一个模拟器,看看您是否可以编写解决方案以在其上运行。

三种商用 CELL 产品,既可作为刀片式工厂的独立服务器,也可作为 Mercury Computer Systems 的 PC 工作站的 PCI Express 附加板: http ://www.mc.com/microsites/cell/products.aspx ?id=6986

Mercury 没有在网站上列出任何价格,但价格似乎在之前提到的这些 PCI Express 卡的 8000.00 美元左右。

一个 playstation 3 视频游戏可以以大约 300.00 美元的价格购买 - 并且可以让您对您的应用程序进行原型设计,并检查它是否达到所需的性能。(我自己买了一个并在上面运行 Fedora 9,虽然我是作为业余爱好者这样做的,到目前为止还没有将它用于任何计算 - 我还在当地大学。他们运行的应用程序没有利用多媒体 SPU 的优势,而我当时与之联系。但即便如此,它们的主频为 3.5GHz,它们的性能仍优于标准价格的 PC,即使考虑到 PS3 的价格是 5 倍这里更高)

于 2009-12-10T18:03:12.690 回答
0

MFLOPS and GFLOPS are very poor indicators of how well a program can run on any given CPU. These days, cache footprint is much more important; perhaps branch prediction accuracy as well.

There's almost no way to gauge performance of a given application on different architectures without actually giving it a spin. And even then, you may not get a good idea if you were unlucky enough to unknowingly build with compiler options that ruined your cache footprint, or used a bad threading library, or any of a hundred other things.

于 2009-12-11T02:20:37.140 回答