基于CMP+GPU异构计算系统的并行离散事件仿真优化技术研究

基于CMP+GPU异构计算系统的并行离散事件仿真优化技术研究

论文摘要

随着仿真应用的不断深入,仿真规模越来越大,模型越来越复杂,导致其对计算能力的需求越来越高,如何缩短仿真的运行时间,满足时效性的需求,是一个亟待研究的问题。近年来,由CMP和GPU构建的异构计算系统,具有强大计算能力、低功耗以及可持续增长等特点,正成为新一代高效能计算机发展的重要方向,同时也为加速仿真应用带来了重要的机遇。然而,当前并行仿真系统多以传统的共享存储多处理机和集群为目标体系结构,难以针对多/众核化、异构化等特点有效利用CMP和GPU的计算资源。因此,开展基于CMP+GPU异构计算系统的并行离散事件仿真优化技术研究,对于充分利用计算资源、提高仿真运行效率、满足仿真时效性要求等具有十分重要的理论意义和实用价值。论文针对当前并行离散事件仿真存在的尚未充分发挥CMP的优势,难以有效支持基于GPU的离散事件仿真以及CMP+GPU协同效率低下等问题,在深入分析处理器微体系结构特点和离散事件仿真应用特征的基础上,对面向CMP的并行仿真内核优化、基于GPU的存储管理算法、时间管理算法以及CMP+GPU协同机制等进行了深入研究,主要工作和创新点如下:(1)提出了一种基于CMP的层次化并行仿真内核模型。现有并行仿真内核常常以多进程方式使用多核资源,存在较大的同步和通信开销,无法深入发掘多核处理器潜能。针对这一问题,提出了一种层次化并行仿真内核模型HPSK,以多线程架构进行仿真调度和事件执行,并重点对时间管理服务和事件管理服务进行优化:(i)基于混合时间推进模式,提出最小发送时戳计算协议。该协议将同步计算分割为预备态和计算态,由各个线程异步地参与时间同步计算,仅记录发送到计算态消息的时戳,在确保正确性的前提下支持高效的时间同步。(ii)基于并行离散仿真事件交互的特点,提出无锁创建,异步提交和指针通信的事件管理算法,以最小化线程之间的锁开销和减少内存的消耗。实验表明,采用上述优化服务的HPSK具有很好的加速效果和可扩展性。特别在事件局部率和前瞻值较低的情况下,可获得相比于多进程仿真内核8x的相对加速比。(2)提出了一种基于GPU的并行离散事件仿真存储管理算法。基于GPU的离散事件仿真中,存在动态不规则的存储空间需求,难以存储于相对规则的GPU数据结构中,且深度并发的存储空间分配请求将导致大量的线程冲突,使得仿真事件的存储管理十分困难。针对这一问题,提出了一种基于入口映射的并行离散事件仿真存储管理算法AMM。AMM算法集成一个具有“单射”和“概率均等”特性的入口映射来控制线程访问存储资源,“单射”特性保证每个线程分配到唯一的存储空间访问入口,支持深度并发的存储空间分配请求;“概率均等”特性确保仿真事件均衡地存放在存储空间中。实验表明,AMM算法能够显著降低存储消耗和提高运行效率。(3)提出了一种基于GPU的并行离散事件仿真时间管理算法。GPU拥有数百个可并行处理的运算单元,其性能高度依赖于并行度。但传统的保守时间管理算法过于悲观,极大地限制了可并行处理事件的数目,无法有效发掘GPU性能。针对这一问题,提出了一种基于扩展辅助的保守时间管理算法ESCTM。算法利用运行时信息扩展可安全执行事件的时间界限以提高可并行执行的事件数量,同时采用模拟退火算法动态地调整参数来控制事件扩展次数以避免过度扩展,从而确保在不同条件下算法都能在高并行度和过度扩展之间取得平衡。实验表明,相比传统保守时间管理算法,ESCTM算法可获得多达30%的性能提升。(4)提出了面向并行离散事件仿真的CMP和GPU协同机制。GPU内核函数需要由某个CPU线程(主机线程)来调度,容易加重该线程工作负载,造成CPU线程间负载不均衡,且大量消息交互容易成为系统瓶颈,导致协同效率低下。针对这一问题,提出了一种面向并行离散事件仿真的CMP和GPU协同机制Coop CG。该机制将事件处理任务和GPU调度任务分离,由各个CPU线程动态地获取GPU的控制权分担负载,以实现CPU线程之间负载平衡;同时,通过二级缓存方法降低通信开销,由一级缓存处理高度并发的访存操作,然后通过并行前缀和计算剔除无效数据后存入二级缓存进行数据传输,可有效降低数据传输量。实验表明,Coop CG能有效利用CMP和GPU资源,具有良好的可扩展性。在4核CPU+GPU配置下,可获得相比于单核CPU约24.87-67.34x的并行加速比。在上述研究成果的基础上,论文在课题组研制的YH-SUPE并行离散事件仿真支撑环境的基础上,设计实现了一个支持CMP+GPU异构计算系统的并行仿真支撑环境CGSUPE;通过人群暴动模型对其进行了综合测试,结果表明论文提出的仿真优化方法在4核CPU+1GPU配置下可获得相比于4核CPU配置下至少30x的相对加速比。

论文目录

  • 摘要
  • Abstract
  • 第一章 绪论
  • 1.1 课题研究背景和意义
  • 1.2 研究现状及面临的主要技术挑战
  • 1.2.1 并行离散事件仿真概述
  • 1.2.2 基于CMP+GPU的异构计算系统体系结构与编程模型
  • 1.2.3 基于CMP+GPU异构计算系统的仿真研究现状
  • 1.2.4 基于CMP+GPU异构计算系统的仿真研究面临的挑战
  • 1.3 本文研究内容和主要贡献
  • 1.3.1 论文主要研究内容
  • 1.3.2 论文主要创新点
  • 1.4 论文组织结构
  • 第二章 基于CMP的层次化并行离散事件仿真内核
  • 2.1 引言
  • 2.2 相关研究工作与局限性
  • 2.3 并行离散事件仿真逻辑进程范型的形式化定义
  • 2.4 基于CMP的层次化并行离散事件仿真内核
  • 2.4.1 层次化并行仿真内核模型
  • 2.4.2 时间管理服务优化
  • 2.4.3 事件管理服务优化
  • 2.5 性能测试与分析
  • 2.5.1 软硬件环境与测试用例
  • 2.5.2 实验结果与分析
  • 2.6 本章小结
  • 第三章 基于入.映射的仿真存储管理算法
  • 3.1 引言
  • 3.2 背景介绍与基本问题描述
  • 3.2.1 基于GPU的并行离散事件仿真
  • 3.2.2 存储管理的需求
  • 3.3 相关工作与局限性
  • 3.4 基于入.映射的存储管理算法
  • 3.4.1 算法思想
  • 3.4.2 算法实现
  • 3.5 实验结果与分析
  • 3.5.1 软硬件环境和Phold模型
  • 3.5.2 效能评估
  • 3.6 本章小结
  • 第四章 基于扩展辅助的同步保守时间管理算法
  • 4.1 引言
  • 4.2 相关研究工作及其局限性
  • 4.3 基本问题分析
  • 4.4 算法描述
  • 4.4.1 基于扩展辅助的同步保守时间管理算法
  • 4.4.2 退火模拟优化
  • 4.5 实验结果与分析
  • 4.5.1 标准测试集测试
  • 4.5.2 案例研究: SIR疾病传播模型
  • 4.6 本章小结
  • 第五章 面向并行离散事件仿真的CMP和GPU协同机制
  • 5.1 引言
  • 5.2 相关研究工作与局限性
  • 5.3 面向并行离散事件仿真的CMP和GPU协同机制
  • 5.3.1 总体架构
  • 5.3.2 调度机制
  • 5.3.3 消息传输优化
  • 5.4 案例研究:大规模传染病仿真应用
  • 5.4.1 模型描述
  • 5.4.2 设计与实现
  • 5.4.3 性能评估
  • 5.5 本章小结
  • 第六章 基于异构计算系统的并行离散事件仿真框架和应用测试
  • 6.1 引言
  • 6.2 系统建模与仿真框架
  • 6.2.1 基础服务层
  • 6.2.2 并行离散事件仿真服务
  • 6.2.3 建模框架
  • 6.3 大规模人群暴动仿真实例
  • 6.3.1 系统建模
  • 6.3.2 性能评估
  • 6.4 本章小结
  • 第七章 结束语
  • 7.1 论文工作总结
  • 7.2 进一步研究工作
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 攻读博士学位期间参加的主要科研工作
  • 相关论文文献

    标签:;  ;  ;  

    基于CMP+GPU异构计算系统的并行离散事件仿真优化技术研究
    下载Doc文档

    猜你喜欢