CN115794355B - 任务处理方法、装置、终端设备及存储介质 - Google Patents

任务处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN115794355B
CN115794355B CN202310043418.XA CN202310043418A CN115794355B CN 115794355 B CN115794355 B CN 115794355B CN 202310043418 A CN202310043418 A CN 202310043418A CN 115794355 B CN115794355 B CN 115794355B
Authority
CN
China
Prior art keywords
job
task
identifier
instruction
command
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.)
Active
Application number
CN202310043418.XA
Other languages
English (en)
Other versions
CN115794355A (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.)
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Original Assignee
Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
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 Computational Aerodynamics Institute of China Aerodynamics Research and Development Center filed Critical Computational Aerodynamics Institute of China Aerodynamics Research and Development Center
Priority to CN202310043418.XA priority Critical patent/CN115794355B/zh
Publication of CN115794355A publication Critical patent/CN115794355A/zh
Application granted granted Critical
Publication of CN115794355B publication Critical patent/CN115794355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

任务处理方法、装置、终端设备及存储介质
技术领域
本申请属于计算机技术领域,尤其涉及一种任务处理方法、装置、终端设备及存储介质。
背景技术
数值计算往往需要依托高性能计算机集群进行仿真任务计算,在计算机上进行一次完整的数值计算任务一般称为作业,高性能计算机计算资源有限,面对同时多个提交的计算机作业,需要由调度系统根据调度算法进行任务处理。不同的计算机集群可能会采用不同任务处理系统,任务处理系统包括LSF(Load Sharing Facility,分布式集群管理系统软件)、SGE(Sun Grid,engine, 分布式资源管理和调度系统)、Slurm(Simple LinuxUtility for Resource Management)、PBS(PortableBatch System,调度器),各种调度系统又拥有不同的调度管理命令和方式,这种差异性对于数值模拟软件的部署造成了极大的困难。因此,如何找到一个通用的作业适配方式,将不同数值计算软件适配到不同高性能计算平台是一个亟待解决的问题。
现有的技术解决方案一般是各个软件根据自己的任务处理需求,结合当前部署环境定制化编译成适配不同硬件平台的版本,进而完成部署。这种方式缺点是通用性差,给数值模拟软件编码人员带来了极大的工作量。
但是,数值模拟计算和高性能计算任务处理有许多共性业务逻辑,比如作业提交或取消、作业资源申请、作业状态查询等等,如何能够适配不同的环境进行数值计算,是目前急需解决的问题。
发明内容
本申请意在提供一种任务处理方法、装置、终端设备和存储介质,以解决现有技术中存在的不足,本申请要解决的技术问题通过以下技术方案来实现。
第一个方面,本申请实施例提供一种任务处理方法,所述方法包括:
响应于用户的操作指令,获取所述操作信息,其中,所述操作信息至少包括任务操作标识和与所述任务操作标识对应的任务操作参数;
根据所述操作信息,分别进行资源适配和环境适配处理,生成与所述操作信息对应的操作命令;
根据所述操作命令,确定与所述命令对应的执行脚本文件,并执行所述执行脚本文件。
可选地,所述操作指令至少包括作业提交指令、作业查询指令和作业终止指令,所述响应于用户的操作指令,获取所述操作信息,包括:
响应于用户输入的作业提交指令,对所述作业提交指令进行解析,得到作业提交标识以及与所述作业提交标识对应的任务操作参数,所述与所述作业提交标识对应的任务操作参数至少包括资源计算机位置、所需CPU核数、作业路径和调度参数,其中,所述调度参数至少包括执行程序路径、任务队列和优先级中的一种或多种;
响应于用户输入的作业查询指令,对所述作业查询指令进行解析,得到作业查询标识以及与所述作业查询标识对应的任务操作参数,所述与所述作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;
响应于用户输入的作业终止指令,对所述作业终止指令进行解析,得到作业终止标识以及与所述作业终止标识对应的任务操作参数,所述与所述作业终止标识对应的任务操作参数包括作业编号。
可选地,所述根据所述操作信息,分别进行资源适配和环境适配处理,生成与所述操作信息对应的操作命令,包括:
对所述资源计算机位置进行判断;
若所述资源计算机位置为本机,则对所需CPU核数进行判断;
若所述所述CPU核数满足预设条件的情况下,获取平台环境中的并行处理程序,并设置命令执行时的作业路径;
根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令。
可选地,所述方法还包括:
根据所述资源计算机位置,确定目标调度系统类型;
根据与所述调度系统类型对应的脚本生成规则,确定与所述目标调度系统类型对应的脚本文件;所述脚本文件是根据不同的操作指令封装生成的。
可选地,所述根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令,包括:
根据所述并行处理程序、所述作业路径和所述与所述目标调度系统类型对应的脚本文件,生成与所述操作信息对应的操作命令。
可选地,所述脚本文件是根据不同的操作指令封装生成的,包括:
对于作业提交操作,根据所述资源计算机位置和所述所需CPU核数生成提交脚本文件,所述提交脚本文件至少包括多个调度参数,所述调度参数包括资源配置文件路径、任务队列和优先级;
对于作业查询操作,根据所述作业编号、作业路径和资源计算机位置,生成查询脚本文件;
对于作业终止操作,根据所述作业编号,生成终止脚本文件。
可选地,所述根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令,包括:
对于作业提交操作,根据数值计算执行程序路径,生成作业提交命令并发起作业,作业提交成功后获得作业编号,所述作业标号用于作为作业查询和作业终止的输入参数,所述作业提交命令至少包括:脚本命令、并行处理程序、计算核数、作业路径和数值计算执行程序;
对于作业查询操作,根据与所述作业查询标识对应的任务操作参数执行对应的作业查询指令;
对于作业终止操作,根据与所述作业终止标识对应的任务操作参数,执行对应的作业终止指令。
第二个方面,本申请实施例提供一种任务处理装置,所述装置包括:
获取模块,用于响应于用户的操作指令,获取所述操作信息,其中,所述操作信息至少包括任务操作标识和与所述任务操作标识对应的任务操作参数;
适配模块,用于根据所述操作信息,分别进行资源适配和环境适配处理,生成与所述操作信息对应的操作命令;
执行模块,用于根据所述操作命令,确定与所述命令对应的执行脚本文件,并执行所述执行脚本文件。
可选地,所述操作指令至少包括作业提交指令、作业查询指令和作业终止指令,所述获取模块用于:
响应于用户输入的作业提交指令,对所述作业提交指令进行解析,得到作业提交标识以及与所述作业提交标识对应的任务操作参数,所述与所述作业提交标识对应的任务操作参数至少包括资源计算机位置、所需CPU核数、作业路径和调度参数,其中,所述调度参数至少包括执行程序路径、任务队列和优先级中的一种或多种;
响应于用户输入的作业查询指令,对所述作业查询指令进行解析,得到作业查询标识以及与所述作业查询标识对应的任务操作参数,所述与所述作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;
响应于用户输入的作业终止指令,对所述作业终止指令进行解析,得到作业终止标识以及与所述作业终止标识对应的任务操作参数,所述与所述作业终止标识对应的任务操作参数包括作业编号。
可选地,所述适配模块用于:
对所述资源计算机位置进行判断;
若所述资源计算机位置为本机,则对所需CPU核数进行判断;
若所述所述CPU核数满足预设条件的情况下,获取平台环境中的并行处理程序,并设置命令执行时的作业路径;
根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令。
可选地,所述适配模块用于:
根据所述资源计算机位置,确定目标调度系统类型;
根据与所述调度系统类型对应的脚本生成规则,确定与所述目标调度系统类型对应的脚本文件;所述脚本文件是根据不同的操作指令封装生成的。
可选地,所述适配模块用于:
根据所述并行处理程序、所述作业路径和所述与所述目标调度系统类型对应的脚本文件,生成与所述操作信息对应的操作命令。
可选地,所述适配模块用于:
对于作业提交操作,根据所述资源计算机位置和所述所需CPU核数生成提交脚本文件,所述提交脚本文件至少包括多个调度参数,所述调度参数包括资源配置文件路径、任务队列和优先级;
对于作业查询操作,根据所述作业编号、作业路径和资源计算机位置,生成查询脚本文件;
对于作业终止操作,根据所述作业编号,生成终止脚本文件。
可选地,所述适配模块用于:
对于作业提交操作,根据数值计算执行程序路径,生成作业提交命令并发起作业,作业提交成功后获得作业编号,所述作业标号用于作为作业查询和作业终止的输入参数,所述作业提交命令至少包括:脚本命令、并行处理程序、计算核数、作业路径和数值计算执行程序;
对于作业查询操作,根据与所述作业查询标识对应的任务操作参数执行对应的作业查询指令;
对于作业终止操作,根据与所述作业终止标识对应的任务操作参数,执行对应的作业终止指令。
第三个方面,本申请实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的任务处理方法。
第四个方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的任务处理方法。
本申请实施例包括以下优点:
本申请实施例提供的任务处理方法、装置、终端设备和存储介质,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
附图说明
为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例中一种任务处理方法的流程图;
图2为本申请一实施例中任务处理系统的框架示意图;
图3为本申请一实施例中又一种任务处理方法的流程图;
图4为本申请一实施例中再一种任务处理方法的流程图;
图5是本申请的一种任务处理装置实施例的结构框图;
图6是本申请的一种终端设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请一实施例提供一种任务处理方法,用于对不同计算环境的数值计算进行作业调度。本实施例的执行主体为任务处理装置,设置在终端设备上,例如,终端设备至少包括计算机终端等。
参照图1,示出了本申请的一种任务处理方法实施例的步骤流程图,该方法具体可以包括如下步骤:
S101、响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;
具体地,终端设备与调度系统的服务器相连,多个终端设备与服务器构成计算机集群,调度系统可以是各种不同类型的调度系统,例如,LSF(Load Sharing Facility,分布式集群管理系统软件)、SGE(Sun Grid, engine,分布式资源管理和调度系统)、Slurm(Simple Linux Utility for Resource Management)、PBS(PortableBatch System,调度器);终端设备在执行数值计算时,需要与服务器的调度系统进行匹配,这样,若终端设备上执行的作业任务太多时,服务器上的调度系统可以根据需要进行调度,为了使终端设备可以适配各种不同的调度系统,本申请实施例提供一种任务处理方法,在终端设备上安装一任务处理模块,该任务处理模块作为数值计算软件的一个通用适配模块,充当沟通软件与平台、软件与调度系统的中间件。
终端设备获取用户的操作指令,该操作指令至少包括作业提交指令、作业查询指令或作业停止指令,并对该操作指令进行解析,得到操作指令中的操作信息,操作信息至少包括任务操作标识和与所述任务操作标识对应的任务操作参数,任务操作标识至少包括作业提交标识、作业查询标识和作业停止标识,对于不同的任务操作标识,设置有对应的任务操作参数,例如,若是作业提交标识,则与作业提交标识对应的任务操作参数为资源计算机位置、计算所需CPU核数、作业路径和其他可选参数,其中,其他可选参数至少包括执行程序路径、任务队列、优先级等调度参数。若是作业查询标识,则与作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;若是作业停止标识,则与作业停止标识对应的任务操作操作包括作业编号。
S102、根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;
具体地,终端设备根据任务操作标识和与所述任务操作标识对应的任务操作参数,进行资源适配处理,例如是需要本机进行任务处理,还是需要其他终端设备进行处理,若是本机终端设备执行任务,可以根据本机的计算环境进行适配处理,生成与本机计算环境对应的操作指令。
S103、根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件。
具体地,终端设备根据操作命令,查找与该操作命令对应的执行脚本文件,即对应的程序文件,并执行该程序文件,这样,结合终端设备的计算环境与用户的输入参数,并进行资源适配和环境适配互相协调,同时,还可以根据需要生成调度脚本来保证最大程度的适配多种平台和作业调度系统。因此,相比传统技术方案,本申请实施例极大地提高了数值计算软件的通用性,节约了人力成本。
本申请实施例提供的任务处理方法,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
本申请又一实施例对上述实施例提供的任务处理方法做进一步补充说明。
可选地,操作指令至少包括作业提交指令、作业查询指令和作业终止指令,响应于用户的操作指令,获取操作信息,包括:
响应于用户输入的作业提交指令,对作业提交指令进行解析,得到作业提交标识以及与作业提交标识对应的任务操作参数,与作业提交标识对应的任务操作参数至少包括资源计算机位置、所需CPU核数、作业路径和调度参数,其中,调度参数至少包括执行程序路径、任务队列和优先级中的一种或多种;
响应于用户输入的作业查询指令,对作业查询指令进行解析,得到作业查询标识以及与作业查询标识对应的任务操作参数,与作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;
响应于用户输入的作业终止指令,对作业终止指令进行解析,得到作业终止标识以及与作业终止标识对应的任务操作参数,与作业终止标识对应的任务操作参数包括作业编号。
可选地,根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令,包括:
对资源计算机位置进行判断;
若资源计算机位置为本机,则对所需CPU核数进行判断;
若CPU核数满足预设条件的情况下,获取平台环境中的并行处理程序,并设置命令执行时的作业路径;
根据并行处理程序和作业路径,生成与操作信息对应的操作命令。
可选地,该方法还包括:
根据资源计算机位置,确定目标调度系统类型;
根据与调度系统类型对应的脚本生成规则,确定与目标调度系统类型对应的脚本文件;脚本文件是根据不同的操作指令封装生成的。
可选地,根据并行处理程序和作业路径,生成与操作信息对应的操作命令,包括:
根据并行处理程序、作业路径和与目标调度系统类型对应的脚本文件,生成与操作信息对应的操作命令。
可选地,脚本文件是根据不同的操作指令封装生成的,包括:
对于作业提交操作,根据资源计算机位置和所需CPU核数生成提交脚本文件,提交脚本文件至少包括多个调度参数,调度参数包括资源配置文件路径、任务队列和优先级;
对于作业查询操作,根据作业编号、作业路径和资源计算机位置,生成查询脚本文件;
对于作业终止操作,根据作业编号,生成终止脚本文件。
可选地,根据并行处理程序和作业路径,生成与操作信息对应的操作命令,包括:
对于作业提交操作,根据数值计算执行程序路径,生成作业提交命令并发起作业,作业提交成功后获得作业编号,作业标号用于作为作业查询和作业终止的输入参数,作业提交命令至少包括:脚本命令、并行处理程序、计算核数、作业路径和数值计算执行程序;
对于作业查询操作,根据与作业查询标识对应的任务操作参数执行对应的作业查询指令;
对于作业终止操作,根据与作业终止标识对应的任务操作参数,执行对应的作业终止指令。
图2为本申请一实施例中任务处理系统的框架示意图,如图2所示,该任务处理系统包括解析器、适配器、翻译器三个相互协作的模块,解析器将获取的用户操作指令解析为对应操作码和一系列计算参数供适配器使用,适配器分析各种计算参数,经过资源适配和环境适配,确定启动程序,依据所处的平台生成操作命令,翻译器根据计算资源所使用调度系统类型生成对应控制脚本。
图3为本申请一实施例中又一种任务处理方法的流程图,详细的解析器、适配器、翻译器说明分步骤进行描述。
S301、解析器作为本装置的入口模块,定义了常用的多种用户操作,主要包括作业提交、作业查询、作业终止。各个操作的输入参数包括以下,
作业提交操作:资源计算机位置(可选,默认为本机)+计算所需CPU核数+作业路径+其他可选参数(执行程序路径、任务队列、优先级等调度参数);
作业查询操作:作业编号/作业路径/资源计算机位置;
作业终止操作:作业编号。
S302、解析器获取用户操作,生成数据表,数据表包含操作码(提交Submit/查询Query/终止Quit)和所有输入参数,操作码为后续处理提供操作判断,解析器结果输出给适配器。
S303、适配器得到数据表,首先进行资源适配,确定计算资源和调度系统。
S304、根据资源计算机位置,确定是否使用了调度系统以及使用何种调度系统,同时确认是否有足够资源支持计算任务,如果不足则询问等待或修改计算核数。对于部分集群可能存在运行程序的管理节点和进行计算的计算节点分离的情况,数值计算存在以下应用场景:a.管理节点本地直接发起计算,不使用调度系统;b.管理节点通过调度系统调度计算节点进行计算。若需要调度系统,则执行步骤S305;若不需要调度系统,则执行步骤S306;
S305、翻译器生成调度脚本;
翻译器模块用于生成系统调度系统的配置脚本,即一系列的命令集合,不同的调度系统的执行脚本格式有所不同,翻译器内部集成了各种调度系统的脚本生成规则,将自动根据计算环境选择,生成相应环境的执行脚本。对于作业提交操作,根据数据表中的资源计算机位置和计算核数生成资源配置文件,其脚本内容包括指定资源配置文件路径、任务队列、优先级等调度参数。对于作业查询和作业终止操作,根据传入参数(作业编号/作业路径/资源计算机位置),在脚本中封装原有调度系统命令。步骤S305执行完毕后给适配器传递脚本命令,执行步骤S306。
S306、环境设配,结合计算环境和脚本生成操作命令;
S307、执行该操作命令。
适配器进行环境适配操作,从平台环境中获取并行处理程序,设置命令执行时的工作路径。对于作业提交操作,将结合数值计算执行程序路径(如果有)生成执行命令并发起作业,作业提交成功后获得作业编号,以作为用户进行作业查询和终止的输入参数。执行命令格式为:(脚本命令)+并行处理程序 +计算核数+作业路径+数值计算执行程序。对于作业查询和作业终止操作,通过参数直接执行相关命令或脚本。至此,针对软件与平台和调度系统的适配流程结束。
针对现有的数值计算软件对计算环境适应困难,现有技术方案缺少灵活性和通用性的问题,本申请实施例通过结合计算环境与输入参数,以适配器中资源适配和环境适配互相协调,翻译器生成调度脚本来保证最大程度的适配多种平台和作业调度系统。因此,本申请相比传统技术方案,极大地提高了数值计算软件的通用性,节约了人力成本。
图4为本申请一实施例中再一种任务处理方法的流程图,本申请实施例以使用Slurm调度系统发起64核计算任务为例阐述具体实施过程,以下实施例只是描述性的,非限定性的,不能以此限定本申请的保护范围。数值计算软件与本任务处理装置部署于管理节点上,终端使用数值计算软件调用本装置作业提交接口,通过图形界面或命令方式提供参数资源计算机IP地址、计算所需CPU核数、作业路径、执行程序路径。解析器解析用户操作并生成数据表1如下。
表1
Figure SMS_1
适配器读取数据表,根据资源计算机位置确定计算环境为计算节点,调度系统为Slurm,计算节点剩余核数大于计算需要的核数,满足计算条件。
翻译器通过操作码确定为提交作业操作,根据资源计算机位置和核数生成资源分配文件,核心内容简单概括为7.31.14.1:32;7.31.14.2.32。同时生成Slurm提交作业脚本,脚本命令为“submit.sh”,其内部封装作业提交命令srun及默认调度参数。将脚本命令传递回适配器。
适配器执行环境适配操作,设置工作路径为/user/public/sample/Param/,从环境中获取并行处理程序mpirun,同时生成以下执行命令:
Figure SMS_2
作业发起成功后返回作业编号,作为作业查询和作业终止的输入参数,由此Slurm调度系统发起64核计算任务流程结束。
本任务处理装置采用的解析器、适配器和翻译器三级分离又紧密结合的技术架构。关键点在于适配器中资源适配和环境适配的筛选过程,其中资源适配确定了使用调度系统的类型和资源分配方式,环境适配结合并行处理程序和调度脚本生成执行命令,同时,提供翻译器与适配器协同配合,对具体的调度系统进行脚本生成,达到适配多种环境的目的。
本申请实施例提供了一种多环境适配的通用数值计算作业调度方法和装置,作为数值计算软件的一个通用适配模块,充当沟通软件与平台、软件与调度系统的中间件,并定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
本申请实施例提供的任务处理方法,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
本申请另一实施例提供一种任务处理装置,用于执行上述实施例提供的任务处理方法。
参照图5,示出了本申请的一种任务处理装置实施例的结构框图,该装置具体可以包括如下模块:获取模块501、适配模块502和执行模块503,其中:
获取模块501用于响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;
适配模块502用于根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;
执行模块503用于根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件。
本申请实施例提供的任务处理装置,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
本申请又一实施例对上述实施例提供的任务处理装置做进一步补充说明。
可选地,操作指令至少包括作业提交指令、作业查询指令和作业终止指令,获取模块用于:
响应于用户输入的作业提交指令,对作业提交指令进行解析,得到作业提交标识以及与作业提交标识对应的任务操作参数,与作业提交标识对应的任务操作参数至少包括资源计算机位置、所需CPU核数、作业路径和调度参数,其中,调度参数至少包括执行程序路径、任务队列和优先级中的一种或多种;
响应于用户输入的作业查询指令,对作业查询指令进行解析,得到作业查询标识以及与作业查询标识对应的任务操作参数,与作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;
响应于用户输入的作业终止指令,对作业终止指令进行解析,得到作业终止标识以及与作业终止标识对应的任务操作参数,与作业终止标识对应的任务操作参数包括作业编号。
可选地,适配模块用于:
对资源计算机位置进行判断;
若资源计算机位置为本机,则对所需CPU核数进行判断;
若CPU核数满足预设条件的情况下,获取平台环境中的并行处理程序,并设置命令执行时的作业路径;
根据并行处理程序和作业路径,生成与操作信息对应的操作命令。
可选地,适配模块用于:
根据资源计算机位置,确定目标调度系统类型;
根据与调度系统类型对应的脚本生成规则,确定与目标调度系统类型对应的脚本文件;脚本文件是根据不同的操作指令封装生成的。
可选地,适配模块用于:
根据并行处理程序、作业路径和与目标调度系统类型对应的脚本文件,生成与操作信息对应的操作命令。
可选地,适配模块用于:
对于作业提交操作,根据资源计算机位置和所需CPU核数生成提交脚本文件,提交脚本文件至少包括多个调度参数,调度参数包括资源配置文件路径、任务队列和优先级;
对于作业查询操作,根据作业编号、作业路径和资源计算机位置,生成查询脚本文件;
对于作业终止操作,根据作业编号,生成终止脚本文件。
可选地,适配模块用于:
对于作业提交操作,根据数值计算执行程序路径,生成作业提交命令并发起作业,作业提交成功后获得作业编号,作业标号用于作为作业查询和作业终止的输入参数,作业提交命令至少包括:脚本命令、并行处理程序、计算核数、作业路径和数值计算执行程序;
对于作业查询操作,根据与作业查询标识对应的任务操作参数执行对应的作业查询指令;
对于作业终止操作,根据与作业终止标识对应的任务操作参数,执行对应的作业终止指令。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的任务处理装置,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
本申请再一实施例提供一种终端设备,用于执行上述实施例提供的任务处理方法。
图6是本申请的一种终端设备的结构示意图,如图6所示,该终端设备包括:至少一个处理器601和存储器602;
存储器存储计算机程序;至少一个处理器执行存储器存储的计算机程序,以实现上述实施例提供的任务处理方法。
本实施例提供的终端设备,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,计算机程序被执行时实现上述任一实施例提供的任务处理方法。
根据本实施例的计算机可读存储介质,通过响应于用户的操作指令,获取操作信息,其中,操作信息至少包括任务操作标识和与任务操作标识对应的任务操作参数;根据操作信息,分别进行资源适配和环境适配处理,生成与操作信息对应的操作命令;根据操作命令,确定与命令对应的执行脚本文件,并执行执行脚本文件,本申请实施例通过设置一个任务处理装置,作为数值计算软件的一个通用适配模块,作为软件与平台、软件与调度系统的中间件,并为任务处理装置定义了一套通用的任务调度规范,提供完整的任务调度功能和控制流程,只需使用几个简单接口和标准参数,自动化翻译成相应系统的后台任务脚本,达到了适配多种计算环境的目的,提高了不同计算环境的数值计算的调度效率。
应该指出,上述详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语均具有与本申请所属技术领域的普通技术人员的通常理解所相同的含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本申请的实施方式能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,在这里可以使用空间相对术语,如“在……之上”、“在……上方”、“在……上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在……上方”可以包括“在……上方”和“在……下方”两种方位。该器件也可以其他不同方式定位,如旋转90度或处于其他方位,并且对这里所使用的空间相对描述作出相应解释。
在上面详细的说明中,参考了附图,附图形成本文的一部分。在附图中,类似的符号典型地确定类似的部件,除非上下文以其他方式指明。在详细的说明书、附图及权利要求书中所描述的图示说明的实施方案不意味是限制性的。在不脱离本文所呈现的主题的精神或范围下,其他实施方案可以被使用,并且可以作其他改变。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种任务处理方法,其特征在于,所述方法包括:
响应于用户的操作指令,获取操作信息,其中,所述操作信息至少包括任务操作标识和与所述任务操作标识对应的任务操作参数;所述操作指令至少包括作业提交指令、作业查询指令和作业终止指令;
根据所述操作信息,分别进行资源适配和环境适配处理,生成与所述操作信息对应的操作命令;根据所述操作命令,确定与所述命令对应的执行脚本文件,并执行所述执行脚本文件;
所述响应于用户的操作指令,获取所述操作信息,包括:
响应于用户输入的作业提交指令,对所述作业提交指令进行解析,得到作业提交标识以及与所述作业提交标识对应的任务操作参数,所述与所述作业提交标识对应的任务操作参数至少包括资源计算机位置、所需CPU核数、作业路径和调度参数,其中,所述调度参数至少包括执行程序路径、任务队列和优先级中的一种或多种;
响应于用户输入的作业查询指令,对所述作业查询指令进行解析,得到作业查询标识以及与所述作业查询标识对应的任务操作参数,所述与所述作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;
响应于用户输入的作业终止指令,对所述作业终止指令进行解析,得到作业终止标识以及与所述作业终止标识对应的任务操作参数,所述与所述作业终止标识对应的任务操作参数包括作业编号。
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作信息,分别进行资源适配和环境适配处理,生成与所述操作信息对应的操作命令,包括:
对所述资源计算机位置进行判断;
若所述资源计算机位置为本机,则对所需CPU核数进行判断;
若所述所需CPU核数满足预设条件的情况下,获取平台环境中的并行处理程序,并设置命令执行时的作业路径;
根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述资源计算机位置,确定目标调度系统类型;
根据与所述调度系统类型对应的脚本生成规则,确定与所述目标调度系统类型对应的脚本文件;所述脚本文件是根据不同的操作指令封装生成的。
4.根据权利要求3所述的方法,其特征在于,所述根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令,包括:
根据所述并行处理程序、所述作业路径和所述与所述目标调度系统类型对应的脚本文件,生成与所述操作信息对应的操作命令。
5.根据权利要求3所述的方法,其特征在于,所述脚本文件是根据不同的操作指令封装生成的,包括:
对于作业提交操作,根据所述资源计算机位置和所述所需CPU核数生成提交脚本文件,所述提交脚本文件至少包括多个调度参数,所述调度参数包括资源配置文件路径、任务队列和优先级;
对于作业查询操作,根据所述作业编号、作业路径和资源计算机位置,生成查询脚本文件;
对于作业终止操作,根据所述作业编号,生成终止脚本文件。
6.根据权利要求2或4任一所述的方法,其特征在于,所述根据所述并行处理程序和所述作业路径,生成与所述操作信息对应的操作命令,包括:
对于作业提交操作,根据数值计算执行程序路径,生成作业提交命令并发起作业,作业提交成功后获得作业编号,所述作业编号用于作为作业查询和作业终止的输入参数,所述作业提交命令至少包括:脚本命令、并行处理程序、计算核数、作业路径和数值计算执行程序;
对于作业查询操作,根据与所述作业查询标识对应的任务操作参数执行对应的作业查询指令;
对于作业终止操作,根据与所述作业终止标识对应的任务操作参数,执行对应的作业终止指令。
7.一种任务处理装置,其特征在于,所述装置包括:
获取模块,用于响应于用户的操作指令,获取操作信息,其中,所述操作信息至少包括任务操作标识和与所述任务操作标识对应的任务操作参数;所述操作指令至少包括作业提交指令、作业查询指令和作业终止指令;
适配模块,用于根据所述操作信息,分别进行资源适配和环境适配处理,生成与所述操作信息对应的操作命令;
执行模块,用于根据所述操作命令,确定与所述命令对应的执行脚本文件,并执行所述执行脚本文件;
所述获取模块,具体包括:
响应于用户输入的作业提交指令,对所述作业提交指令进行解析,得到作业提交标识以及与所述作业提交标识对应的任务操作参数,所述与所述作业提交标识对应的任务操作参数至少包括资源计算机位置、所需CPU核数、作业路径和调度参数,其中,所述调度参数至少包括执行程序路径、任务队列和优先级中的一种或多种;
响应于用户输入的作业查询指令,对所述作业查询指令进行解析,得到作业查询标识以及与所述作业查询标识对应的任务操作参数,所述与所述作业查询标识对应的任务操作参数包括作业编号、作业路径和资源计算机位置;
响应于用户输入的作业终止指令,对所述作业终止指令进行解析,得到作业终止标识以及与所述作业终止标识对应的任务操作参数,所述与所述作业终止标识对应的任务操作参数包括作业编号。
8.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-6中任一项所述的任务处理方法。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-6中任一项所述的任务处理方法。
CN202310043418.XA 2023-01-29 2023-01-29 任务处理方法、装置、终端设备及存储介质 Active CN115794355B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310043418.XA CN115794355B (zh) 2023-01-29 2023-01-29 任务处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310043418.XA CN115794355B (zh) 2023-01-29 2023-01-29 任务处理方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN115794355A CN115794355A (zh) 2023-03-14
CN115794355B true CN115794355B (zh) 2023-06-09

Family

ID=85429018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310043418.XA Active CN115794355B (zh) 2023-01-29 2023-01-29 任务处理方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN115794355B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117632428A (zh) * 2023-12-01 2024-03-01 世芯电子科技(无锡)有限公司 资源调度管理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304260A (zh) * 2017-12-15 2018-07-20 上海超算科技有限公司 一种基于高性能云计算的虚拟化作业调度系统及其实现方法
CN108920259A (zh) * 2018-03-30 2018-11-30 华为技术有限公司 深度学习作业调度方法、系统和相关设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219345B2 (en) * 2002-12-17 2007-05-15 Hewlett-Packard Development Company, L.P. System and method for terminating processes in a distributed computing system
CN101277209B (zh) * 2008-05-14 2010-07-14 山东大学 网络流媒体传输断线重连技术
CA2951498A1 (en) * 2015-12-18 2017-06-18 Wal-Mart Stores, Inc. Automated statistical analysis job chunking
US20170371713A1 (en) * 2016-06-27 2017-12-28 Sidra Medical and Research Center Intelligent resource management system
CN106844040B (zh) * 2016-12-20 2020-08-28 北京并行科技股份有限公司 一种作业提交方法、系统及服务器
CN110928659B (zh) * 2019-11-20 2022-12-06 哈尔滨工程大学 一种具有自适应功能的数值水池系统远程多平台接入方法
CN111506407B (zh) * 2020-04-14 2022-04-26 中山大学 Pull模式与Push模式相结合的资源管理与作业调度方法、系统
CN112306719B (zh) * 2020-11-23 2022-05-31 中国科学院计算机网络信息中心 一种任务调度方法与装置
CN112905339B (zh) * 2021-02-08 2024-02-13 中国工商银行股份有限公司 任务调度执行方法、装置及系统
CN113220431B (zh) * 2021-04-29 2023-11-03 西安易联趣网络科技有限责任公司 跨云的分布式数据任务调度方法、设备及存储介质
CN114047968B (zh) * 2021-10-30 2024-02-13 济南浪潮数据技术有限公司 一种硬件自动适配的方法、系统、存储介质及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304260A (zh) * 2017-12-15 2018-07-20 上海超算科技有限公司 一种基于高性能云计算的虚拟化作业调度系统及其实现方法
CN108920259A (zh) * 2018-03-30 2018-11-30 华为技术有限公司 深度学习作业调度方法、系统和相关设备

Also Published As

Publication number Publication date
CN115794355A (zh) 2023-03-14

Similar Documents

Publication Publication Date Title
CN107431696B (zh) 用于应用自动化部署的方法和云管理节点
EP3862894A1 (en) Data processing methods, data processing apparatuses, electronic devices, and storage media
JP2018026114A (ja) アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法
CN110825488A (zh) 一种业务处理方法、装置及电子设备和存储介质
EP3032413B1 (en) Code generation method, compiler, scheduling method, apparatus and scheduling system
CN115794355B (zh) 任务处理方法、装置、终端设备及存储介质
CN112882828B (zh) 基于slurm作业调度系统的昇腾处理器管理和调度方法
CN113254174A (zh) 一种rpa机器人流程自动化实现系统和方法
US10698737B2 (en) Interoperable neural network operation scheduler
KR20150017052A (ko) 워크플로우의 실행 방법 및 시스템
Tsuji et al. Multiple-spmd programming environment based on pgas and workflow toward post-petascale computing
Justino et al. Outsourcing resource-intensive tasks from mobile apps to clouds: Android and aneka integration
CN116362336B (zh) 一种模型推理交互方法、电子设备、可读存储介质
CN111275389A (zh) 运维作业创建、管理方法和装置
CN115344370A (zh) 任务调度方法、装置、设备及存储介质
CN110515595B (zh) 一种航空电子分布式管理系统的资源建模及管理方法
Lienen et al. Task mapping for hardware-accelerated robotics applications using reconros
CN114168209A (zh) 硬件操作方法及装置、存储介质及电子设备
US8561077B1 (en) Binder for a multi-threaded process to access an un-shareable resource
CN113986462A (zh) 一种基于k8s的运维系统、应用方法及存储介质
US20100122254A1 (en) Batch and application scheduler interface layer in a multiprocessor computing environment
Liu et al. Real-time simulation system based on Linux and RTW
US20110125992A1 (en) System tool placement in a multiprocessor computer
von Laszewski et al. Grid-based asynchronous migration of execution context in Java virtual machines
CN115794249A (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