过了俩天,杜克委托库赛购买的服务器如期到货,杜克收到库赛的到货通知,驱车来到公司。
“老板,你看,这就是你要的那套电脑,看看是否是你要购买的。”库赛等着公司中,看到杜克来了,赶紧将杜克带到那套服务器边上。
杜克打开这套电脑,进入BIOS查看了一下配置,确实是俩个AMD的20核心Terramar处理器。
“就是这个东西了,谢谢你,库赛,你去忙你的吧”杜克见确实是自己要的东西,就将一边的库赛打发走了。
进入系统后,杜克拿出了随身带着的一张USB无线网卡接在服务器上,现在克里只能够通过无线方式进入网络,杜克就随身带着一张无线USB网卡。
快速安装好无线网卡的驱动后,杜克启动克里接入进去,很快,克里结合事先获得的AMD这款Terramar处理器指令集,经过了不知道多少次的运算测试,终于,在大约2个多小时后,“新CPU系统硬件虚拟完成。”杜克脑海中突然震动了一下,克里给出了虚拟成功的信息。
克里虚拟成功的这个软件Terramar处理器,完全具备Terramar处理器原来的性能和全部指令集,当然内部实现是不一样。紧接着克里以此为核心虚拟出一套双路CPU的独立的新系统,可以直接在这套虚拟硬件上面运行windows2012版本和常见的红帽linux系统。
看见克里完成了一套双路CPU服务器硬件系统的克隆,杜克下载了一套最新版本的CPU测试应用程序,在克里内部的虚拟系统和身边的实际服务器上同时启动测试,结果表明克里模拟出来的Terramar系统同实际的硬件Terramar系统表现出一模一样的测试结果,证明了克里的克隆是非常成功的。
紧接着杜克指示克里完成了4路,8路,32路,64路和128路服务器的模拟,经过了这番实际模拟测验,克里完全掌握了多路服务器硬件模拟,在这个基础上,杜克开始指示克里按照CrayXT5设计架构完成对泰坦II超级计算机的模拟工作。
从超级计算机设计原理来说,其中并无神秘之处,泰坦II也不过是众多搭载4个20核心Terramar处理器和32GB的内存的计算节点构成,从功能上将整个系统区分为计算阵列、加速阵列和服务阵列等三个部分组成。
由于这一切不过是众多计算机节点的串联,很快克里就完成了这个超级计算机系统模拟,但是杜克发现克里模拟出来的这台泰坦II好像性能严重偏低于真实的泰坦II。
按照休伊特介绍的泰坦II性能,其稳定运算速度达到了15petaFlops(即每秒1.5亿亿次),现在克里按照单纯的多路服务器模拟出来的软件泰坦II,性能却只有其三十分之一左右。
这是怎么回事呢?
杜克回头仔细研究起泰坦II的组成,网络上这方面的材料不少,杜克看了看泰坦II使用的计算单元,才知道原来自己想得还是差了一些,因为在泰坦II的构成中其中计算阵列、服务阵列分别由采用通用处理器(CPU)的计算节点机、服务节点机构成,而加速阵列则由基于图形加速处理器(GPU)的大量加速节点机构成,是一种“CPU+GPU”的异构协同计算。
因为单纯从浮点运算能力来说,一颗GPU的浮点运算能力相当于CPU的几十倍甚至几百倍,而且GPU的显存带宽可达CPU的十倍以上,而且延迟更低,对外数据吞吐能力也比CPU要强。
所以在设计的时候,对于单纯的浮点运算部分,如果用同等规模的GPU组成超级计算机的话,那么这个节点的浮点运算能力将提升百倍之多。而CPU的优势是在计算逻辑性较强、数据结构比较复杂的计算方面。
考虑到无论是核反应模拟计算也好,还是气候推测模拟也好,都涉及到大量的浮点运算,所以在泰坦II系统中也采用了这种“CPU+GPU”异构协同架构,大量使用了女IDIA公司生产的TeslaK20GPU作为主要浮点运算部件。
好在采用这种异构的不仅仅只有超级计算机,还有诸多的企业级服务器可以选择,杜克吩咐库赛当天就在波士顿买了一台。
为了确保模拟出来的泰坦II和实验室中真实泰坦II保持一致,这次杜克去实验室拿到了泰坦II详细的CPU和GPU组成结构资料,这个参数又不是什么秘密,所以当克里完成了TeslaK20GPU的软件模拟工作后,重新按照泰坦II架构实现了软件模拟。