0

我特别感兴趣的是,为什么跨多个网络将数据传输到多台计算机然后再返回的开销并没有减慢计算过程的速度,以至于超级计算机不会彻底消除分布式系统的计算速度。

4

1 回答 1

1

简单回答你的标题 - 它不能。只要超级计算机和独立计算机具有相似的原始计算能力,超级计算机的互连速度就会提高 40 - 400 倍。

现在假设您不会让整个超级计算机来进行计算(至少在学术界经常发生这种情况),而是只有 10 个节点。但是你知道如何并行化算法以在 100 个节点上运行,商品服务器或从亚马逊租用的虚拟机可能会更快。

正如您所指出的,这里的线索是优化网络流量。这从简单地压缩发送的数据开始(GZip 压缩),最后发送需要大量计算的小型任务定义,并且作为回报只能产生一个简短的答案。

例如,您可以发送矩阵或矩阵的一部分,任务是找到该矩阵的排列以适应特定条件。现在矩阵的大小n(发送的数据甚至可以被压缩以使其更小)但计算将在最坏的情况下n!进行。

能够像这样将问题解决为小问题,可以让 SETI@Home 平均达到 600 teraFLOPS 的速度。(来源维基百科 - FLOPS)。另一方面,具有这种计算能力的超级计算机将花费超过 1000 万美元)。

澄清一下,我不知道 SETI@Home 是如何工作的,我提供的矩阵排列只是作为发送少量数据的一个例子,但是需要长时间的计算。

于 2014-02-24T22:28:34.083 回答