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

超级计算机26010,全球最强超级计算机搭载的SW26010处理器解析

全球最强超级计算机神威·太湖之光搭载的申威26010处理器每片处理器包含4个核心,片上的4个核心通过片上网络互联,并通过PCI-E3.0对外连接,每个核心拥有独立的128位DDR3

全球最强超级计算机神威·太湖之光搭载的申威26010处理器每片处理器包含4个核心,片上的4个核心通过片上网络互联,并通过PCI-E 3.0对外连接,每个核心拥有独立的128位DDR3控制器连接到8GB DDR3-2133内存,这样4个核心一共拥有32GB的DDR3内存。

《超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析》

《超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析》

从这里可以看出SW26010实际上类似于用胶水把4个独立的处理器粘在了一起,整合到了一个芯片里面,但是每个核心还是可以独立工作,而且拥有独立的128bit 8GB内存。这样单个核心的内存带宽达到了34GB/s,整个处理器达到了136GB/s,这样设计最大的好处就是每个核心的带宽是完全独享的,缺点是空闲核心的带宽无法共享给其他核心。

其中每个核心包含一个主处理器(MPE)和一个8*8的计算单元阵列(CPEs),主处理器是一个64位的RISC架构核心,用来跑操作系统,并且支持264位的矢量指令集,拥有32KB的L1指令缓存和32KB的L1数据缓存(总共64KB L1 cache),和256KB L2 Cache,应该说这样的缓存配置并不算大,应该是为了节约芯片面积考虑,4个核心的主处理器加起来一共有256KB L1 cache和1MB L2 cache。

计算单元阵列(CPEs)是一个由64个简化的62bit处理器(不是常见的64bit)组成,每个处理器只有16KB的L1指令缓存和64KB本地储存,没有L1数据缓存,并且和主处理器一样支持264位的矢量指令集,单片处理器拥有一共256个这样的计算单元。

于是加上4个主处理器,单片处理器一共拥有260个处理器核心。

《超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析》

神威·太湖之光的每个处理器卡有两片SW26010处理器,和一共64GB内存,长得像这样,每个处理器算一个计算节点,这样一块处理器卡和intel xeon phi协处理器卡类似,只是intel这样一块计算卡只有区区60个核心,而且不能独立工作,还需要另外购买一个独立的xeon主机作为管理处理器使用。而SW26010处理器集成了管理处理器,可以独立工作,并且单个处理器卡拥有高达520个处理器核心。

《超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析》

对比一下intel xeon phi计算系统的结构:

《超级计算机 26010,全球最强超级计算机搭载的SW26010处理器解析》

KNC Card就是一块intelXeon Phi协处理器卡,协处理器卡通过PCIE-X16和主处理器相连,其实看上去就像是一台PC上面插着好几块显卡。这样一台PC构成一个计算节点。

对比SW26010处理器的方案,单个节点来看,一块SW26010的核心数量和一台带有4块xeon phi计算卡的功能相当。Intel方案的麻烦在于,这样一个计算节点的功耗和体积远远大于SW26010,而且intel主处理器内存和协处理器卡的内存是分离的,需要先将要处理的数据通过PCI-E x16传输至计算卡内存,然后计算卡才能计算,最后将结果通过PCI-E x16读回主处理器,这样一来一回的性能损失很多时候远大于计算卡带来的好处。

SW26010的主处理器和协处理器的内存是共享的,这样无需来回从协处理器倒腾数据,而且可以实现类似AMD APU的统一内存寻址,大幅度提高了协处理器的使用效率,从这点来说SW26010的方案是优于intel方案的。

从单个核心对比来看,Intel的phi协处理器据说是基于最早的奔腾x86方案改进而成,多了一个512位的矢量处理器,而SW26010只有264位的矢量处理器,phi拥有32KB的L1指令缓存,32KB的L1数据缓存和512KB的L2 缓存,对比SW26010的协处理器只有16KB的L1指令缓存和64KB的本地存储,而且intel的phi核心可以支持4个物理线程,也就是超线程技术,单纯从技术来讲,intel的phi处理器拿出来单挑应该可以吊打单独的SW26010的计算核心。

理论性能可以看出,单个intel的phi处理器是高于SW26010的计算核心,得益于超宽的512位矢量处理器(VPU),intel phi上的处理器每个时钟可以执行16个单精度运算或8个双精度计算,而SW26010上的计算核心只有一半的宽度,所以最多也就8个单精度和4个双精度,不过SW26010的核心频率是1.45GHz,要比intel phi的1.3GHz稍高,但是这样也很难追平intel的单个核心的理论性能优势。

但是光比理论峰值性能是没有什么意义的,SW26010的VPU虽然比intel phi的宽度小,但是264bit的宽度而不是256bit的宽度可以提供比intel的单双精度浮点更高的计算精度,单精度浮点可以比intel的高一倍,而双精度可以高4倍,这在科学计算中是能够获得更大的优势,而且intel的512bit宽度的矢量运算需要更多的数据来填饱它,加上需要用PCI-E传输数据的瓶颈,大部分时候也只能挨饿,而SW26010可以直接访问主存,因此在实际使用效率上不见得就会比intel phi低多少,并且某些应用场合甚至可能大幅度超过intel。


推荐阅读
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 开发笔记:计网局域网:NAT 是如何工作的?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了计网-局域网:NAT是如何工作的?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
author-avatar
biosan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有