欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

理论上一个超级计算机的CPU数量有没有限制?

程序员文章站 2023-11-01 22:44:16
理论上一个超级计算机的CPU数量有没有限制?我们今天将针对“理论上一个超级计算机的CPU数量有没有限制”这个话题来讨论... 13-05-27...

•首先这个问题让我想起了一句话:“你可以让1个人用60秒挖一个2米深的坑,但是没有办法让60个人用1秒挖一个2米深的坑。”

•但是如果我们将这句话再改一下: “你可以让1个人用60秒打扫一个60平方米的空地,同时也可以让60个人用1秒打扫一个60平方米的空地 。” 

从第一句话可以看出计算速度与工作一样,并不能随计算机数量的增加而线性增加;而从第二句话可以看出,计算速度可以随计算机数量的增加而线性增加, 对比这两句话我们就可以看到一个事实, 就是说存在着两种极端情况,分别是

1.一个计算工作每一次运算的结果如果都与下一次运算存在因果关系,就像挖坑的时候只能从上往下一步一步挖,此时多线程计算就像一个工人在忙活,其余工人在围观一样,超级计算机也完全派不上用场。

2.每一个计算工作都是相互独立的,这群工人可以每个人完成自己独自的工作而不受他人的影响,那么此时多线程计算就能完全派上用场。

总之,超级计算机不仅存在硬件设计上的困难,在软件设计上也需要重新编排。而其核心思想就是算法并行化设计。最大限度地打破原算法的次序并按照计算平台的特性合理设计算法,保证每个cpu都能干上活。当然这也就意味着即便是超级计算机,其对软件运行的加速效果实际上也是与该软件的算法息息相关的。为了能够有效利用超级计算机的计算性能,重新设计用来跑在超级计算机上的程序代码是必须的。在大学的图书馆,关于并行计算的书籍与相关资料都会有,也有一些研究所是专门从事并行计算研究的。

而所谓的软件就能管理几百几千个cpu,这样的技术恐怕目前还不知是否有可行性。最简单的例子就是,你所用的intel多核处理器体现的优势仅体现在能让你一边看电影一边打游戏。但是还没有什么软件或者驱动声称能够打通cpu的任督二脉,让你的电脑游戏性能成倍提升。