论文部分内容阅读
随着当前高能物理实验规模不断扩大,数据量在急剧地积累,这对于计算资源形成了巨大的挑战,而分布式计算成为解决这一问题不可或缺的资源组织方式。为了满足实验数据处理和分析的需求,高能物理实验的资源使用模式逐渐从原来单一的本地集群趋于多元化,形成了本地、网格、云以及志愿计算等分布式资源并存的现状,并具有异构、异地、多样性等特点,而对多种后端资源系统的访问给物理用户增加了难度。另一方面,实验数据处理和作业分析具有输入输出数据量大、任务耗时长等特点,需要拆分为批量子作业分配到广泛的计算节点来加速处理和分析的过程。同时,高能物理实验的数据处理流程具有共同特点,不同实验的作业可以用通用型框架统一处理。为了解决高能物理实验的分布式计算模式中底层系统差异以及多个实验作业统一处理等问题,本文设计并开发了一个用于作业提交管理的通用前端系统(JSUB)。在JSUB中,不同实验组的用户可以通过统一的界面拆分提交作业,从而减轻了对多实验作业的管理压力。同时JSUB通过接口和后端资源调度系统交互,对用户屏蔽了底层差异性,允许透明地访问到异构资源,降低了用户使用成本。本文的主要工作如下:(1)分析BESⅢ、CEPC和JUNO等多个实验作业,抽象出作业的一般处理流程,总结出系统的功能需求,设计系统的功能模块。(2)对国内外相关工作进行调研,分析并归纳Ganga和ILCDirac等前端系统的设计特点,借鉴了部分优秀的设计思想,并设计出该系统的核心组件和基本框架,同时改进了作业拆分器和工作流等功能。(3)研究DIRAC和HTCondor等多个后端调度系统的特点和使用方法,设计了前后端交互的接口,为用户提供统一的操作界面。用户只需通过定义少量的配置参数来实现对需求的切换,不用再关心各后端的操作指令,后端的差异性也由此被隐藏。(4)基于后端调度系统的作业状态反馈功能实现对作业运行的监控,将状态信息存于本地数据库中,通过用户动作来驱动数据库信息的更新。(5)和元数据管理系统交互,实现在分布式环境下对目标数据的快速检索和访问,实现对作业输入输出数据的有效管理。JSUB方便了对批量作业的生命周期的管理,包括拆分、提交、分布式环境下的运行、运行状态查看、重提交和数据集的读取注册等过程,能够满足作业处理的基本需求;统一了作业的处理流程,为用户提供统一操作界面,具有通用性和易用性;设计了一个通用的作业提交和管理框架,降低了通用模块和业务数据间的耦合度,与实验相关的应用部分以可扩展的形式兼容到系统当中,层次清晰,也方便新实验基于该框架进行二次开发。本文从对高能物理实验作业的处理流程的分析、功能和架构的设计、与相关软件在设计上的比较、对实际应用的扩展支持等方面详细阐述该系统。