【技术实现步骤摘要】
一种用于科学计算程序的全生命周期管理系统和方法
[0001]本专利技术涉及计算机领域,尤其是一种用于科学计算程序的全生命周期管理系统和方法。
技术介绍
[0002]现代大科学工程、大数据等领域为了实现对于复杂系统的研究,经常会需要在高性能计算(High performance computing,HPC)环境下进行多程序耦合、多阶段的大规模模拟计算和数据分析。在这些研究中,初始的数据往往需要经过一个到多个科学程序的处理过程才能得到最终的结论。随着所用的科学程序的多样性的增加,其产生科学结论的可靠性会下降,甚至会出现难以再现的问题,也就是所谓的“计算可重现危机”。为解决这一问题,人们开始关注于“科学计算结果”的元数据相关研究,期望借助一些成熟的工具来记录科学数据处理过程及每个阶段数据的出处,以给出整个数据流过程的“溯源(Provenance)”信息。
[0003]基于科学程序的科学数据处理过程的溯源机制建立在能够在不同的计算环境下能够给出一致的结果的假设之上。这其中隐含假设产生科学数据的科学计算程序能够在不同的环境下保 ...
【技术保护点】
【技术特征摘要】
1.一种用于科学计算程序的全生命周期管理系统,其特征在于,包括:构建环境子系统,用于完成科学计算程序的查询、触发、执行和结果分发的构建过程;生产环境子系统,用来完成科学计算程序在不同多个生产环境上的测试、最终部署过程。2.根据权利要求1所述的一种用于科学计算程序的全生命周期管理系统,其特征在于:所述的构建环境子系统包含查询服务器、持续集成服务器和执行服务器及本地共享存储;所述查询服务器、持续集成服务器和执行服务器提供计算机资源,其上的操作配置以用户需求为输入,执行的一系列查询、触发、执行流程,自动生成记录软件包全生命周期过程的一一对应的描述文件来记录模块的构建过程的完整溯源信息,同时在本地共享存储中对应目录下初步部署软件包的可执行文件及模块环境。3.根据权利要求1所述的一种用于科学计算程序的全生命周期管理系统,其特征在于:所述的生产环境子系统包括一个到多个不同的操作系统环境的高性能计算集群环境,其上的操作配置用来将构建系统中生成的可执行文件和模块描述文件,部署在对应的生产系统的共享存储中,并进一步通过登录节点,提交任务到计算节点上进行测试;测试成功时实现该环境下的部署过程。4.根据权利要求2中的一种用于科学计算程序的全生命周期管理系统,其特征在于:所述的构建环境子系统中的持续集成服务器包含版本管理模块和调度模块,其中触发模块中支持多个不同操作系统的环境分支,每个分支中包含描述该分支环境的配置文件,触发模块根据需求选择对应的环境分支调度分发给执行步骤中的执行模块。5.根据权利要求4所述的一种用于科学计算程序的全生命周期管理系统,其特征在于:所述的构建环境子系统中自动生成的记录科学软件包全生命周期过程的描述文件是采用key
‑
value树状数据结构,以YAML或JSON文件形式存储,其每个key对应的value值是构建环境子系统中执行服务器上运行的一系列动态流程的结果;多个描述文件的集合通过版本管理系统进行管理,包含构建信息过程的描述文件仓库将决定一个高性能计算集群的软件堆栈环境。6.根据权利要求3所述的一种用于科学计算程序的全生命周期管理系统,其特征在于:所述生产环境子系统中的高性能集群环境可以是和构建环境子系统在统一网络空间内的某一个本地高性能集群,或是多个不同操作系统的异地高性能计算集群。7.一种用于科学计算程序的全生命周期管理方法,其特征在于,包括如下步骤:步骤1、查询步骤,执行查询服务器所提供的查询模块以查询科学程序是否存在;步骤2、触发步骤,其上包括版本管理模块和触发模块,根据查询结果触发调度适合的环境分支;步骤3、构建执行步骤:其上包括多个执行器,每个执行器是本地的物理节点,或是虚拟封装的容器,执行器上运行执行模块,其中执行模块能够执行一串事先定义的“管道式”构建执行过程;这种“管道式”过程的实现被封装在一套模块化的工具集中;步骤4、结果分发步骤,其上包括分发模块,将上述构建结果分发到对应的生产环境中;步骤5、测试部署步骤:其上包含测试模块和部署模块,将临时分发的结果在对应的生产环境中进行测试并完成最终的部署。8.根据权利要求7所述的一种用于科学计算程序的全生命周期管理方法,其特征在于,
步骤3所述的构建执行步骤中执行的“管道式”过程,包含以下几个阶段:初始化阶段:根据查询模块阶段的科学程序的信息,进一步提炼科学程序的具体名称、版本、所支持的基础环境的工具链信息;检查程序模块阶段:根据初始化阶段提炼的具体科学程序的版本信息和工具链,查看本地堆栈环境中是否存在该科学程序;解析配置阶段...
【专利技术属性】
技术研发人员:刘晓娟,于治,万晨光,
申请(专利权)人:中国科学院合肥物质科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。