热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

论述arm体系对risc的继承(armx86性能比较)

2019年11月12日,惠普公司HPE事业部(即Cray)宣布与日本富士通公司开展合作,推出基于富士通的A64FX超算处理器,目前已经获得美国洛斯阿拉莫斯国家实验室(LosAlam


2019年11月12日,惠普的HPE事业部,也就是Cray宣布将与日本富士通合作,推出基于富士通的A64FX超级计算处理器。 现为美国洛斯阿拉莫斯国立研究所(Los Alamos National Laboratory )、美国橡树岭国立研究所) Oak Ridge National Laboratory )、日本理化研究所) RIKEN )计算科学中心、纽约州立大学石溪分校富士通的A64FX处理器于2018年8月正式发布,2019年4月正式量产,2019年11月进入商用市场。 这是世界上首款采用ARMv-8A SVE扩展指令集的芯片。 并且,在2019年11月19日的世界超级计算机大会上,NVIDIA(NVIDIA )也发表了构建GPU加速ARM服务器的参考设计。 目前,NVIDIA与ARM、致命芹、富士通美满电子、HPE及其旗下的Cray等生态合作伙伴进行了合作,许多高性能计算软件公司使用NVIDIA CUDA-X库为ARM生态提供GPU


目前,全球基于ARM的超级计算芯片制造商主要有Marvell(Cavium )、富士通和Ampere,其中cavium于2017年11月被Marvel以约61亿美元的价格收购。 Cavium的核心产品是ThunderX2处理器,最有名的APP应用是Cray为英国气象局推出的Isambard系统。 Isambard是一台拥有10000个核心的Cray XC50超级计算机,在世界气象局的超级计算系统中排名第二(中国气象局的“派-曙光”世界第三)法国原子能委员会(CEA )是ATOS BullSEQQ, 由于该系统采用ThunderX2ARM处理器的成本太高,法国已经22年没有进行过核试验,所以改用了模拟的形式。 该项目是欧洲委员会资助的Mont-Blanc3项目的一部分,评估基于ARM的集群对exascale高性能计算(HPC )的适用性,是exascale系统所需的软件生态系统同样为了模拟核试验,美国桑迪亚国家实验室(Sandia National Laboratories )采用了惠普提供的ARM超级计算系统,即Astra。 Astra由2592台服务器组成,每台服务器包含2个ThunderX2处理器。 峰值性能达到2.3PFlops,是超算500强排行榜中唯一的ARM系统,2019年排名第156位。 西班牙国家超计算中心也采用基于ThunderX2处理器的系统。




另一个是富士通。 富士通在超级计算领域拥有相当多的gddcb。 2011年,日本理化所和富土通合作超算“京”。 Linpack测试的最大计算性能达到了10.51PFlops,也就是每秒1.051亿次的浮点计算。 这是人类首次跨越1亿次计算大关,是当年最快的超算,但2011年以后的排名急速下降,2016年成为世界首位的2019年2月,日本理化所宣布将于2019年8月取消“京”,并将其撤除。 “京”的继承人是“Post-K”,指令集从SPARC指令集转换为ARM指令集。 为什么要改为ARM指令集? 答案是采用SPARC后,使用哪个操作系统成了现实的问题。 虽然SPARC有采用“Solaris”系统的先例,但将商用Solaris作为大型并行超级计算机系统会增加处理负担。 富士通决定将曾经应用于PC集群型超级计算机的Linux系统移植到SPARC上。 但是,只有富士通使用SPARC版Linux,没有提供商用软件的供应商,也没有支持该平台的“合作伙伴”。 此外,SPARC版Linux也不完全支持Linux原本拥有的所有软件库。 大多数软件库在重新编译后仍可以正常工作,但也有例外。 一句话,生态联系太差了。 除了日本的内部使用外,海外的客户只有一个,就是台湾的“中央气象局”。 2012年,台湾“中央气象局”以14亿日元(约1亿元人民币)购买了日本超级计算机“京”的商用模型,与日本共同进行了地震和海啸的模拟。


从2013年开始,富士通决定放弃SPARC,不选择x86的理由很简单。 如果采用英特尔的x86体系结构,富士通自己无法设计自己的处理器,无法与其他制造商区别开来。 ARM服务器是为了降低功耗吗? 答案是否定的。 决定功耗性能的不是指令集,而是CPU微体系结构,即从软件的角度看,隐形流水线、寄存器配置等CPU内部设计的贡献要大得多,指令集与微体系结构的关系并不密切当然,ARM指令集的功耗比x86稍低。 如果是RISC型等特性相似的指令集,则除解析指令的解码器电路以外的结构基本相同,因此转移到ARM指令集并不困难。


雷决定将富士通的A64FX用于CS500的“storm”产品线。 Cray将继续使用Marvell的ThunderX2和ThunderX3,主要用于“CPU GPU”系统或运算量较少的纯CPU系统

上,而A64FX将用在需要超大规模数学运算的超算系统上。ThunderX2和ThunderX3主打高性价比市场,A64FX主打高性能市场。据说原本使用ThunderX2的美国桑迪亚国家实验室也用A64FX取代ThunderX2,而不是等待ThunderX3。布里斯托大学与英国气象局的二代Isambard系统也将使用A64FX。

富士通A64FX的核心技术之一是与ARM联合开发的可伸缩矢量扩展(Scalable vector Extensions,SVE)指令集ARM的首个64位架构核心Cortex-A57曾一度瞄准服务器市场,但因为各方面的原因无功而返。随后,ARM将重心转回到移动领域,最新ARM处理器的核心Cortex-A73就只字不提服务器应用。2016年8月,ARM又宣布ARMv8-A增加了SVE指令集,专为高性能计算、数据中心而生。

全球首次使用SVE的超算芯片是富士通的A64FX。SVE将作为ARMv8-A指令集的可选扩展,支持SIMD最低128bt、最高2048bit。SVE对应32个寄存器,较低的128bits与ARMv8-ASIMD&FP共用寄存器。预测寄存器有16个,带宽为SVE寄存器的1/8。A64FX不仅支持128、256、512bit三种单指令多数据流(Single Instruction Multiple Data,SIMD),还支持双精度、单精度、半精度、INT8和INT16,同时支持上一代SPARC64。

SVE与英特尔的AVX512非常相似,也是SIMD用的指令集。但不同的是,目前英特尔AVX最高到512位,英特尔顶级的服务器芯片和9代上消费级CPU都支持AVX512。不过在理论上,每以增加1倍的向量数据宽度,将带来2倍的晶体管数量的增加。目前,英特尔的AVX指令集只实现在片上每个核里,作为核中的一个功能部件,若扩展到1024位,将增加4倍的晶体管数量。因此,AVX1024意味着成本极高,SVE也是如此,因此富士通选择了512位。

SVE的另一特点是无须知道矢量的长度(Vector Length Agnostic,VLA),系统可以自动适应任何带宽的矢量,同时也保护了二进制,无须再进行检查。SVE还可以转换循环/中断语法(do- while loops/break syntax)使之适合SIMD。因为在通常情况下,循环/中断受到失效检测(fault detected)介入后就会退出循环。SVE采用首次失效负载(first fault load)指令集和首次失效寄存器(First Fault Register,FFR)解决了这个问题,这个寄存器在16个预测寄存器之中,一旦检测到失效,FFR寄存器就会禁止内存对后续元素的访问,从而避免循环退出。SVE还有搜集/发散(gather/scatter)指令,应对非连续的数据系统。在硬件方面,A64FX这种高性能处理器采用了HBM2内存,使用了台积电的 CoWes(Chip on Wafer on Substrate)封装工艺和7纳米制造工艺。

A64FX处理器内部构造中,CPU与HBM2之间通过Mcro-bump连接,线宽仅为55微米,比传统的PCB板级线宽密度高20倍。A64FX包含4片HBM2,每片HBM2包含8层堆叠,即8个独立的128bits通道带宽,总带宽达1024GB/s,是全球AI芯片中最高的存储带宽,而排名第二的英伟达Tesla V100存储带宽为900GB/s。

A64FX内部有48个运算内核和4个辅助内核。为了提高并行计算效率,减少因为操作系统造成的时基误差(jitter)累积造成的延迟,富士通特别加入了4个辅助核。在存储方面设置了核心存储组(Core Memory Group,CMG)。CMG分为4组,每组包含12个计算核、1个辅助核、1个L2缓存和1个存储控制器。系统软件可以像非统一内存访问架构(Non Uniform Memory Access Architec ture,NUMA)那样处理CMG。A64FX包含87.86亿个晶体管。

A64FX单精度浮点运算可达6.7854Tflops,大约是英特尔至强铂金8180处理器(28核)浮点运算(3.57Tflops)的两倍。“天河二号A”用的加速卡Matrix2000(128核)是4.916Tflops,此性能是在2.2GHz频率下取得的,8180处理器的默认主频是2.5GHz。A64FX也可以运行在1.8GHz或2.0GHz上,此时只需要风冷即可,而2.2GHz则需要水冷。

台积电和ARM曾经推出采用小芯片(chiplet)设计的8核ARM Cortex-A72设计,整个芯片的面积只有27.88平方毫米(4.4×6.2),运行频率高达4GHz(风冷)。ARM芯片一般运行频率都不超过2.2GHz,而小芯片设计突破了这个上限,大大提升了ARM芯片的性能。这样,未来ARM服务器的发展空间就有望得到大发展,ARM就可以不仅主打低功耗,也主打高性能。


推荐阅读
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
  • 网卡工作原理及网络知识分享
    本文介绍了网卡的工作原理,包括CSMA/CD、ARP欺骗等网络知识。网卡是负责整台计算机的网络通信,没有它,计算机将成为信息孤岛。文章通过一个对话的形式,生动形象地讲述了网卡的工作原理,并介绍了集线器Hub时代的网络构成。对于想学习网络知识的读者来说,本文是一篇不错的参考资料。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
author-avatar
吴尧丹_449
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有