扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
CPU厂商在几年前就达到了性能极限,无法让他们的处理器变得更快,因此提高性能的解决方案就是选择多核技术。
当然,这看上去在高端性能方面起不了太大作用。新墨西哥州圣地亚国家实验室工程师做的一项测试发现,多核处理器起不到帮助作用,甚至在高性能计算领域它是一个阻碍。
这个问题是有两面性的:首先,正如超级计算机TOP500榜单显示的那样,上榜的大多数系统都是基于x86架构的,而x86从来就不是专门针对超级计算机的处理器。它对内存带宽和内存管理都是具有限制性的,没有用于个人电脑的x86架构却被超级计算机所采用。
圣地亚国家实验室的工程师发现,添加的内核数越多,性能削减的就越厉害,这是因为内存无法与CPU相同步。而且,英特尔和AMD的四核处理器的时钟频率似乎都低于他们的双核处理器,因此CPU的速度也相应降低下来。
市场调研机构IDC高性能计算研究分析师Steve Conway表示,这个问题已经存在有一段时间了,多核技术加剧了这个问题。他说:“x86处理器从来都不是针对高性能计算、彼此之间进行高速通信设计的。”
IDC关于用户对高性能计算的用途进行调查发现这个问题早已存在。到目前为止,接受IDC调查的站点中有21%发现他们的应用在新硬件平台上的性能并不如在老平台上的性能,有超过50%的站点预计他们将在未来的一两年中也遇到这个问题。
Institute for Electrical and Electronics Engineers (IEEE)发行的刊物IEEE Spectrum中曾经提到了内存问题。圣地亚国家实验室的工程师发现,问题的根源就是CPU与内存之间的连接。
英特尔的前端总线一直被认为是CPU和内存之间的瓶颈,因为所有四个核都必须通过那唯一的一个网关。虽然每个处理器的内核数增加了——英特尔计划推出6核处理器,甚至在明年还将推出8核Nehalem处理器——但是在CPU和内存之间的连接数并没有增加。
速度降低还有其他一些原因。许多应用并不是针对并行计算设计的,因此这些应用在单核处理器上运行的性能可能要高于8核处理器,这完全取决于应用本身的特性。
有一种并行应用能够很容易地在多核处理器上运行,因为任务可以被分成若干个小块,并且将这些小块分配到所有这些内核中,这样这些内核就不受其他内核工作的影响。
SETI@Home等分布式计算项目就是很好的例子。每位用户从一大堆数据中心获得一小部分数据进行处理,这与其所有人的工作都是彼此独立的。
但是当步骤A的结果需要传送给步骤B的话,步骤B不会启动直到它获得所需的数据,这样所有并行化都是没有意义的。
这些超级计算机所面临的第三个问题就是他们庞大的体积。超级计算机有时候会占用一幢建筑,有几排机架或者刀片组成。如果当一个内核需要80英尺开外一台机架中的数据的话会发生什么?如果以超级计算机的标准来衡量的,这将是一个漫长的等待。
Conway表示,AMD的皓龙处理器虽然没有前端总线,但是也存在这个问题,即使英特尔转移到消除了前端总线的Nehalem架构中,依然如此。他说:“如果是单核处理器,你有x内存。现在处理器有四个内核,每个要占用1/4的内存带宽。”
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者