基于CAPI的通用数据处理技术研究
发布时间:2020-03-29 00:02
【摘要】:当前摩尔定律遇到瓶颈,通用处理器的计算能力受到制约,而大数据搜索与分析、深度学习等新型企业计算对数据中心服务器的计算能力和功耗提出了新的挑战。为了提高数据中心底层基础平台的能耗比P/W(Performance/Watt),一种解决方法是通过硬件加速,采用专用协处理器的异构计算方式来提升计算性能。FPGA(Field Programming Gate Array,FPGA)相比于GPU(Graphics Processing Unit,GPU)具有更高的计算效率、更高的能耗比,逐渐成为异构计算中主流的协处理器。然而,受限于传统I/O技术PCIe数据传输带宽的局限性,基于FPGA的异构架构无法充分发挥FPGA的性能潜力。鉴于此,IBM Open POWER组织针对异构架构通信接口研发了CAPI(Coherent Accelerator Processor Interface,CAPI)技术。正是由于CAPI技术的优势,有效降低了异构架构通信过程中数据传输时延(总延迟大约是PCIe I/O模式的1/36),使基于FPGA的异构架构迅速成为新一代异构计算的亮点。本文针对新一代I/O技术CAPI展开研究,与前人只是采用基于CAPI的FPGA异构架构加速某一具体算法不同,我们设计实现了一个通用的基于CAPI技术下的FPGA/CPU异构算法加速框架,简化开发人员基于CAPI技术进行算法加速时的设计复杂度,使不同的算法可以快速移植到此框架下进行加速并获得良好的性能提升。本文主要工作包括:(1)深入研究基于CAPI技术下的FPGA/CPU异构架构,重点分析算法加速功能单元如何根据PSL(Power Service Layer,PSL)硬核提供的接口来读写访问CPU端的主存。(2)在(1)的工作基础上,设计实现了基于CAPI的通用数据处理和算法加速框架,重点阐述了框架的可扩展性特点。(3)选择两种不同特点的算法:AES(Advanced Encryption Standard)算法(算法执行时,数据之间相互无依赖,适合于并行加速)和SHA(Secure Hash Algorithm)算法(算法执行时,数据之间相互依赖,不适合于并行加速),分别测试框架对其加速的性能并与CPU软件实现对比。实验结果表明:相比于局限的CPU单线程环境中软件执行的AES算法,框架对AES算法的加速能达到大约2447倍的加速比;相比于实际的生产应用环境——假设AES算法经过软件优化并以多线程方式运行在10核心的CPU上,框架对AES算法的加速能达到大约49倍的加速比;相比于CPU单线程环境中软件执行的SHA算法,框架对SHA算法的加速不够明显,但依然获得大约3.3倍加速比。(4)针对(3)中AES算法加速时发现的问题——AES算法的吞吐率性能没有随AES算法核的数量增加而线性提高,我们进一步以基本内存拷贝为例,测试了框架的吞吐率性能。实验结果分析表明:算法加速框架处理数据输入输出时的吞吐率存在性能瓶颈是导致上述问题产生的主要原因。(5)最后,为了进一步探究算法加速框架的性能瓶颈根源,我们在基本内存拷贝实验基础上设计了一组对比实验,并对框架执行时的波形图进行分析,最终得出算法加速框架的性能瓶颈在于框架中I/O功能模块读写访存延迟过高,导致框架在处理数据输入输出时的吞吐率受限,从而影响框架对算法加速性能的进一步提升。
【图文】:
基于 CAPI 的通用数据处理技术研究2.1.1 基于 GPU 的异构架构相比于 CPU 架构而言,GPU 架构提供众多的计算单元和大量的高速缓存,,同时采用 SIMT(Single Instruction Multiple Thread)向量化技术使各计算单元并行执行,以此提供强大的运算性能,特别是浮点运算性能。典型的基于 GPU 的异构架构如图 2.1 所示,其中 CPU 端负责逻辑密集型任务的执行并将计算密集型任务分配给 GPU 端并行处理。
图 2.2 基于 FPGA 的异构架构与基于 GPU 的异构架构类似,CPU 端与 FPGA 端之间的数据通信带宽也成为算法执行时性能进一步提高的瓶颈。传统的通信方式也采用 PCIe 技术,将FPGA 设备端地址空间映射到 CPU 端的内存地址空间中,FPGA 通过 PCIe 控制器访问相应的主机内存空间。为了摒弃 PCIe 通信过程中地址映射机制,缩短通信上下文建立时间,近年来 IBM 公司推出 CPAI 技术。CAPI 接口技术使得 CPU端与 FPGA 端之间共享虚拟地址空间,FPGA 可以直接访问 CPU 端的虚拟地址空间,从而摒弃了繁琐的地址映射耗时,使基于 FPGA 的异构架构中 CPU 与FPGA 之间的数据访问效率更高,总延迟是传统 PCIe I/O 模式的 1/36。2.1.3 FPGA vs GPU针对上述两种不同的异构架构,要使特定应用达到高性能低功耗的目的,架构中的协处理器扮演着关键角色。由于 GPU 和 FPGA 具有不同的体系结构和计
【学位授予单位】:深圳大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP332
本文编号:2605111
【图文】:
基于 CAPI 的通用数据处理技术研究2.1.1 基于 GPU 的异构架构相比于 CPU 架构而言,GPU 架构提供众多的计算单元和大量的高速缓存,,同时采用 SIMT(Single Instruction Multiple Thread)向量化技术使各计算单元并行执行,以此提供强大的运算性能,特别是浮点运算性能。典型的基于 GPU 的异构架构如图 2.1 所示,其中 CPU 端负责逻辑密集型任务的执行并将计算密集型任务分配给 GPU 端并行处理。
图 2.2 基于 FPGA 的异构架构与基于 GPU 的异构架构类似,CPU 端与 FPGA 端之间的数据通信带宽也成为算法执行时性能进一步提高的瓶颈。传统的通信方式也采用 PCIe 技术,将FPGA 设备端地址空间映射到 CPU 端的内存地址空间中,FPGA 通过 PCIe 控制器访问相应的主机内存空间。为了摒弃 PCIe 通信过程中地址映射机制,缩短通信上下文建立时间,近年来 IBM 公司推出 CPAI 技术。CAPI 接口技术使得 CPU端与 FPGA 端之间共享虚拟地址空间,FPGA 可以直接访问 CPU 端的虚拟地址空间,从而摒弃了繁琐的地址映射耗时,使基于 FPGA 的异构架构中 CPU 与FPGA 之间的数据访问效率更高,总延迟是传统 PCIe I/O 模式的 1/36。2.1.3 FPGA vs GPU针对上述两种不同的异构架构,要使特定应用达到高性能低功耗的目的,架构中的协处理器扮演着关键角色。由于 GPU 和 FPGA 具有不同的体系结构和计
【学位授予单位】:深圳大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP332
【参考文献】
相关期刊论文 前2条
1 Bruce Wile;;OpenPOWER+CAPI实现第二代分布计算[J];电子产品世界;2015年11期
2 王涛;;“天河二号”超级计算机[J];科学;2013年04期
本文编号:2605111
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2605111.html