论文部分内容阅读
随着计算机技术的不断发展,人工智能、物联网业务与日俱增,“大数据”方兴日盛,各领域数据量和计算需求节节攀升。在这种“大数据”要求“大计算”的时代背景下,传统以CPU为核心的计算系统力有不逮,而具有颠覆式变革的量子计算、神经网络计算囿于技术,还不能投入实际应用。因此在高性能计算领域,异构计算大有“执天下牛耳”之势,对于异构计算系统的研究关乎国计民生。追根溯源,异构计算能够在高性能计算领域大放异彩,一方面是得益于异构计算系统丰富的硬件资源;另一方面源于多类别计算单元各司其职、各尽其能。因此丰富的计算资源和合理的任务调度不可或缺。任务调度的研究能使异构系统的计算能力百尺竿头更进一步,这对于异构计算系统,对于日益扩大的计算需求,意义非凡。目前异构计算系统普遍搭载是GPU加速组件,对于计算密集型任务效果明显,但囿于自身架构,在通信密集型任务上GPU有些捉襟见肘;另外针对异构系统的任务调度算法林林总总,但是调度长度不尽如人意。本文针对异构计算系统及其任务调度进行了以下研究:提出了一种基于新型遗传和任务聚合的异构任务调度(GA-TP)算法,通过自适应动态选择、全基因参与杂交、自适应动态突变三种改进的遗传算子增加算法的全局和局部寻优能力,使得GA-TP算法能在合理的时间内给出一种无限逼近最优的调度方案;通过任务聚合,增加任务粒度,减少任务数目,降低任务间的通信成本,从而缩短调度长度。通过调度长度、比调度长度、算法加速比、算通比等关键参数对比了GA-TP算法和传统算法,结果证明GA-TP算法的调度长度明显缩短。组建了一种基于CPU–GPU–FPGA的异构计算系统,同时搭载GPU和FPGA两种加速单元,支持计算密集型、逻辑密集型、通信密集型等多种计算任务。针对不同架构计算单元之间数据传输的时延问题,结合开发框架的特点和GPU的特性提出了一种优化方法,通过提高工作项访存操作在时间、空间上的连续性以及GPU的合并访存操作,降低GPU对全局内存的访问频率,减少GPU访存占用的时钟周期,从而降低了数据读写时延。基于PCIe和CPU实现了GPU和FPGA之间的数据传输链路,并通过实验验证了数据传输链路的可行性。