第二代异构计算与未来应用愿景
如果说以GPGPU为主,大幅度提高系统浮点运算能力是第一代异构加速计算的典型特征的话,我们现在可以基本总结出以FPGA为主,所谓的第二代异构计算的一些重要特征:第一:具备缓存一致性和对等的内存访问能力,这是最为重要的特征,与第一代异构计算有了本质的不同,并对应用编程具备了明显的友好性;第二:基于FPGA可灵活配置加速模块,毫无疑问,在第二代异构计算中,FPGA将是一大主角,它本身灵活的可编程性为应用加速提供了丰富的应用场景;第三、它将隆重开启整数运算加速的大门,随着FPGA编程的便利性进一步提高,FPGA的整数型加速将会迅速普及(当然绝不是说FPGA不能用于浮点加速,只是看应用比例),这对于当前的大数据、海量视频处理、图像匹配等新兴需求不谋而合,就像当初GPGPU与科学计算的发展相得益彰一样,第二代异构计算将把相应的整数型应用的性能带到新的高度。
当然,看到这一趋势的不仅仅是IBM与OpenPOWER,CPU巨头英特尔以167亿美元收购FPGA第二大厂Altera的用意也不言自明。在不久前结束的IDF15上(英特尔信息技术峰会2015美国站),英特尔正式发布了CPU通过QPI直联FPGA的方案设计。
采用QPI接口与CPU互联,明摆着是冲着缓存一致性而来,这与CAPI的思路异曲同工,并且在服务器的配置上给出了新的可能(比如FPGA芯片Socket化或直接板载),这与CAPI有了明显的不同,可谓各有利弊,但共同点都是开启了第二代异构计算的时代
当越来越多的FPGA加速芯片以各种缓存一致性的方式接入系统之后,由于FPGA的SRAM高速编程模式,理论上讲FPGA可以迅速的且无限次的更新内置的AFU,以应对不同的应用加速需求。这就给我们打开了一个想像空间——能否像Docker管理容器镜像那样,基于云+端的概念建立起一个AFU镜像的集散中心呢?事实上,OpenPOWER联盟已经在这么做了——建立AFU镜像商店,并已经落户SuperVessel Cloud(超能云)之上,目前已经有多个AUF镜像可用选择( https://crl.ptopenlab.com:8800/acceleration )。
OpenPOWER CAPI-FPGA加速卡AFU镜像商店的更新流程(笔者猜想绘制,谨供参考)
届时,任何相关的开发者、ISV都可以将自己针对某些具体的FPGA卡(经CAPI认证)所编写的AFU镜像(其实就是FPGA的编程配置文件),上传至AFU商店供其他用户免费或有偿使用。相关的AFU用户则可以像Docker那样,根据自己应用加速的需求与FPGA加速卡的型号,免费或付费下载相应的AFU镜像,通过全局的管理平台,分发给指定服务器上的CAPI更新控制器,由后者与指定的FPGA加速卡(一台服务器可以有多块加速卡,选择更新)PSL内的AFU更新模块一起加载AFU镜像。加载的方式有两种,一种是完整的FPGA重写(所有的门电路重写,包括PSL),另一种则是AFU单独更新。前者需要重起服务器,而后者则可以在线动态更新。目前100万门的FPGA的完整配置文件容量也就在50MB左右,由于是基于SRAM的硬件编程,100ms内即可更新完毕,用户几乎没有察觉,但服务器的加速功能就已经完全改变了。
我们可以试想一下这样的场景,对于某个内置CAPI+FPGA加速器的服务器集群,可以灵活的根据工作负载的需求改变FPGA中的AFU模块,让这个集群迅速具备针对新负载的加速能力,这对于集群高效的多场景灵活复用显然是很有帮助的,而这种模式也是GPGPU、DSP、ASIC等加速方式很难做到的。
展望未来,从某种角度上讲,GPGPU与FPGA在未来的应用系统中,将根据自身的特长有所侧重。如果将CPU比作人的话,GPGPU更像是高级计算器,为人类提供强大的科学计算的能力,做好学术研究,而FPGA更像是为某类工作定制的效率工具,执行大量固定而高度重复化的工作,大幅度提高人类的日常生活与工作效率(比如洗衣机、生产机器人),而人在未来更多的就是负责管理,用好计算器与效率工具——CPU的角色相信也会如此,随着技术的不断发展,更多的浮点与整数运算任务将会被GPGPU、FPGA、DSP、ASIC等不同的加速器所分担。
好文章,需要你的鼓励
临近年底,苹果公布了2024年App Store热门应用和游戏榜单,Temu再次成为美国下载量最多的免费应用。
云基础设施市场现在已经非常庞大,很难再有大的变化。但是,因为人们可以轻松地关闭服务器、存储和网络——就像开启它们那样,预测全球云基础设施开支可能非常困难。