论文部分内容阅读
当前摩尔定律遇到瓶颈,通用处理器的计算能力受到制约,而大数据搜索与分析、深度学习等新型企业计算对数据中心服务器的计算能力和功耗提出了新的挑战。为了提高数据中心底层基础平台的能耗比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功能模块读写访存延迟过高,导致框架在处理数据输入输出时的吞吐率受限,从而影响框架对算法加速性能的进一步提升。