软件的发展能否赶上IC技术进步的脚步?
扫描二维码
随时随地手机看文章
就现有处理器及系统中每秒的浮点运算速度而言,摩尔定律尚未达到其极限。但是,就大部分软件甚至是先进技术的计算软件的可用性能而言,或许已经达到了极限。
看一下世界500强超级计算机公司的网址列表,说明大部分技术计算工作量已经转移到商用Linux集群:廉价服务器、商业网点和商用存储。与此同时,像Cell宽带引擎(CellBE)这样新颖的多核处理器架构,也显示出驻流在入口级服务器中的强大的计算能力的潜力(每秒几百亿次浮点运算速度),也就是说,2到4个处理器。利用如此多便于获得的计算能力—无论是片上系统或商用服务器群—全球各地不论规模大小的公司和行业,或者甚至是个人,或许也能够选择这种能力来解决比以前更多的问题。这时就只有一个问题存在:软件在哪儿才能利用所有这些处理器、内核和线程?对于大部分企业或个人而言还没有,甚至在像技术计算这种历史上曾集中在前沿技术授权这样的领域。事实上,IDC的EarlJoseph在一份关于技术计算软件的研究中得出结论指出:“现在许多ISV代码只升级到32位处理器,一些用于工业的最重要的那部分软件却并没有升级到4核处理器。”
他的研究也表明,即使当供应商有了一个要使代码平行运行或升级其代码的方案,重新设计和重新编码的成本相对于可预见的市场利益来说,代价也是非常高。
进入Roadrunner时代
Roadrunner将是以CellBE为基础的世界第一的超级计算机,当它在2008年问世并在洛斯阿拉莫斯国家实验室运行时,它将具有超过1.6千万亿次或1.6千万亿次计算/秒。
Roadrunner将是首个问世的采用混合计算架构的计算机:具有多层存储器层级的多个不同种类的内核。它完全采用商用的部件来建造,包括:以AMDOpteron为基础的服务器,以CellBE为基础的加速器和Infiniband互连。标准处理(如文件系统I/O)将由Opteron处理器管理,而更多数学和CPU密集的单元将由CellBE控制。
为使最高级的科学模拟应用开发人员可以利用这种复杂的架构,系统开发中的大部分工作是编程方法的实现和相应的应用构架和工具。这种应用使能的应用编程界面简单但却可扩展,其设计利用了各种类型存储和I/O子系统的优点,与此同时,保持由开发商隐藏的根本实现方案的不断变化。重点也是使一系列内核、不同拓朴的分散器/集中器存储操作成为可能,并且隐藏像由开发商提供的计算与通信覆盖之类的事情。
基本原理是一种“劳力分割”法。一组计算核心开发商将继续利用微处理器ISA使性能最大化;事实上,许多像这样的内核已经存在(矩阵乘法就是一个很好的实例)。库开发工程师将采用一种为Roadrunner开发的框架来把内核合成到多核、存储器层级库之中。然后,应用开发工程师将采用标准的编译器和连接器技术来连接到这些库中。无须引入新的语言,跨越大量多核架构的连续的API和方法将限制代码维护的成本。这样,库开发工程师不仅为加速器系统,而且为通用目的多核方法和集群改善了使用的方便性。