论文部分内容阅读
随机反应扩散仿真(SRDS)有助于理解细胞内外的粒子动力学机制和信使机制、单个细胞及整个生化系统的行为机制,进而为粒子动力学假设检验、疾病治疗手段验证等提供支持。然而,此类仿真具有零前瞻、邻域更新敏感、规模巨大、计算复杂和多次运行等特点,对仿真性能提出了极高的要求,使得基于高性能计算机的并行离散事件仿真(PDES)成为这类仿真发展的重要趋势。随着多核处理器技术的发展,相比于传统的基于进程的PDES,多线程PDES通过共享进程空间可实现高效的核间通信,更有利于发挥多核集群优势;但已有多线程PDES在事件排序、时间管理和负载均衡等方面仍存在着开销大、效率低等问题,难以充分发掘多核集群优势。因此,开展面向随机反应扩散系统的多核并行仿真支撑技术研究,对于提高仿真运行效率、充分利用多核集群计算和通信资源以及满足不断发展的应用需求等具有十分重要的理论意义和实用价值。 论文针对随机反应扩散系统对仿真规模和性能的需求,面向多核集群计算机系统,围绕多线程PDES体系架构、异步全局虚拟时间(GVT)算法、自适应负载平衡和乐观控制、高效回滚机制等问题开展研究,主要工作和贡献如下: (1)已有多线程PDES多采用对称同构的体系架构,所有线程同时收发消息和处理事件,对事件排序和通信服务的竞争较高,制约事件处理速率和线程规模。为此,提出了一种可扩展可配置的多线程PDES体系架构SConMA,该架构首先设计层次化的事件异步排序机制根据SRDS特征将事件队列分解至线程、逻辑进程(LP,即仿真对象)和输入通道中,形成由上至下的三级队列,下级队列仅提交紧急事件至上级队列并维护正确的全局排序,从而降低竞争单个事件队列的机率;同时分离通信和事件处理逻辑后由独立线程处理通信,同进程内属于不同线程的LP间通过共享进程空间调度事件,以降低对通信的竞争。实验结果表明SConMA具有良好的性能和可扩展性,相比于集中式多线程PDES架构可缩短仿真运行时间约12%,平均降低竞争线程事件队列的概率约40%。 (2)已有的多线程PDES多使用同步的GVT算法,同步开销大,而采用现有的Fujimoto多线程异步GVT算法难以处理由跨节点消息引起的暂态消息和同步报告问题。为此,提出了一种面向大规模多核集群的混合异步GVT算法HAGVT:进程内局部GVT由事件处理线程在通信线程控制下采用改进的Fujimoto算法计算得到;进程间的暂态消息和同步报告问题由通信线程利用Mattern算法处理;两者协同在进程内部和进程之间异步地完成多核集群下高效的GVT计算。理论分析与实验结果表明,HAGVT可在仿真任一时刻计算GVT,计算开销和延迟均优于原始的Mattern和Fujimoto算法,如相对于事件处理线程执行原始Fujimoto算法, HAGVT可平均缩短仿真运行时间约11%。 (3)粒子在整个空间的非均匀分布导致线程间负载失衡,零前瞻特性使得乐观仿真回滚总数较高,目前主流的方法独立地处理负载平衡与乐观控制,难以使事件处理线程获得最佳的事件处理速率。为此,提出了一种自适应负载平衡与乐观窗口控制算法ALBW:对于仿真的首次运行,采用基于模拟退火的负载平衡与乐观窗口控制算法SALBW自适应地探索负载迁移和乐观窗口最优参数值;对于后续多次运行,采用改进的基于强化学习Q-Learning的负载平衡算法QLB基于SALBW算法结果探索本次运行的最优参数值;从而实现不同应用场景下自适应的负载平衡和乐观控制。实验结果表明,ALBW可缩短多核集群中大规模钙波系统运行时间约36%。 (4)基于消息发送时戳的回滚机制(STRB)可充分利用多核集群中消息传输的保序性,高效地处理乐观仿真中的回滚;然而由于粒子扩散速率不同,随机反应扩散仿真中后调度事件可能先被处理,使得难以采用STRB撤销所有失效事件。为此,提出了一种消息发送时戳与接收时戳相结合的回滚机制SRTRB,该机制首先根据回滚时消息的发送时戳确定临界失效事件,再由该事件的接收时戳递推其所在LP的回滚时间,之后依据此回滚时间级联地恢复已处理事件,从而实现粒子乱序到达情况下的正确回滚。实验结果表明,SRTRB可实现随机反应扩散系统仿真正确的回滚,且性能优于PDES常用的反消息回滚机制,如在同进程的多个线程中使用反消息回滚机制的仿真运行时间平均为使用SRTRB的1.42倍。 在上述研究成果基础上,设计实现了一个面向随机反应扩散系统的多核并行离散事件仿真框架RD-PDES,关于大规模强化钙波模型的综合测试表明RD-PDES具有良好的性能和可扩展性,运行时间较通用PDES支撑平台YH-SUPE缩短37%,对双稳态生化系统的测试表明RD-PDES具有良好的通用性。