2016年6月20日,TOP500发表了一条爆炸性的新闻消息,中国生产的“神威·太湖之光”(Sunway Taihu Light)超算服务器在LINPACK基准测试中,以93 petaflop/s(注:petaflop:每秒执行1千万亿次浮点运算)的性能指标成为TOP500超算计算机列表的第一名,从而是Top500列表上的中国超级计算数量与美国打成平手。更令人瞩目的是,这次采用的是中国自主研发CPU,神威26010。调研了一下目前排名前十的超级计算机,除了“神威·太湖之光”外,就只有排名第4和第6的“Sequoia”和“Mira”采用了IBM Power BQC 16C 1.6GHz CPU,还有排名第五的“K”采用富士通 Spark64 VIIIfx 。其余6台超级计算机都采用了Intel的 Xeon CPU。
图1:http://www.top500.org/lists/2016/06/
从“神威·太湖之光”的成功看,至少在HPC这个领域,中国56所至少在(1)CPU设计(2)体系结构设计(3)操作系统设计方面取得了大幅度进展。至于说HPC领域的成功能否转化为商用服务器,这个就很难说了,必须在兼容性、质量和成本等方面形成综合优势才行。简单从这3个方面做了调研,确实增强了信心:-)
一、CPU、虽说总有人在讨论Sunway的指令集是改进自当年的DEC Alpha,缺乏自主研发之类的话,但是我理解这个安到SunWay-1、SunWay-2和SunWay 1600 CPU上或许还是合适的,放到SunWay 26010上就未必合适了。26010 是256核的众核架构,还有4个用于管理的核心,这种设计绝非DEC Alpha21164的原始设计,21164是业界第一个64位CPU,单核,可惜RISC在软件方面一直不足,性能无法得到充分发挥。
图2:使用4个21164处理器的Cray T3E-600超级计算机
图3: 神威1600C的样子
图4:SunWay 1600:16c,2011年帮助BlueLight系统获得当年的TOP500第14名
图5:SW 26010 CPU
图6:SW 26010 260C处理器
二、系统设计。“神威·太湖之光超级计算机由40个运算机柜和8个网络机柜组成。每个运算机柜比家用的双门冰箱略大,打开柜门,4块由32块运算插件组成的超节点分布其中。每个插件由4个运算节点板组成,一个运算节点板又含2块“申威26010”高性能处理器。一台机柜就有1024块处理器,整台“神威·太湖之光”共有40960块处理器。”系统可用性达到99.99%。
图7.1:一个卡上2个节点
图7.2:一个板上4个卡
图7.3:一个超级节点32个板 (256节点)
图7.4:一个机柜4个超级节点(1024节点)
图8:SW MPP集群架构
三、操作系统。神威·太湖之光采用了56所自主研发的神威睿思操作系统(RaiseOS 2.0.5)和编译器。“国产多核计算节点采用自主研发的国产基础软件系统,主要包括“神威睿思”操作系统、“神威睿智”编译器、基础库等。“神威睿思”操作系统兼容Linux操作 系统,实现了机器相关和无关部分的分离,有效支持以国产CPU为核心的系统平台的运行。“神威睿智”编译器采用层次化和模块化设计,支持国际标准的 C/C++、FORTRAN语言,具有良好的可移植性和扩展性。国产多核处理器平台的基础库包括ISO C标准规定的所有库函数,同时也支持POSIX和其它Unix操作系统派生出的额外特性,GNU系统所需的扩展功能,以及常用操作库。此外还提供了并行程 序开发和运行环境,为用户提供图形化的分布式程序开发工具;并行应用软件平台,以服务的形式提供基本的行业应用软件支持,降低用户程序开发的难度和成本。”
从网上的新闻看,RaiseOS是基于Linux内核的处理器,估计同时修改了GCC等编译器,支持众核的并行编译,其他信息有待进一步挖掘。
图9:软件协议栈
相关信息:
- Dongarra, Jack (June 20, 2016). “Report on the Sunway TaihuLight System”
- https://en.wikipedia.org/wiki/Alpha_21164
- New Chinese Supercomputer Named World’s Fastest System on Latest TOP500 List
- http://www.top500.org/lists/2016/06/
- Sunway TaihuLight – Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway
- 神威MPP
- 相比龙芯,申威的“芯”路历程为什么平坦很多?
- 15年了,龙芯拿什么与国外芯片巨头对抗?
- 太湖之光处理器HPC系统是什么?一文全看明白