张冬:OpenPOWER CAPI为什么这么快_第1页
张冬:OpenPOWER CAPI为什么这么快_第2页
张冬:OpenPOWER CAPI为什么这么快_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

张冬:OpenPOWERCAPI为什么这么快?在第七届云计算大会的PMC技术专场上演讲嘉宾连续进行了七场技术演讲,其中,PMC数据中心存储架构师张冬没有过多谈论市场和行业问题,而是从底层技术出发,对OpenPowerCAPI进行了分析和阐述,为我们介绍了CAPI为什么能这么快。之前,POWERCPU只是IBM在做小型机的时候使用,OpenPOWER开放后,成立了OpenPower基金会,基金会大部分成员都非常专注于CAPI(相干加速器处理器接口)上的利用,比如将外置的网络、GPU、闪存等设备通过CAPI直接与CPU相连接,并在此基础上根据不同的主流应用场景进行开放的、定制化的系统设计,PMC除了关注这些外,还关注CAPI与NVMe进行协作的问题。传统架构的缺点和瓶颈

现在无论是2路、4路、8路还是32路服务器,他们架构中的CPU之间的互联有的是直联,有的通过NC(NC就类似以太网络里面的网桥)。核心之间要传输数据方式中,最高效的是共享内存,代码里写死。最低效的方法就是走网络,封装一堆的包出去,发送一个数据给远端的某个线程,调用一堆接口,走到协议栈,再到设备驱动,然后到网络,接着收包解析,这个过程非常慢。所以超级计算机没法做到CPU之间进行高速网络共享内存因为成本太高,没法将几万个CPU连接起来,只能走网络了,这也是松耦合系统的一个妥协。没有CAPI的FPGA为什么也不太行

面对现在大数据分析、模式匹配、热点识别等,要求非常大的计算量,传统CPU出现瓶颈。普通的CPU其实也能计算,但是计算速度太慢,比如,只有64位宽来处理1GB数据,那便需要循环拆分N次才能算完,普通的CPU无法迅速处理这么大的运算量。在多路CPU系统中,线程看到的都是单一的虚拟地址空间,这个虚拟地址空间会被操作系统映射到真实的物理空间里,但是所有的CPU看到都是同一份物理地址空间。所有CPU看到单一物理地址空间;所有Threads看到单一虚拟地址空间;PCIE物理地址空间映射到CPU物理地址空间;CPU物理地址空间也映射到PCIE物理地址空间。有人想到硬件加速,做法就是把某个专业计算在电路层面展开,展开成更宽的位宽,更多的并行计算单元,去除一些不必要的缓存优化和流水线优化等,其实这就是专用运算芯片所做的,FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)是现场可编程的专用芯片上述就是所谓的硬加速。在CAPI之前的FPGA怎么接入系统使用的呢?它是把FPGA做到一块PCIe卡里,FPGA通过CPU的PCIe控制器访问到主机内存空间。PCIe和CPU各自有各自的地址空间,CPU不能直接访问PCIe的地址,要先访问自己的地址,PCIE物理地址空间映射到CPU物理地址空间,反之CPU物理地址空间也需要映射到PCIE物理地址空间,这是个很费劲的过程。在CAPI之前的FPGA怎么接入系统使用的呢?它是把FPGA做到一块PCIe卡里,FPGA通过CPU的PCIe控制器访问到主机内存空间。PCIe和CPU各自有各自的地址空间,CPU不能直接访问PCIe的地址,要先访问自己的地址,PCIE物理地址空间映射到CPU物理地址空间,反之CPU物理地址空间也需要映射到PCIE物理地址空间,这是个很费劲的过程。数据出了ALU,面对复杂的路由网络,目的地址为内存地址,但是其相对外部网络的复杂性在于,目标的位置是不固定的,还可能有多份拷贝。NeedCoherency!硬件透明搞定CacheCoherency。CC不负责多线程并发访问cacheline时的互斥,互斥需要程序显式发出lock,底层硬件会锁住总线访问周期。如图所示是个四核CPU,每个CPU内部还有很多东西,每一个CPU的每个核心都有各自的缓存控制器,三级缓存控制器,每个CPU还包含内存控制器,PCIe控制器,QPI控制器(互联CPU相关),还有缓存一致性的控制器,他们全都接入一个高速的总线里面。多个线程看到的数据应该是时刻一致的,需要广播许多信息,这就是CacheCoherency,CacheCoherencyAgent负责把消息推送出去以及接受其他CPU发出的探寻。多CPU之间广播量非常大,所以需要一个目录来记录本地的核心里面都有哪些缓存地址被缓存下来了。其他的CPU如果发广播来探寻,本地直接把目录查一下,如果没有命中缓存就直接不再往后端核心缓存控制器发消息,这样可以提升性能。所以说CC(CacheCoherency)很重要的,要确保线程看到同样的东西,同一个时刻,这叫实时一致性,且不允许异步。但是它不负责两个线程,如果互相都在写这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论