论文部分内容阅读
在线时间序列预测作为一种重要且应用广泛的时间序列分析方法一直备受关注。然而,在线状态下新样本的低延迟预测以及模型的在线更新需求导致计算量大大增加,从而限制了其在实际工业系统中的应用。大量的研究工作和现实技术分析已经证明,此问题的解决,已不能单纯地依赖时间序列预测计算方法的改进,或摩尔定律基础上的通用计算系统性能提升来实现,而必须同时从高效计算方法和高性能计算系统两个角度切入,通过构建面向特定计算方法的定制化计算系统结构,为高速、低延迟和低功耗的在线时间序列预测提供新的解决思路。近年来,在线时间序列预测方法研究领域中,核自适应滤波(Kernel Adaptive Filtering,KAF)方法凭借递归和增量方式的模型更新机制,有效地降低了计算复杂度,从而展现出明显的计算效率优势;在高性能计算结构研究领域,以现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)为基础的硬件加速计算技术研究,凭借其通用硬件基础上定制并行计算的高性能、低延迟、低功耗和成本优势,引起了学术界和工业界的广泛关注。因此,寻求KAF与FPGA的融合,自然成为构建高性能在线时间序列预测系统研究所必须关注的焦点之一。鉴于此,本文面向低功耗和低延迟的在线时间序列预测,针对KAF计算方法的高性能定制计算需求,从KAF算法与FPGA硬件加速计算模式的融合、解决数据冲突和资源冲突的优化方法以及基于微处理器和向量协处理器的软硬件协同计算体系结构三个方面开展研究,论文的主要研究工作包括以下内容:(1)针对嵌入式环境中在线时间序列预测系统在计算速度、延迟和功耗方面的严格约束条件,提出一种基于FPGA微码向量处理器的KAF硬件加速计算方法。该方法首先面向KAF算法中的时空分布计算需求,研究基于浮点向量处理器的全新计算体系结构,采用异构算术逻辑单元提高计算并行度。然后为解决系统开发效率问题,针对KAF算法定制微码指令集。基于FPGA的硬件实验表明,该方法可提高KAF在线时间序列预测的计算效率、降低系统延迟和功耗,并为降低定制加速计算系统的开发难度提供了新的思路。(2)针对在线时间序列预测KAF向量处理器结构中,数据和资源冲突导致的微码指令执行效率优化问题,提出一种基于指令级并行技术的流水线优化方法。该方法首先分析两种流水线冒险对指令执行效率的影响机制,构建KAF向量处理器的性能优化模型,针对特定的FPGA浮点运算单元结构获取最高指令执行效率。然后针对多种在线时间序列预测精度需求,研究定点KAF向量处理器流水线优化方法,从而进一步提升微码指令执行效率。基于FPGA的硬件实验结果表明,该方法在满足计算精度要求的条件下,可进一步提升在线时间序列预测的计算效率,降低延迟和功耗,实现资源消耗、计算效率和能耗的相对平衡。(3)针对KAF向量处理器无法完成复杂控制策略和标量运算部分无法获得有效加速性能的问题,提出一种基于CPU和KAF向量处理器的异构计算系统。为解决CPU和KAF向量处理器之间的数据传输延迟问题,提出一种基于直接存储器访问和加速器一致性端口的低延迟数据传输策略。然后为获得KAF计算流程层次的空间并行,提出一种基于多向量协处理器的多指令流多数据流计算结构。基于CPU和FPGA的硬件实验结果表明,本文的方法相对于MXP、GPU和Open CL的结构,可以更高效地实现在线时间序列预测的软硬件协同计算加速。同时,该结构还可以通过操作系统层次的支持,提供更好的软件灵活性和计算结构的可扩展性。