Speaker
Dr
佳恒 邹
(高能所)
Description
SNiPER是一个面向高能物理的通用离线软件框架。在其设计之初,我们充分考虑了中微子实验以及宇宙线实验中的特殊需求,做了针对性的研究优化。目前,SNiPER已经在JUNO(江门中微子实验)和LHAASO(高海拔宇宙线观测站)等实验中得到应用,有效促进了这些项目的预研等工作。
JUNO、LHAASO等新一代高能物理实验,均具有超大的探测器规模和海量数据,这需要有强力的计算资源与其配套。然而,近年来CPU主频提升遭遇瓶颈,增加CPU核数成为工业界的发展趋势。在此背景下,并行计算技术成为我们改善软件运行效率的有效手段。业已开源的Intel TBB软件库,则能使我们运用更高层次的并行逻辑概念,脱离晦涩的原生线程技术。
尽管SNiPER的初始版本不支持并行计算,但在其设计过程中已将多线程技术的必要需求纳入考量。SNiPER允许多个相互独立的TopTask实例共存,我们只需将各个TopTask映射到不同的线程上执行,就能方便的实现事例级并行计算。该模式的一个亮点是,与Intel TBB等并行技术相关的内容,以非侵入的方式在SNiPER核心模块之外实现。基于统一的核心模块支持,大部分用户算法仅需遵循全局变量等少量约定,就可通用于串行和并行计算模式,使一般用户代码迁移代价几可忽略。当然在涉及I/O等共享资源时情况复杂很多,本报告也会包括一些这方面的尝试,通过对相关服务模块的合理设计,依旧保证非侵入核心模块这一重要特征。
Primary author
Dr
佳恒 邹
(高能所)
Co-authors
Dr
Tao LIN
(高能所)
Teng Li
(Shandong University)
Dr
Weidong Li
(高能所)
Prof.
Xingtao Huang
(Shandong University)
Zhengyun You
(Sun Yat-Sen (Zhongshan) University)
Ms
Ziyan Deng
(高能所)
Dr
国富 曹
(高能所)