CN113791794A - 面向超算应用的算例自动部署方法及系统 - Google Patents

面向超算应用的算例自动部署方法及系统 Download PDF

Info

Publication number
CN113791794A
CN113791794A CN202111068793.7A CN202111068793A CN113791794A CN 113791794 A CN113791794 A CN 113791794A CN 202111068793 A CN202111068793 A CN 202111068793A CN 113791794 A CN113791794 A CN 113791794A
Authority
CN
China
Prior art keywords
user
application software
supercomputing
application
loading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111068793.7A
Other languages
English (en)
Other versions
CN113791794B (zh
Inventor
于策
刘腾萧
康波
聂鹏飞
郑刚
肖健
汤善江
毕重科
孙超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Supercomputer Center In Tianjin
Tianjin University
Original Assignee
National Supercomputer Center In Tianjin
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Supercomputer Center In Tianjin, Tianjin University filed Critical National Supercomputer Center In Tianjin
Priority to CN202111068793.7A priority Critical patent/CN113791794B/zh
Publication of CN113791794A publication Critical patent/CN113791794A/zh
Application granted granted Critical
Publication of CN113791794B publication Critical patent/CN113791794B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及高性能计算领域,特别涉及一种面向超算应用的算例自动部署方法及系统。该算例自动部署方法包括:为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版;为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版;根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。本申请可以由超算系统自动完成应用算例的部署,可极大的减少用户操作流程和操作时间,加快算例部署速度和作业提交速度。

Description

面向超算应用的算例自动部署方法及系统
技术领域
本申请涉及高性能计算领域,特别涉及一种面向超算应用的算例自动部署方法及自动部署系统。
背景技术
超级计算机是当前科研领域的一个日趋常用的计算工具,在物理、化学、气候、海洋等基础领域中,超级计算机都是必不可少的计算工具。相应的,在超算系统中都配有多领域的通用应用软件,超算系统为这些应用软件提供了庞大的算力,为科研工作节约了时间,提升了效率。应用算例是上述应用软件的对应计算文件,在提交超算计算任务之前,用户需要将算例文件提交超算系统,并设置软件运行环境和系统计算资源。
提交计算任务,需要用户手动操作超算系统,需要加载所需应用软件,配置运行环境,上传算例文件,申请计算资源,提交计算作业,整个过程都要人工在超算系统下的命令行窗口中完成,尤其对于缺乏计算机基础的用户来说,命令行操作远比图形界面操作更加复杂,易出错,入门难度较大。
发明内容
基于以上问题,本申请提供了一种面向超算应用的算例自动部署方法及系统,可以由超算系统自动对应应用软件,实现应用算例的自动配置与部署,减少用户操作步骤和操作时间,提高部署效率和用户体验。
一种面向超算应用的算例自动部署方法,所述方法包括:
为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
优选的,所述算例文件的部署工作包括如下步骤:
获取一个唯一编号作为算例文件的代码;
以所述编号为目录名,生成特定目录结构,将所述算例文件保存到所述特定目录结构的指定位置;
根据用户选择和配置的相关参数,选择对应的应用软件配置文件,将所述应用软件配置文件中的信息自动转化为应用加载脚本,并保存到所述特定目录结构的指定位置;所述应用加载脚本,在超算系统登陆节点加载该应用软件;
根据用户选择和配置的相关参数以及用户权限,将合适的计算资源模板保存至所述特定目录结构的指定位置。
优选的,所述生成提交作业脚本包括如下步骤:
用户根据预定义的计算资源模板选择和配置相关参数,触发提交作业操作,超算系统自动检索数据库信息,将算例信息汇总,生成作业提交脚本,并保存至所述算例文件特定目录结构的指定位置;提交作业触发器执行应用加载脚本和作业提交脚本实现超算系统作业提交。
优选的,当超算系统中不存在用户需要的应用软件时,提供用户手动编译安装应用软件的权限。
优选的,所述应用软件配置模版设置有应用软件配置文件,所述应用软件配置文件设置有不同的加载参数,所述加载参数至少包括:依赖环境加载命令,应用软件的加载命令,应用软件运行的执行命令;其中,依赖环境加载命令设置编译器加载命令、并行库加载命令、数学库加载命令;应用软件的加载命令用于在所需依赖环境加载命令全部加载完成后用来加载软件的命令;应用软件运行的执行命令包括但不限于:软件的执行指令、输入输出文件设置信息。
优选的,每款应用软件可对应多个不同版本的应用软件配置模版,根据超算系统中已有应用软件及不同版本分别配置应用软件配置模版。每款应用软件都需要不同的配置参数,需进行配置测试,确保生成的应用软件配置模版能够正确加载应用软件。
优选的,所述计算资源模版设置有不同的资源参数,所述资源参数至少包括:可用最大节点数,可用最大cpu核数,可用计算分区;所述超算系统提供一份公用计算资源模版,所述公用计算资源模版为超算系统可用最大计算资源,所述公用计算资源模版可根据用户权限或者系统状态替换为其他计算资源模版。
优选的,在用户权限或软件要求不同的情况下,可配置额外的可用计算资源模版,但额外的可用计算资源模版的资源数不应多于超算系统可用计算资源模版的资源数。
优选的,所述记录和管理超算系统的各种算例信息主要包括:
每一个用户所拥有的算例信息、计算资源、作业提交情况;
超算系统所拥有的算例信息、可用应用软件情况、可用计算资源情况、已部署算例信息和作业执行信息,其中,所述可用应用软件情况、可用计算资源情况、已部署算例信息和作业执行信息于超算系统前端展示给用户;
超算系统提交作业的状态情况,确定超算系统计算资源的使用情况。
其中,所述算例信息包括:
算例特定目录结构:根据算例对应的唯一编号查找目录位置;
应用可执行命令:应用软件的启动命令;
算例的输入文件:计算任务开始的入口文件,将该算例文件输入到应用中,计算将自动进行;
用户设置的计算资源参数:触发提交作业操作前,用户根据计算资源模板设置计算资源;
其中,所述算例特定目录结构包括:算例文件存储目录、应用加载脚本目录、作业执行目录、计算资源目录、作业提交脚本目录;其中,所述作业提交脚本目录在提交作业时生成。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现以下步骤:
为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
本申请通过为超算系统的每款应用软件预定义加载参数和可用计算资源,生成各种应用软件配置模版和计算资源模板,根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作,减少了用户构建软件运行环境的操作。因此,极大的减少用户操作流程、操作时间和操作难度,加快了算例部署速度和作业提交速度。
附图说明
图1为一个实施例中面向超算应用的算例自动方法的流程图;
图2为一个算例自动部署完成后的特定目录结构;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种面向超算应用的算例自动部署方法,包括如下步骤:
步骤102,为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
步骤104,为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
步骤106,根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
步骤108,根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
在该技术方案中,步骤102,为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数。在超算环境中,每款应用软件可对应多个不同版本的应用软件配置模版,根据超算系统中已有应用软件及不同版本分别配置应用软件配置模版。每款应用软件都需要不同的配置参数,需进行配置测试,确保生成的应用软件配置模版能够正确加载应用软件。
应用软件配置模版设置有应用软件配置文件,所述应用软件配置文件设置有不同的加载参数,所述加载参数至少包括:依赖环境加载命令,应用软件的加载命令,应用软件运行的执行命令;其中,依赖环境加载命令设置编译器加载命令、并行库加载命令、数学库加载命令;应用软件的加载命令用于在所需依赖环境加载命令全部加载完成后用来加载软件的命令;应用软件运行的执行命令包括但不限于:软件的执行指令、输入输出文件设置信息。
在不同的超算系统中,所使用的应用加载工具是不同的,加载方式应以系统不同而调整。
以分子动力学软件NAMD为例,NAMD应用软件的依赖库应包括:GCC编译器,MPI并行库,fftw和tcl数学库;应用软件的加载命令则为NAMD的加载命令;应用软件的的执行命令:namd2。以上配置即为NAMD软件的加载方式,对于任一应用软件都应事先进行测试,设定好上述对应配置。在算例部署时,直接自动获取对应的配置参数,完成自动部署,不再需要人工加载。
在该技术方案中,步骤104,为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
计算资源模版设置有不同的资源参数,所述资源参数至少包括:可用最大节点数,可用最大cpu核数,可用计算分区;所述超算系统提供一份公用计算资源模版,所述公用计算资源模版为超算系统可用最大计算资源,所述公用计算资源模版可根据用户权限或者系统状态替换为其他计算资源模版。
该步骤中,应至少提供一份系统可用计算资源模板,该模板受限于超算系统所有的计算节点数量和型号,每个计算分区都对应一定数量的计算节点,在该模板中,可将计算节点数设定为计算分区中的最大计算节点数,但由于计算任务数量大且存在节点损坏或分配的情况,一般设定的计算节点数应低于最大节点数。根据计算节点型号的不同,每个计算节点中的cpu核数也不同,当前常见的超算系统中,单个计算节点一般包含12/28/32/64个cpu,具体数值应参考所用超算系统。
该步骤中,还可根据用户的超算系统权限或者软件的不同,设置额外的计算资源模板,为用户提供定制化策略。比如当前各大超算中心为用户提供的测试账号,通常只有单个计算分区和100左右的cpu核资源,则计算资源模板可设置为固定计算分区,cpu核数为100,计算节点数与cpu核数相对应。此外,还可根据系统负载情况,计算作业排队情况,空闲节点情况动态调整计算资源模板,此处不做多余赘述。
在该技术方案中,步骤106根据步骤102中预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作,并生成计算作业的提交程序。
所述算例文件的部署工作包括如下步骤:
获取一个唯一编号作为算例文件的代码;
以所述编号为目录名,生成特定目录结构,将所述算例文件保存到所述特定目录结构的指定位置;
根据用户选择和配置的相关参数,选择对应的应用软件配置文件,将所述应用软件配置文件中的信息自动转化为应用加载脚本,并保存到所述特定目录结构的指定位置;所述应用加载脚本,在超算系统登陆节点加载该应用软件;
根据用户选择和配置的相关参数以及用户权限,将合适的计算资源模板保存至所述特定目录结构的指定位置。
此步骤中,用户需指定应用软件,根据选定的应用软件,获取预设应用软件配置,将配置整合成软件自动加载脚本,该脚本可实现应用软件的自动加载。由于每款应用软件都对应一套配置模板,当用户选定要自动部署某个应用软件的算例时,便已经确定了如何生成自动加载脚本,整个过程完全自动化,大大减少了用户构建软件执运行环境的操作。
在获取到算例文件后,应将算例文件和软件加载脚本保存至特定目录结构,将系统计算资源模板或者用户可用的计算资源模板也存入该目录下,在提交作业时使用。
在该步骤中,还应生成计算作业的提交程序,该提交程序可以自动执行软件加载脚本,并且整合应用软件的执行命令、算例输入文件、作业调度指令自动生成作业提交命令,以NAMD软件官方算例sphere为例,作业提交命令可为以下形式:
yhrun -N {0} -n {1} -p {2} namd2 ubq_ws_eq.conf
其中,yhrun为slurm作业调度系统中作业提交执指令,-N指定计算节点数,-n指定计算cpu核数,-p指定计算分区,括号内的参数由用户根据计算资源模板动态提供,namd2为NAMD软件的执行命令,ubq_ws_eq.conf为sphere算例的输入文件。执行以上命令则可将计算任务提交到超算系统。
在该技术方案中,步骤108,根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
记录和管理超算系统的各种算例信息主要包括:
每一个用户所拥有的算例信息、计算资源、作业提交情况;
超算系统所拥有的算例信息、可用应用软件情况、可用计算资源情况、已部署算例信息和作业执行信息,其中,所述可用应用软件情况、可用计算资源情况、已部署算例信息和作业执行信息于超算系统前端展示给用户;
超算系统提交作业的状态情况,确定超算系统计算资源的使用情况。
其中,所述算例信息包括:
算例特定目录结构:根据算例对应的唯一编号查找目录位置;
应用可执行命令:应用软件的启动命令;
算例的输入文件:计算任务开始的入口文件,将该算例文件输入到应用中,计算将自动进行;
用户设置的计算资源参数:触发提交作业操作前,用户根据计算资源模板设置计算资源;
其中,所述算例特定目录结构包括:算例文件存储目录、应用加载脚本目录、作业执行目录、计算资源目录、作业提交脚本目录;其中,所述作业提交脚本目录在提交作业时生成。
在该步骤中,用户根据预定义的计算资源模板选择和配置相关参数,触发提交作业操作,超算系统自动检索数据库信息,将算例信息汇总,生成作业提交脚本,并保存至所述算例文件特定目录结构的指定位置;提交作业触发器执行应用加载脚本和作业提交脚本实现超算系统作业提交。
在该步骤中,需要将计算资源模板可视化,提供给用户进行选择。将用户指定计算资源作为参数,传入上述计算作业的提交程序,形成完整的自动提交作业脚本。
结合上述软件加载脚本和自动提交作业脚本,只需用户每次指定计算资源,就能完成软件环境加载,算例自动部署,作业提交一套流程,大大降低了用户的操作难度,提高了部署效率。
在该技术方案中,所述步骤102和步骤104为算例自动部署的前置条件,其中环境参数和资源参数可为json格式的文件。环境参数文件需要开发人员手动编写,事先对每款应用软件进行加载测试,获取其实际需要的依赖库和加载方式,记录在json文件中,方便生成软件自动加载脚本。资源参数文件可根据超算系统类型或者用户权限自动生成,但无论根据哪种策略生成,单个算例只能对应单个资源参数文件,该文件可以被更换。
应该理解的是,虽然图1必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是并行,允许至少一部分步骤或者阶段并行执行。
图2示出了一个算例自动部署完成后的特定目录结构。
如图2所示,该特定目录结构主要内容在算例自动部署的过程中创建并补充,具体作用如下:
appID目录:主目录,appID是该算例的唯一编号,并作为目录结构的主目录名;
input目录:用于保存用户上传的原始算例文件,该目录内容不许变更,计算任务不可在该目录下进行,以保证算例输入文件初始性;
software目录:在超算环境不存在用户需要的应用软件时,可视情况给予用户在该目录下编译安装软件的权限,允许用户使用自己的应用软件;
resource目录:用于保存计算资源模板,该模板可在前端进行可视化供用户选择;
template目录:用户保存应用软件自动加载脚本;
task目录:包括job1,job2……,用于提交作业,每次提交作业都会在该目录下生成一个作业目录,将上述各目录内容整合,形成作业环境并提交作业。
在该面向超算系统应用的算例自动部署方法中,每个算例都对应一个上述的目录结构,各目录功能相互独立又联系为一个整体,具体的算例自动部署流程如下:
(1)用户上传算例,并选择所用的应用软件;
(2)接收算例文件,记录算例信息,并获取算例唯一编号;
(3)根据算例编号生成如图3所示的目录结构,并将算例文件保存在input目录下;
(4)根据上述用户所选应用软件,查找对应应用配置,生成软件加载脚本,脚本存于template目录下;若系统中没有对应软件,允许用户在software目录下编译安装软件,此情况需要谨慎放权;
(5)根据用户权限和系统状态,获取可用计算资源模板,此模板可在前端可视化展示,用户在提交作业时可进行配置;
(6)提交作业,此时在task目录下创建子目录,将input目录下的输入文件,软件加载脚本均复制到该子目录,根据resource目录中用户所选配置、软件执行命令,算例输入文件和软件加载脚本,生成作业提交脚本并记录相关信息;
(7)执行作业提交脚本,在上述步骤(6)中,每次提交作业都应构建一个作业子目录,不可在已存在的目录中提交新作业,以保证历史作业的完整记录。
在上述技术方案中,每个步骤中生成的各种信息都被记录和管理,用于记录当前超算系统的软件和算例信息,同时还应保存超算系统的历史记录。
上述方法中,通过为超算系统的每款应用软件预定义加载参数和可用计算资源模板,生成各种应用软件配置模版和计算资源模板,根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作,减少了用户构建软件运行环境的操作。因此,极大的减少用户操作流程、操作时间和操作难度,加快了算例部署速度和作业提交速度。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储面向超算系统的算例自动部署数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种面向超算系统的算例自动部署方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
以上结合说明书附图详细描述了本发明的技术方案,本发明提供了一种面向超算系统应用的算例自动部署系统和方法,可以在超算环境下实现算例的自动化部署,简化了用户操作,降低了操作难度技术栈要求,提高部署效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。不同实施例中的技术特征体现在同一附图中时,可视为该附图也同时披露了所涉及的各个实施例的组合例。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种面向超算应用的算例自动部署方法,其特征在于,包括如下步骤:
为超算系统的每款应用软件预定义加载参数,生成各种应用软件配置模版,允许用户选择和配置相关参数;
为超算系统及其每款应用软件预定义可用计算资源参数,生成各种计算资源模版,允许用户选择和配置相关参数;
根据预定义的各种应用软件配置模版以及用户选择和配置的相关参数,接收用户上传的算例文件,自动完成算例文件的部署工作;
根据预定义的各种计算资源配置模版以及用户选择和配置的相关参数,记录管理超算系统的各种算例信息,生成提交作业脚本。
2.根据权利要求1所述的面向超算应用的算例自动部署方法,其特征在于,所述算例文件的部署工作包括如下步骤:
获取一个唯一编号作为算例文件的代码;
以所述编号为目录名,生成特定目录结构,将所述算例文件保存到所述特定目录结构的指定位置;
根据用户选择和配置的相关参数,选择对应的应用软件配置文件,将所述应用软件配置文件中的信息自动转化为应用加载脚本,并保存到所述特定目录结构的指定位置;所述应用加载脚本,在超算系统登陆节点加载该应用软件;
根据用户选择和配置的相关参数以及用户权限,将合适的计算资源模板保存至所述特定目录结构的指定位置。
3.根据权利要求1所述的面向超算应用的算例自动部署方法,其特征在于,所述生成提交作业脚本包括如下步骤:
用户根据预定义的计算资源模板选择和配置相关参数,触发提交作业操作,超算系统自动检索数据库信息,将算例信息汇总,生成作业提交脚本,并保存至所述算例文件特定目录结构的指定位置;提交作业触发器执行应用加载脚本和作业提交脚本实现超算系统作业提交。
4.根据权利要求1所述的面向超算应用的算例自动部署方法,其特征在于,当超算系统中不存在用户需要的应用软件时,提供用户手动编译安装应用软件的权限。
5.根据权利要求1所述的面向超算应用的算例自动部署方法,其特征在于,所述应用软件配置模版设置有应用软件配置文件,所述应用软件配置文件设置有不同的加载参数,所述加载参数至少包括:依赖环境加载命令,应用软件的加载命令,应用软件运行的执行命令;其中,依赖环境加载命令设置编译器加载命令、并行库加载命令、数学库加载命令;应用软件的加载命令用于在所需依赖环境加载命令全部加载完成后用来加载软件的命令;应用软件运行的执行命令包括但不限于:软件的执行指令、输入输出文件设置信息。
6.根据权利要求1所述的面向超算应用的算例自动部署方法,其特征在于,所述计算资源模版设置有不同的资源参数,所述资源参数至少包括:可用最大节点数,可用最大cpu核数,可用计算分区;所述超算系统提供一份公用计算资源模版,所述公用计算资源模版为超算系统可用最大计算资源,所述公用计算资源模版可根据用户权限或者系统状态替换为其他计算资源模版。
7.根据权利要求1所述的面向超算应用的算例自动部署方法,其特征在于,
所述记录和管理超算系统的各种算例信息主要包括:
每一个用户所拥有的算例信息、计算资源、作业提交情况;
超算系统所拥有的算例信息、可用应用软件情况、可用计算资源情况、已部署算例信息和作业执行信息,其中,所述可用应用软件情况、可用计算资源情况、已部署算例信息和作业执行信息于超算系统前端展示给用户;
超算系统提交作业的状态情况,确定超算系统计算资源的使用情况;
其中,所述算例信息包括:
算例特定目录结构:根据算例对应的唯一编号查找目录位置;
应用可执行命令:应用软件的启动命令;
算例的输入文件:计算任务开始的入口文件,将该算例文件输入到应用中,计算将自动进行;
用户设置的计算资源参数:触发提交作业操作前,用户根据计算资源模板设置计算资源;
其中,所述算例特定目录结构包括:算例文件存储目录、应用加载脚本目录、作业执行目录、计算资源目录、作业提交脚本目录;其中,所述作业提交脚本目录在提交作业时生成。
8.一种计算机设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1~7任一项所述的面向超算应用的算例自动部署方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1~7任一项所述的面向超算应用的算例自动部署方法的步骤。
10.一种计算机程序产品,包括计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1~7任一项所述的面向超算应用的算例自动部署方法的步骤。
CN202111068793.7A 2021-09-13 2021-09-13 面向超算应用的算例自动部署方法及系统 Active CN113791794B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068793.7A CN113791794B (zh) 2021-09-13 2021-09-13 面向超算应用的算例自动部署方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068793.7A CN113791794B (zh) 2021-09-13 2021-09-13 面向超算应用的算例自动部署方法及系统

Publications (2)

Publication Number Publication Date
CN113791794A true CN113791794A (zh) 2021-12-14
CN113791794B CN113791794B (zh) 2023-09-12

Family

ID=78880045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068793.7A Active CN113791794B (zh) 2021-09-13 2021-09-13 面向超算应用的算例自动部署方法及系统

Country Status (1)

Country Link
CN (1) CN113791794B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202850A (zh) * 2022-09-09 2022-10-18 国家超级计算天津中心 作业调度方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN105447643A (zh) * 2015-11-30 2016-03-30 北京航空航天大学 一种面向云计算平台的科学工作流系统及方法
CN107959579A (zh) * 2016-10-14 2018-04-24 北京京东尚科信息技术有限公司 多系统的部署方法和部署系统
US20200201682A1 (en) * 2018-12-21 2020-06-25 Target Brands, Inc. Methods and systems for rapid deployment of configurable computing resources
CN112416565A (zh) * 2019-08-20 2021-02-26 中国科学院计算机网络信息中心 基于国家高性能计算环境的中小企业计算社区系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404381A (zh) * 2011-09-02 2012-04-04 西安交通大学 一种云计算环境下基于工作流的软件部署系统及部署方法
CN105447643A (zh) * 2015-11-30 2016-03-30 北京航空航天大学 一种面向云计算平台的科学工作流系统及方法
CN107959579A (zh) * 2016-10-14 2018-04-24 北京京东尚科信息技术有限公司 多系统的部署方法和部署系统
US20200201682A1 (en) * 2018-12-21 2020-06-25 Target Brands, Inc. Methods and systems for rapid deployment of configurable computing resources
CN112416565A (zh) * 2019-08-20 2021-02-26 中国科学院计算机网络信息中心 基于国家高性能计算环境的中小企业计算社区系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戴荣;孙国忠;吕灼恒;秦晓宁;: "面向E级计算超融合软件框架的设计与实现", 计算机仿真, no. 07, pages 240 - 244 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115202850A (zh) * 2022-09-09 2022-10-18 国家超级计算天津中心 作业调度方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN113791794B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN108229686B (zh) 模型训练、预测方法、装置、电子设备及机器学习平台
CN108304201B (zh) 对象更新方法、装置及设备
US20130086130A1 (en) Executor for software configuration automation
CN112764902B (zh) 任务调度方法及系统
CN115237428A (zh) Ai应用部署方法及相关平台、集群、介质、程序产品
CN113791794A (zh) 面向超算应用的算例自动部署方法及系统
CN115185496A (zh) 一种基于Flowable工作流引擎的业务编排方法
CN112650487A (zh) 混合应用程序开发方法、系统、计算机设备和存储介质
CN114764296A (zh) 机器学习模型训练方法、装置、电子设备及存储介质
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN115632944B (zh) 一种节点配置方法、装置、设备、可读存储介质及服务器
US11301246B2 (en) Automatically generating continuous integration pipelines
CN113254158B (zh) 一种深度学习系统的部署方法和装置
CN110928672B (zh) 一种任务编排方法、装置、设备及存储介质
CN114564385A (zh) 软件测试方法、装置、计算机设备和存储介质
CN114047953A (zh) 流水线配置方法、装置、计算机设备及存储介质
CN113687927A (zh) Flume任务调度配置方法、装置、设备及存储介质
CN112685051A (zh) 自动执行shell脚本的方法、装置、平台及存储介质
CN111858234A (zh) 一种任务执行方法、装置、设备、介质
US20100115255A1 (en) System and Method of Dynamically Building a Behavior Model on a Hardware System
Deshpande et al. Test Automation and Continuous Integration using Jenkins for Smart Card OS
CN115242871B (zh) 业务网关的服务方法及装置、存储介质及电子设备
CN116185425B (zh) 基于节点组合的事件流程编排方法、装置、设备及介质
CN114168198B (zh) 线上处理流程调整方法、系统及配置中心、服务端
CN113595792B (zh) 目标任务链路的生成方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant