CN118051315A - 任务调度方法、装置、终端设备以及存储介质 - Google Patents
任务调度方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN118051315A CN118051315A CN202410431563.XA CN202410431563A CN118051315A CN 118051315 A CN118051315 A CN 118051315A CN 202410431563 A CN202410431563 A CN 202410431563A CN 118051315 A CN118051315 A CN 118051315A
- Authority
- CN
- China
- Prior art keywords
- task scheduling
- task
- scheduling decision
- optimization model
- model
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 145
- 238000005457 optimization Methods 0.000 claims abstract description 190
- 230000008569 process Effects 0.000 claims abstract description 88
- 238000012549 training Methods 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000001934 delay Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 238000012360 testing method Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 10
- 238000007726 management method Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000002787 reinforcement Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 230000002068 genetic effect Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- WVCHIGAIXREVNS-UHFFFAOYSA-N 2-hydroxy-1,4-naphthoquinone Chemical compound C1=CC=C2C(O)=CC(=O)C(=O)C2=C1 WVCHIGAIXREVNS-UHFFFAOYSA-N 0.000 description 1
- 241001658031 Eris Species 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种任务调度方法、装置、终端设备以及存储介质,其任务调度方法包括:基于客户端的任务执行指令生成任务;基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。旨在提高数据库管理系统的吞吐量,提升用户的体验。
Description
技术领域
本申请涉及任务执行调度技术领域,尤其涉及一种任务调度方法、装置、终端设备以及存储介质。
背景技术
现代分析型关系数据库管理系统为了提升其服务效率,大多都选择使用主内存列存储来存储数据,而主内存列式存储需要有效利用现代非统一内存访问(NUMA,Non-Uniform Memory Access)架构来为大数据并发客户端提供服务,NUMA架构的高效使用取决于其任务调度策略。大多数列式存储的数据管理系统选择静态地在NUMA架构上分割所有数据,并采用基于偷窃的任务调度策略,但是经过研究证明,对于扫描等内存密集型任务使用基于偷窃的任务调度策略会使数据管理系统的吞吐量显著下降。
因此,有必要提出一种提高数据库管理系统吞吐量的方案。
发明内容
本申请的主要目的在于提供一种任务调度方法、装置、终端设备以及存储介质,旨在提高数据库管理系统的吞吐量,提升用户的体验。
为实现上述目的,本申请提供一种任务调度方法,所述任务调度方法包括:
基于客户端的任务执行指令生成任务;
基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
可选地,所述基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程的步骤,包括:
基于预设的任务调度模型,对所述任务进行调度分配,得到多个子任务和多个子任务的任务调度决策;
根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延;
根据所述多个子任务、所述多个子任务的任务调度决策和所述总时延,得到初始任务调度决策过程。
可选地,所述根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延的步骤,包括:
根据所述任务调度决策,确定所述多个子任务的计算资源和执行顺序;
根据所述计算资源计算得到执行时延,并根据所述执行顺序计算得到传输时延;
根据所述执行时延和所述传输时延计算任务调度决策的总时延。
可选地,所述根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数的步骤,包括:
根据所述初始任务调度决策过程建立内层任务调度决策优化模型;
通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数。
可选地,所述根据所述初始任务调度决策过程建立内层任务调度决策优化模型的步骤,包括:
根据所述子任务和所述任务调度决策确定状态参数和动作参数,并根据所述总时延确定奖励参数;
根据所述状态参数、所述动作参数和所述奖励参数,建立内层任务调度决策优化模型。
可选地,所述通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数的步骤,包括:
通过预设的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第一初始化参数;
根据所述第一初始化参数对所述内层任务调度决策优化模型进行优化,得到内层任务调度决策优化模型的损失函数;
根据所述损失函数对所述外层任务调度决策优化模型进行优化;
通过优化后的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第二初始化参数;
根据所述第二初始化参数,返回执行对所述内层任务调度决策优化模型进行优化的步骤及后续步骤,直至所述内层任务调度决策优化模型满足预设模型性能要求,得到优化调度参数。
可选地,所述通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数的步骤之前,包括:
获取训练集数据、测试集数据和训练任务;
根据所述训练集数据对初始的外层任务调度决策优化模型进行训练,得到训练后的外层任务调度决策优化模型;
根据所述测试集数据对训练后的外层任务调度决策优化模型进行评估,并根据所述训练任务对训练后的外层任务调度决策优化模型进行调整,得到预设的外层任务调度决策优化模型。
本申请实施例还提出一种任务调度装置,所述任务调度装置包括:
生成模块,用于基于客户端的任务执行指令生成任务;
第一执行模块,用于基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
优化模块,用于根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
第二执行模块,用于基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务调度程序,所述任务调度程序被所述处理器执行时实现如上所述的任务调度方法的步骤。
本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序被处理器执行时实现如上所述的任务调度方法的步骤。
本申请实施例提出的任务调度方法、装置、终端设备以及存储介质,通过基于客户端的任务执行指令生成任务;基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。通过对任务调度模型进行建模优化,可以根据实时的系统状态和环境变化做出相应的调度决策,从而优化任务调度策略,能够迁移到不同架构的服务器上进行使用,在各种架构下的任务调度模型进行自适应优化调整。根据优化调度参数和任务调度模型,可以得到更优的任务执行结果,提升数据库管理系统任务调度的性能和表现,有效提高数据库管理系统的吞吐量,从而提升用户的体验。
附图说明
图1为本申请任务调度装置所属终端设备的功能模块示意图;
图2为本申请任务调度方法目标示例性实施例的流程示意图;
图3为本申请任务调度方法待升级示例性实施例的流程示意图;
图4为本申请任务调度方法待升级示例性实施例的流程示意图;
图5为本申请任务调度方法第四示例性实施例的流程示意图;
图6为本申请任务调度方法第五示例性实施例的流程示意图;
图7为本申请任务调度方法第六示例性实施例的流程示意图;
图8为本申请任务调度方法第七示例性实施例的流程示意图;
图9为本申请任务调度方法基于非统一内存访问架构的任务调度模型结构示意图;
图10为本申请任务调度方法子任务执行关系示意图;
图11为本申请任务调度方法外层任务调度决策优化模型结构和内层任务调度决策优化模型结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:通过基于客户端的任务执行指令生成任务;基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
本申请实施例考虑到,当代分析性工作任务负载的特点是海量数据和高并发性,客户端数以千百计,而分析型关系数据库管理系统(DBMS,Database Management System)的性能主要比较标准是其在海量数据上为众多客户端提供服务的效率。主内存列式存储只访问必要的列,从而能最大限度地减少需要读取的数据量来提高处理工作效率,因此许多分析型关系数据库管理系统,如SAP HANA或Oracle都选择使用主内存列存储来存储数据,而不是通常用于OLTP(Online Transaction Processing,在线事务处理)工作负载的基于磁盘的行存储类型。使用列式存储的数据通常使用字典编码等方式进行压缩,数据库管理系统可以使用SIMD架构(Single Instruction, Multiple Data,单指令多数据)和多个CPU(Central processing unit,中央处理器)内核等方式对数据进行并行处理,因此主内存列存储需要有效利用不断增加的DRAM(Dynamic Random Access Memory,动态随机存取存储器)和多核处理器来并发处理数据。
处理器的供应商正在通过多核处理器插槽互连来扩展硬件,而每个插槽都有自己的内存控制器和内存,导致内存是分散的,从而形成了非统一内存访问(NUMA Non-UniformMemory Access)架构。NUMA架构带来了新的性能挑战,因为不同套接字的通信成本各不相同,而且互连链路的带宽也是需要考虑的额外瓶颈。主内存列式存储需要处理其数据结构在不同套接字间的放置,并调度在套接字上的查询执行,从而实现对NUMA架构的感知。
在相关领域的研究中,最近出现了一些针对NUMA架构感知的分析型关系数据库管理系统的相关研究,它们大多采用基于偷窃的任务调度策略,例如在HyPer和ERIS等数据库管理系统中将所有数据划分到不同的套接字,并使用任务调度线程并行处理查询,任务调度器由工作线程池组成,每个工作线程处理本地任务或从其他工作线程处窃取任务,但是经过研究证明,对于扫描等内存密集型任务使用基于偷窃的任务调度策略会使数据管理系统的吞吐量显著下降。
因此,本申请实施例方案,通过对任务调度模型进行建模优化,可以根据实时的系统状态和环境变化做出相应的调度决策,从而优化任务调度策略,能够迁移到不同架构的服务器上进行使用,在各种架构下的任务调度模型进行自适应优化调整。根据优化调度参数和任务调度模型,可以得到更优的任务执行结果,提升数据库管理系统任务调度的性能和表现,有效提高数据库管理系统的吞吐量,从而提升用户的体验。
具体地,参照图1,图1为本申请任务调度装置所属终端设备的功能模块示意图。该任务调度装置可以为独立于终端设备的、能够进行任务执行、初始任务调度决策过程建模优化的装置,其可以通过硬件或软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动终端,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该任务调度装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及任务调度程序,任务调度装置可以将多个子任务、多个子任务的任务调度决策等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中,存储器130中的任务调度程序被处理器执行时实现以下步骤:
基于客户端的任务执行指令生成任务;
基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
进一步地,存储器130中的任务调度程序被处理器执行时实现以下步骤:
基于预设的任务调度模型,对所述任务进行调度分配,得到多个子任务和多个子任务的任务调度决策;
根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延;
根据所述多个子任务、所述多个子任务的任务调度决策和所述总时延,得到初始任务调度决策过程。
进一步地,存储器130中的任务调度程序被处理器执行时实现以下步骤:
根据所述任务调度决策,确定所述多个子任务的计算资源和执行顺序;
根据所述计算资源计算得到执行时延,并根据所述执行顺序计算得到传输时延;
根据所述执行时延和所述传输时延计算任务调度决策的总时延。
进一步地,存储器130中的任务调度程序被处理器执行时实现以下步骤:
根据所述初始任务调度决策过程建立内层任务调度决策优化模型;
通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数。
进一步地,存储器130中的任务调度程序被处理器执行时实现以下步骤:
根据所述子任务和所述任务调度决策确定状态参数和动作参数,并根据所述总时延确定奖励参数;
根据所述状态参数、所述动作参数和所述奖励参数,建立内层任务调度决策优化模型。
进一步地,存储器130中的任务调度程序被处理器执行时实现以下步骤:
通过预设的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第一初始化参数;
根据所述第一初始化参数对所述内层任务调度决策优化模型进行优化,得到内层任务调度决策优化模型的损失函数;
根据所述损失函数对所述外层任务调度决策优化模型进行优化;
通过优化后的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第二初始化参数;
根据所述第二初始化参数,返回执行对所述内层任务调度决策优化模型进行优化的步骤及后续步骤,直至所述内层任务调度决策优化模型满足预设模型性能要求,得到优化调度参数。
进一步地,存储器130中的任务调度程序被处理器执行时实现以下步骤:
获取训练集数据、测试集数据和训练任务;
根据所述训练集数据对初始的外层任务调度决策优化模型进行训练,得到训练后的外层任务调度决策优化模型;
根据所述测试集数据对训练后的外层任务调度决策优化模型进行评估,并根据所述训练任务对训练后的外层任务调度决策优化模型进行调整,得到预设的外层任务调度决策优化模型。
基于上述终端设备架构但不限于上述架构,提出本申请方法实施例。
参照图2,图2为本申请任务调度方法目标示例性实施例的流程示意图。所述任务调度方法包括以下步骤:
步骤S100,基于客户端的任务执行指令生成任务;
步骤S200,基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
本实施例方法的执行主体可以是一种任务调度装置,也可以是一种任务调度终端设备或服务器,本实施例以任务调度装置进行举例,该任务调度装置可以集成在具有数据处理功能的智能手机、平板电脑等终端设备上。
本实施例方案主要提供一种任务调度的算法,旨在提高数据库管理系统的吞吐量,提升用户的体验。
具体地,预设的任务调度模型可以是基于分布式架构或基于非统一内存访问(NUMA,Non-Uniform Memory Access)架构等架构。参考图9,对于基于非统一内存访问架构的任务调度模型,包括多个处理器,每个处理器的插槽相互连接,每个处理器可以通过总线访问其他处理器,访问远程处理器的带宽设为GiB/s。为了更符合真实场景,该基于非统一内存访问架构的任务调度模型支持数据请求和高速缓存一致性协议。多个处理器负责接收客户端的任务执行指令,并相应地生成流水线任务,得到多个子任务。参考图10,由于这些子任务之间执行是有依赖关系的,可以将这些子任务之间的关系用一个有向无环图(Directed Acyclic Graph,DAG)来表示。根据所有子任务执行时的执行时延、执行顺序等信息,得到初始任务调度决策过程。
步骤S300,根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
具体地,将初始的任务调度决策过程进行建模,将任务调度问题抽象成数学模型。对于基于非统一内存访问架构的任务调度模型,可以选择马尔可夫决策过程、遗传算法或深度强化学习方法等算法来建模,优化任务调度决策过程可以使用强化学习、遗传算法、元学习等方法,根据建模结果和选择的优化算法得到任务调度决策优化模型。通过建模可以形成任务调度决策的数学描述,为后续优化提供基础。通过对建模后的决策过程进行优化,找到最佳的任务调度策略,得到优化调度参数。
步骤S400,基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
具体地,优化调度参数可以用来指导实际任务调度过程中的决策,可以包括任务分配策略、调度算法的参数设置、资源分配的权重等。根据得到的优化调度参数,对预设的任务调度模型进行优化,可能涉及更新任务优先级规则、调整资源分配策略、改进任务调度算法等优化过程。根据优化后的任务调度模型做出任务调度决策,并最终得到任务的执行结果,将执行结果返回给客户端。
本实施例通过上述方案,通过基于客户端的任务执行指令生成任务;基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。通过对任务调度模型进行建模优化,可以根据实时的系统状态和环境变化做出相应的调度决策,从而优化任务调度策略,能够迁移到不同架构的服务器上进行使用,在各种架构下的任务调度模型进行自适应优化调整。根据优化调度参数和任务调度模型,可以得到更优的任务执行结果,提升数据库管理系统任务调度的性能和表现,有效提高数据库管理系统的吞吐量,从而提升用户的体验。
参照图3,图3为本申请任务调度方法待升级示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程的步骤,包括:
步骤S201,基于预设的任务调度模型,对所述任务进行调度分配,得到多个子任务和多个子任务的任务调度决策;
步骤S202,根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延;
步骤S203,根据所述多个子任务、所述多个子任务的任务调度决策和所述总时延,得到初始任务调度决策过程。
具体地,预设的任务调度模型可以是基于非统一内存访问(NUMA,Non-UniformMemory Access)架构的。参考图9,基于非统一内存访问架构的任务调度模型包括多个处理器,多个处理器负责接收客户端的任务执行指令,并相应地生成流水线任务。多个处理器中包括一个第一处理器,负责生成基于Morsel-driven(以小块数据为驱动)的流水线执行任务,相当于基于非统一内存访问架构的任务调度模型的任务生成模块,多个处理器中的其他处理器设置为第二处理器,第一处理器和第二处理器协作完成对基于Morsel-driven的流水线任务的执行。该任务生成模块会将需要执行的查询任务分成多个基于Morsel-driven的流水线执行任务,参考图10,由于这些子任务之间执行是有依赖关系的,可以将这些子任务之间的关系用一个有向无环图(Directed Acyclic Graph,DAG)来表示。图10中,每条有向边可以用来表示,表明了子任务i和子任务j之间的依赖关系,即子任务i是子任务j的父任务,子任务j是子任务i的子任务,子任务i必须先于子任务j完成,对于一个子任务来说,只有它所有的父任务都完成之后才能执行这个子任务。
第一处理器还作为执行任务调度决策模块,进行任务执行分配的决策和任务执行计算资源的分配决策。任务执行分配的决策为将每个子任务指定在某一处理器上执行,可以通过第一处理器执行,也通过总线传输到第二处理器上进行执行。例如,可用参数来表示该决策行为,/>=0表示子任务在第一处理器上执行,/>=x(/>)表示将子任务通过总线传输到第二处理器x上执行,第二处理器x将执行结果返回给第一处理器,由第一处理器统一将结果处理返回给客户端。
根据每个子任务执行所需资源,以及每个子任务对应的处理器分配的计算资源,计算每个子任务完成的时延,进一步计算出任务调度决策的总时延。根据多个子任务、多个子任务的任务调度决策和任务调度决策的总时延,得到初始任务调度决策过程。
本实施例通过上述方案,通过对任务进行调度分配和计算时延,可以更准确地确定任务的执行顺序和时延,可以对任务调度决策进行全面的性能评估,得到初始任务调度决策过程,作为后续的任务调度优化的基础,有助于发现潜在的任务调度瓶颈和优化空间。
参照图4,图4为本申请任务调度方法待升级示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延的步骤,包括:
步骤S2021,根据所述任务调度决策,确定所述多个子任务的计算资源和执行顺序;
步骤S2022,根据所述计算资源计算得到执行时延,并根据所述执行顺序计算得到传输时延;
步骤S2023,根据所述执行时延和所述传输时延计算任务调度决策的总时延。
具体地,在完成任务执行处理器分配的决策之后,根据每个子任务执行所需资源,以及每个子任务对应的处理器分配的计算资源,可用来表示,即子任务i对应的处理器会以/>大小的CPU时钟周期频率去处理子任务i,计算每个子任务完成的时延,具体如下公式所示:
其中表示处理子任务i所需的计算资源,/>表示处理器分配给子任务i的计算资源,若处理器选择将该子任务在第一处理器上执行,那么产生的执行时延可通过如下公式进行计算:
若处理器选择将通过总线传输到第二处理器上进行执行,第二处理器会将执行结果返回给第一处理器,则会产生一个传输时延,该传输时延与需要传输的数据大小以及传输模块的总线带宽有关,因此子任务i由第二处理器传输回第一处理器的传输时延可以表示为:
其中表示需要传输的数据量大小,/>表示处理器之间的总线传输带宽。
参考图10,由于任务中的子任务是具有依赖关系的,并不是简单的顺序关系,因此存在子任务i和子任务j同时分别在对应的处理器上同时进行处理的情况,任务调度决策的总时延并不是完成各个子任务的时延的顺序相加。
将子任务开始在传输处理器运行的时间定义为,开始在本处理器运行的时间定义为/>,以及运行结果开始传输时间定义为/>,该子任务各处的开始时间只与前一个子任务有关。将在传输处理器处理结束的时间定义为/>,在本处理器处理结束的时间定义为/>,以及运行结果传输结束的时间定义为/>,这些结束时间不仅与该任务的前一个子任务有关,还跟该任务的所有父任务有关,如果前一个子任务没有选择传输到其他服务器上运行,在模型中将/>和/>都设置为0。以子任务i和子任务j之间的依赖关系为例,/>表示子任务i是子任务j的父任务。
子任务i在传输处理器上开始运行的时间以及处理结束的时间可以通过下式进行计算:
子任务i在生成任务的处理器上开始运行的时间以及处理结束的时间可以通过下式进行计算:
子任务i运行结果开始传输的时间以及运行结束的时间可以通过下式进行计算:
则计算完成查询任务的时延可以通过计算所有子任务中最后一个子任务的结束时间来实现,那么完成查询任务的时延可表示为:
当任务调度最优化目标为最小化执行查询任务的时延时,可以表示为:
其中p为任务的数量,q为每个任务的子任务的数量。
本实施例通过上述方案,根据任务调度决策确定子任务的计算资源和执行顺序,并考虑传输时延,能够综合考虑计算和通信环节的时延情况,进而计算得到任务调度决策的总时延,提高了时延计算的准确性和全面性,有助于后续优化整体任务执行过程中的时间消耗,提高任务调度的效率和性能。
进一步地,参照图5,图5为本申请任务调度方法第四示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数的步骤,包括:
步骤S301,根据所述初始任务调度决策过程建立内层任务调度决策优化模型;
步骤S302,通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数。
具体地,根据初始任务调度决策过程中的数据,包括子任务的执行顺序、子任务的执行时延等数据,按照马尔可夫决策过程、遗传算法或深度强化学习方法等算法来建模,作为内层任务调度决策优化模型。定义内层任务调度决策优化的目标,例如最小化任务完成时间、最大化计算资源利用率等。外层任务调度决策优化模型可以根据合适的优化算法设置,如遗传算法、模拟退火算法或元学习等。通过外层任务调度决策优化模型的优化算法对内层任务调度决策优化模型进行调整优化模型,以达到最优解。通过优化算法的迭代过程,得到了优化后的调度参数,优化调度参数后续可直接应用于任务调度系统,以优化任务调度过程。
本实施例通过上述方案,通过内层任务调度决策优化模型和外层任务调度决策优化模型的优化,循环迭代优化模型参数,内层任务调度决策优化模型从外层任务调度决策优化模型中获取参数进行训练,可以得到更优的任务执行调度策略,实现模型的自适应优化,适应不同的任务场景。
进一步地,参照图6,图6为本申请任务调度方法第五示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,根据所述初始任务调度决策过程建立内层任务调度决策优化模型的步骤,包括:
步骤S3011,根据所述子任务和所述任务调度决策确定状态参数和动作参数,并根据所述总时延确定奖励参数;
步骤S3012,根据所述状态参数、所述动作参数和所述奖励参数,建立内层任务调度决策优化模型。
具体地,基于强化学习算法,将初始任务调度决策过程建模为马尔可夫决策过程,得到内层任务调度决策优化模型。由于调度决策跟子任务本身的状态,子任务的位置关系即子任务前后的子任务之间的依赖关系以及处理器的状态相关,将这些因素都考虑在内,用表示内层任务调度决策优化模型的状态参数。
依据任务执行分配的决策,强化学习动作参数的设置为:
其中,参数表示该决策行为,/>=0表示子任务在第一处理器上执行,/>=x()表示将子任务通过总线传输到第二处理器x上执行,/>表示每个子任务对应的处理器分配的计算资源。
内层任务调度决策优化模型的最优化目标为最小化执行查询任务的时延,因此,根据任务调度决策的总时延计算方式,将每个子任务奖励参数设置为:
其中,表示子任务i完全在执行调度决策的处理器上进行处理所需要花费的时间,/>表示处理子任务i实际花费的时间。
则完成整个任务的奖励参数可以被定义为:
其中,q为每个任务中子任务的总数量。
本实施例通过上述方案,通过确定状态参数、动作参数和奖励参数,并建立内层任务调度决策优化模型,可以实现对任务调度决策的精细化控制和优化,可以促使数据库管理系统在任务调度过程中更有效地降低时延,提升响应速度和效率,有效提高数据库管理系统的吞吐量,从而提升用户的体验。
进一步地,参照图7,图7为本申请任务调度方法第六示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数的步骤,包括:
步骤S3021,通过预设的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第一初始化参数;
步骤S3022,根据所述第一初始化参数对所述内层任务调度决策优化模型进行优化,得到内层任务调度决策优化模型的损失函数;
步骤S3023,根据所述损失函数对所述外层任务调度决策优化模型进行优化;
步骤S3024,通过优化后的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第二初始化参数;
步骤S3025,根据所述第二初始化参数,返回执行对所述内层任务调度决策优化模型进行优化的步骤及后续步骤,直至所述内层任务调度决策优化模型满足预设模型性能要求,得到优化调度参数。
具体地,参考图11,将外层任务调度决策优化模型提取的第一初始化参数应用于内层任务调度决策优化模型,第一初始化参数包含了外层任务调度决策优化模型在多个任务上学到的通用特征和调度策略,可以帮助内层任务调度决策优化模型更好地适应新任务。通过输入第一初始化参数,内层任务调度决策优化模型进行计算,生成预测输出。根据内层任务调度决策优化模型的输出与真实标签之间的差异,计算损失函数。损失函数可以是交叉熵损失、均方误差等,用于衡量内层任务调度决策优化模型预测的准确程度。内层任务调度决策优化模型的损失函数的梯度可通过反向传播的方式传播至外层任务调度决策优化模型。根据内层任务调度决策优化模型传播过来的梯度信息,相应地更新外层任务调度决策优化模型的参数,参数的更新方法可以使用梯度下降或DSAC算法(DistributionalSoft Actor-Critic,分布式柔性动作-评价算法)。外层任务调度决策优化模型的参数更新后,提取的第二初始化参数应用于内层任务调度决策优化模型,生成相应的预测输出。重复执行上述外层任务调度决策优化模型和内层任务调度决策优化模型的优化步骤,直至内层任务调度决策优化模型满足预设模型性能要求,得到优化调度参数。
其中,预设模型性能要求可以根据实际情况设置,例如,设置一个最大的训练时间或者迭代次数,作为外层任务调度决策优化模型和内层任务调度决策优化模型的优化停止条件。或可以通过监视内层任务调度决策优化模型在不同任务上的性能表现,如果发现内层任务调度决策优化模型在大多数任务的性能表现能够满足预设模型性能要求,则可以停止执行外层任务调度决策优化模型和内层任务调度决策优化模型的优化步骤,得到优化调度参数。还可以通过使用验证集来评估内层任务调度决策优化模型在各个任务上的性能,当验证集上的性能趋于稳定或出现下降时,意味着外层任务调度决策优化模型的参数调整已经达到了一个较好的状态,则停止执行外层任务调度决策优化模型和内层任务调度决策优化模型的优化步骤,得到优化调度参数。
本实施例通过上述方案,通过迭代优化过程,自动化调整和优化外层任务调度决策优化模型和内层任务调度决策优化模型,能够逐步提升内层任务调度决策优化模型的性能,具备更好的泛化能力,适应不同场景下的任务调度需求,最终得到优化调度参数,提升系统的性能表现。
进一步地,参照图8,图8为本申请任务调度方法第七示例性实施例的流程示意图。基于上述图2所示的实施例,在本实施例中,在本实施例中,通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数的步骤之前,包括:
步骤S3026,获取训练集数据、测试集数据和预设相关任务;
步骤S3027,根据所述训练集数据对初始的外层任务调度决策优化模型进行训练,得到训练后的外层任务调度决策优化模型;
步骤S3028,根据所述测试集数据对训练后的外层任务调度决策优化模型进行评估,并根据所述预设相关任务对训练后的外层任务调度决策优化模型进行调整,得到预设的外层任务调度决策优化模型。
具体地,外层任务调度决策优化模型可基于元学习建立。训练数据集需要包括多个不同任务的数据,通过训练集数据训练初始的外层任务调度决策优化模型。将数据集划分为训练集和测试集是为了在训练过程中能够评估模型在未处理过的数据上的泛化能力。使用测试集来评估训练后的外层任务调度决策优化模型,可以通过测试集上的性能指标来评估模型的泛化能力和适应性。根据评估结果,可以对外层任务调度决策优化模型的参数进行更新,以进一步提高其性能。参数的更新方法优选DSAC算法(Distributional SoftActor-Critic,分布式柔性动作-评价算法),DSAC算法对每个状态-动作对的值建模为一个概率分布而不是一个标量值,对于过估计有很好的抑制效果,相比于DDPG算法(DeepDeterministic Policy Gradient,深度确定性策略梯度算法)、PPO算法(Proximal PolicyOptimization,近端策略优化算法)等算法在性能上获得了更好的提升。更新参数的方法还可以采用梯度下降等优化算法。
预设相关任务是在模型训练阶段未处理过的,但与训练过程中的任务有一定相关性的任务。根据外层任务调度决策优化模型在处理预设相关任务的表现,特别是在泛化能力和学习速度方面,可以进一步对外层任务调度决策优化模型进行调整和优化,综合考虑模型的泛化能力、学习速度和性能表现,最终得到预设的外层任务调度决策优化模型。
本实施例通过上述方案,通过获取训练集数据和测试集数据,可以基于实际数据对外层任务调度决策优化模型进行训练和评估,通过预设相关任务,能够有效验证模型的性能并针对性地进行调整,提高模型的准确性和有效性。经过训练、评估和调整后,可以得到预设的外层任务调度决策优化模型,以指导内层任务调度决策优化模型的优化过程,从而提升系统的整体性能,达到更高效的任务调度和决策效果。
此外,本申请实施例还提出一种任务调度装置,所述任务调度装置包括:
生成模块,用于基于客户端的任务执行指令生成任务;
第一执行模块,用于基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
优化模块,用于根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
第二执行模块,用于基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
本实施例实现任务调度的原理及实施过程,请参照上述各实施例,在此不再赘述。
此外,本申请实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务调度程序,所述任务调度程序被所述处理器执行时实现如上所述的任务调度方法的步骤。
由于本任务调度程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序被处理器执行时实现如上所述的任务调度方法的步骤。
由于本任务调度程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本申请实施例提出的任务调度方法、装置、终端设备以及存储介质,通过基于客户端的任务执行指令生成任务;基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。通过对任务调度模型进行建模优化,可以根据实时的系统状态和环境变化做出相应的调度决策,从而优化任务调度策略,能够迁移到不同架构的服务器上进行使用,在各种架构下的任务调度模型进行自适应优化调整。根据优化调度参数和任务调度模型,可以得到更优的任务执行结果,提升数据库管理系统任务调度的性能和表现,有效提高数据库管理系统的吞吐量,从而提升用户的体验。
需要说明的是,在本文中,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术作出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种任务调度方法,其特征在于,所述任务调度方法,包括以下步骤:
基于客户端的任务执行指令生成任务;
基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
2.根据权利要求1所述的任务调度方法,其特征在于,所述基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程的步骤,包括:
基于预设的任务调度模型,对所述任务进行调度分配,得到多个子任务和多个子任务的任务调度决策;
根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延;
根据所述多个子任务、所述多个子任务的任务调度决策和所述总时延,得到初始任务调度决策过程。
3.根据权利要求2所述的任务调度方法,其特征在于,所述根据所述任务调度决策计算所述多个子任务的时延,并根据所述时延确定任务调度决策的总时延的步骤,包括:
根据所述任务调度决策,确定所述多个子任务的计算资源和执行顺序;
根据所述计算资源计算得到执行时延,并根据所述执行顺序计算得到传输时延;
根据所述执行时延和所述传输时延计算任务调度决策的总时延。
4.根据权利要求3所述的任务调度方法,其特征在于,所述根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数的步骤,包括:
根据所述初始任务调度决策过程建立内层任务调度决策优化模型;
通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数。
5.根据权利要求4所述的任务调度方法,其特征在于,所述根据所述初始任务调度决策过程建立内层任务调度决策优化模型的步骤,包括:
根据所述子任务和所述任务调度决策确定状态参数和动作参数,并根据所述总时延确定奖励参数;
根据所述状态参数、所述动作参数和所述奖励参数,建立内层任务调度决策优化模型。
6.根据权利要求5所述的任务调度方法,其特征在于,所述通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数的步骤,包括:
通过预设的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第一初始化参数;
根据所述第一初始化参数对所述内层任务调度决策优化模型进行优化,得到内层任务调度决策优化模型的损失函数;
根据所述损失函数对所述外层任务调度决策优化模型进行优化;
通过优化后的外层任务调度决策优化模型提取所述内层任务调度决策优化模型的第二初始化参数;
根据所述第二初始化参数,返回执行对所述内层任务调度决策优化模型进行优化的步骤及后续步骤,直至所述内层任务调度决策优化模型满足预设模型性能要求,得到优化调度参数。
7.根据权利要求6所述的任务调度方法,其特征在于,所述通过预设的外层任务调度决策优化模型对所述内层任务调度决策优化模型进行优化,得到优化调度参数的步骤之前,包括:
获取训练集数据、测试集数据和训练任务;
根据所述训练集数据对初始的外层任务调度决策优化模型进行训练,得到训练后的外层任务调度决策优化模型;
根据所述测试集数据对训练后的外层任务调度决策优化模型进行评估,并根据所述训练任务对训练后的外层任务调度决策优化模型进行调整,得到预设的外层任务调度决策优化模型。
8.一种任务调度装置,其特征在于,所述任务调度装置包括:
生成模块,用于基于客户端的任务执行指令生成任务;
第一执行模块,用于基于预设的任务调度模型执行所述任务,得到初始任务调度决策过程;
优化模块,用于根据所述初始任务调度决策过程建立任务调度决策优化模型,并通过所述任务调度决策优化模型进行决策过程优化,得到优化调度参数;
第二执行模块,用于基于所述优化调度参数对所述任务调度模型进行优化,并根据优化后的任务调度模型执行所述任务,得到任务执行结果。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务调度程序,所述任务调度程序被所述处理器执行时实现如权利要求1-7中任一项所述的任务调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有任务调度程序,所述任务调度程序被处理器执行时实现如权利要求1-7中任一项所述的任务调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410431563.XA CN118051315A (zh) | 2024-04-11 | 2024-04-11 | 任务调度方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410431563.XA CN118051315A (zh) | 2024-04-11 | 2024-04-11 | 任务调度方法、装置、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118051315A true CN118051315A (zh) | 2024-05-17 |
Family
ID=91052148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410431563.XA Pending CN118051315A (zh) | 2024-04-11 | 2024-04-11 | 任务调度方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118051315A (zh) |
-
2024
- 2024-04-11 CN CN202410431563.XA patent/CN118051315A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240160948A1 (en) | Processing computational graphs | |
Hernández et al. | Using machine learning to optimize parallelism in big data applications | |
US9208131B2 (en) | Techniques to simulate statistical tests | |
You et al. | Fast deep neural network training on distributed systems and cloud TPUs | |
Bhimani et al. | Fim: performance prediction for parallel computation in iterative data processing applications | |
Aji et al. | MultiCL: Enabling automatic scheduling for task-parallel workloads in OpenCL | |
US20130268941A1 (en) | Determining an allocation of resources to assign to jobs of a program | |
CN112764893B (zh) | 数据处理方法和数据处理系统 | |
Zhang et al. | Towards memory friendly long-short term memory networks (LSTMs) on mobile GPUs | |
Smith | Prediction services for distributed computing | |
CN114895773B (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
Diop et al. | DistCL: A framework for the distributed execution of OpenCL kernels | |
Karimi et al. | Vcsr: An efficient gpu memory-aware sparse format | |
CN118051315A (zh) | 任务调度方法、装置、终端设备以及存储介质 | |
KR102498595B1 (ko) | 트랜스포머 기반 생성 작업들에 대한 추론 시스템을 위한 선택적 배칭 | |
Tu et al. | On designing the adaptive computation framework of distributed deep learning models for Internet-of-Things applications | |
Zeigler et al. | What's the best possible speedup achievable in distributed simulation: Amdahl's law reconstructed | |
Jang et al. | Performance Prediction-based versus Load-based Site Selection: Quantifying the Difference. | |
Gejea et al. | A Novel Approach to Grover's Quantum Algorithm Simulation: Cloud-Based Parallel Computing Enhancements | |
Halbiniak et al. | Dynamic workload prediction and distribution in numerical modeling of solidification on multi‐/manycore architectures | |
Do et al. | Co-scheduling ensembles of in situ workflows | |
Nemeth et al. | Relaxing scalability limits with speculative parallelism in sequential Monte Carlo | |
Trabes et al. | Multi-BSP vs. BSP: A case of study for dell AMD multicores | |
Skrinarova et al. | Parallel simulation of tasks scheduling and scheduling criteria in high-performance computing systems | |
Pallipuram et al. | A regression‐based performance prediction framework for synchronous iterative algorithms on general purpose graphical processing unit clusters |
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 |