论文摘要
随着仿真应用的不断深入,仿真规模越来越大,模型越来越复杂,导致其对计算能力的需求越来越高,如何缩短仿真的运行时间,满足时效性的需求,是一个亟待研究的问题。近年来,由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的相对加速比。
论文目录
相关论文文献
标签:并行离散事件仿真论文; 异构计算系统论文; 存储管理算法论文;