CN114443262A - 计算资源管理方法、装置、设备及系统 - Google Patents
计算资源管理方法、装置、设备及系统 Download PDFInfo
- Publication number
- CN114443262A CN114443262A CN202011211113.8A CN202011211113A CN114443262A CN 114443262 A CN114443262 A CN 114443262A CN 202011211113 A CN202011211113 A CN 202011211113A CN 114443262 A CN114443262 A CN 114443262A
- Authority
- CN
- China
- Prior art keywords
- gpu
- task
- priority task
- low
- priority
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了计算资源管理方法、装置、系统及设备。其中,所述系统通过确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;所述机器学习框架根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量。采用这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以有效提升GPU计算资源利用率,同时保障高优先级任务性能。
Description
技术领域
本申请涉及机器学习技术领域,具体涉及计算资源管理方法和装置,机器学习系统,以及电子设备。
背景技术
随着深度学习算法的不断发展、及图形处理单元(Graphics Processing Unit,GPU)算力的加持,深度学习已经成为企业产品数据流中至关重要的一环。为了支持大规模深度学习应用,企业通常会构建大规模多租户共享的GPU集群,用来支持横跨多个领域产品的发展,如计算机视觉、自然语言处理、语音识别、推荐和广告服务等。
为了提升GPU资源利用率、及整个GPU集群的生产量(throughput),深度学习系统允许在一个GPU上同时运行多个深度学习任务,这样可以用相同的资源量完成更多的深度学习训练任务。目前,一种典型的GPU计算资源复用方式是,运行在同一GPU上的多个深度学习任务共享GPU计算资源运行,充分利用 GPU资源,提高集群作业吞吐能力。
然而,在实现本发明过程中,发明人发现上述技术方案均至少存在如下问题:由于深度学习任务在运行中的各个阶段对于GPU计算资源的使用呈现波动性,因此简单地将多个任务同时运行在相同的GPU上将会导致任务间相互竞争GPU 计算资源,影响高优先级任务的性能,从而破坏任务的服务级别(SLA)保证,甚至导致某些任务失败。综上所述,如何对机器学习系统的共享GPU计算资源进行管理,以在确保高优先级任务运行性能的前提下,提升GPU集群利用率,成为本领域技术人员急需解决的问题。
发明内容
本申请提供计算资源管理方法,以解决现有技术存在的无法保障高优先级任务性能的问题。本申请另外提供计算资源管理装置和系统,机器学习系统,以及电子设备。
本申请提供一种机器学习系统,包括:
计算资源协调器和机器学习框架;
所述计算资源协调器,用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;
所述机器学习框架,用于根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量。
可选的,所述计算资源协调器,具体用于若高优先级任务的运行状况信息达到性能阈值,则根据所述使用状况信息,增加低优先级任务的计算资源使用量的上限值。
可选的,所述计算资源协调器,具体用于若高优先级任务的运行状况信息未达到性能阈值,则根据所述使用状况信息,则降低低优先级任务的计算资源使用量的上限值。
可选的,所述计算资源协调器,还用于若在运行高优先级任务时出现待运行的低优先级任务,则设置低优先级任务的计算资源使用量的第一上限值。
可选的,所述计算资源协调器,还用于若在运行低优先级任务时出现待运行的高优先级任务,则将低优先级任务的计算资源使用量调整至第一上限值。
可选的,所述机器学习框架,具体用于根据所述上限值,确定GPU算子发射频率;根据所述发射频率,向GPU发射GPU算子,以通过GPU执行GPU算子。
可选的,所述机器学习框架,具体用于根据所述发射频率,确定插入到GPU 算子前的时间槽长度和插入位置;根据所述时间槽长度和插入位置,在向GPU发射GPU算子时插入时间槽。
可选的,所述机器学习框架,还用于若所述高优先级任务的运行状况信息发生变化,则向所述计算资源协调器发送所述运行状况信息。
本申请还提供一种机器学习系统,包括:
客户端,用于向服务端发送机器学习任务的优先级信息;
服务端,用于确定通过图形处理单元GPU运行的机器学习任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令。
本申请还提供一种计算资源管理方法,包括:
确定通过图形处理单元GPU运行的多个机器学习任务的优先级;
确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;
根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
可选的,所述根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量,包括:
根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;
根据所述上限值,控制低优先级任务向GPU发射GPU算子的速度。
可选的,所述根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值,包括:
若高优先级任务的运行状况信息达到性能阈值,则根据所述使用状况信息,增加低优先级任务的计算资源使用量的上限值。
可选的,所述根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值,包括:
若高优先级任务的运行状况信息未达到性能阈值,则根据所述使用状况信息,则降低低优先级任务的计算资源使用量的上限值。
可选的,还包括:
若在运行高优先级任务时出现待运行的低优先级任务,则设置低优先级任务的计算资源使用量的第一上限值。
可选的,还包括:
若在运行低优先级任务时出现待运行的高优先级任务,则将低优先级任务的计算资源使用量调整至第一上限值。
可选的,所述根据所述上限值,控制低优先级任务向GPU发射GPU算子的速度,包括:
根据所述上限值,确定GPU算子发射频率;
根据所述发射频率,向GPU发射GPU算子,以通过GPU执行GPU算子。
可选的,所述运行状况信息包括运行性能信息,采用如下方式确定:
根据所述任务在单位时间内的迭代训练次数,确定运行性能信息。
本申请还提供一种计算资源管理装置,包括:
优先级确定单元,用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级;
信息采集单元,用于确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;
计算资源调整单元,用于根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
本申请还提供一种电子设备,包括:
处理器和存储器;
存储器,用于存储实现根据上述的计算资源管理方法的程序,该设备通电并通过所述处理器运行该方法的程序。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的机器学习系统,通过确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;所述机器学习框架根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量;这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以在保障高优先级任务性能的前提下,充分利用空闲计算资源,将空闲计算资源分配给低优先级任务使用;因此,可以有效提升GPU计算资源利用率,同时保障高优先级任务性能。
本申请实施例提供的机器学习系统,通过客户端向服务端发送机器学习任务的优先级信息;服务端确定通过图形处理单元GPU运行的机器学习任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以在保障高优先级任务性能的前提下,充分利用空闲计算资源,将空闲计算资源分配给低优先级任务使用;因此,可以有效提升GPU 计算资源利用率,同时保障高优先级任务性能。
本申请实施例提供的计算资源管理方法,通过确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量;这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以在保障高优先级任务性能的前提下,充分利用空闲计算资源,将空闲计算资源分配给低优先级任务使用;因此,可以有效提升GPU计算资源利用率,同时保障高优先级任务性能。
附图说明
图1本申请提供的一种机器学习系统的实施例的结构示意图;
图2本申请提供的一种机器学习系统的实施例的场景示意图;
图3本申请提供的一种机器学习系统的实施例的系统架构示意图;
图4本申请提供的一种机器学习系统的实施例的计算资源动态调节示意图;
图5本申请提供的一种机器学习系统的实施例的结构示意图;
图6本申请提供的一种计算资源管理方法的实施例的流程示意图;
图7本申请提供的一种计算资源管理装置的实施例的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了机器学习系统,计算资源管理方法、装置和系统,以及电子设备。在下面的实施例中逐一对各种方案进行详细说明。
第一实施例
请参考图1,其为本申请的机器学习系统的实施例的结构示意图。本实施例提供的系统包括:计算资源协调器1和机器学习框架2。
所述系统可在一个GPU上执行多个机器学习任务,多个机器学习任务共享该GPU的计算资源。GPU,又称为图形处理器或显卡,是一种专门用做图像和图形相关运算工作的微处理器,得益于其高效的矩阵运算能力,GPU成为运行深度学习任务至关重要的硬件设备。
如图2所示,所述系统可以是运行在一个或者多个基于GPU的计算节点上的分布式机器学习系统。所述基于GPU的计算节点,又称为GPU设备,一个节点可包括一个或者多个GPU卡。在一个GPU卡上可同时运行多个机器学习任务,每个机器学习任务可在多个GPU卡上并行,这些机器学习任务共享该GPU的计算资源。在图2中,节点1包括GPU1和GPU2,在GPU1上同时运行任务D和任务E,在GPU2上同时运行任务A、任务B和任务C,任务A在节点1和节点2上同时进行迭代训练。此外,GPU设备还包括中央处理器(CPU)及内存,其中CPU 又可称为GPU的宿主机。
所述机器学习任务,又称为机器学习模型训练任务,可从训练数据中学习得到机器学习模型。所述机器学习任务可以是深度学习任务,相应的,所述模型可以是基于深度神经网络的模型。例如,所述深度学习任务为从训练数据中学习得到的命名实体识别模型、语音识别模型、商品推荐模型等。所述机器学习任务,也可以是非深度学习任务,相应的,所述模型可以是基于普通神经网络的模型,还可以是决策树等非神经网络的机器学习模型。下面将以深度学习任务为例,说明本实施例提供的系统动态调节计算资源的方式。
本实施例提供的系统,通过所述计算资源协调器1与所述机器学习计算框架2协同设计,实现针对机器学习任务的自适应的GPU计算资源动态伸缩优化。如图3所示,所述计算资源协调器1支持自适应GPU计算资源调节,可部署在 GPU计算节点中,用于对该节点中一个或者多个GPU的计算资源进行调度管理,为在一个GPU上的多个任务动态调节GPU计算资源的使用量。所述机器学习计算框架2与机器学习任务相对应,每个任务通过机器学习计算框架运行。如图3 所示,在一个计算节点上包括四个GPU(GPU0至GPU3),其中GPU0上同时运行两个任务(任务0和任务1),任务0运行在TensorFlow框架中,任务1运行在 PyTorch框架中。
所述机器学习计算框架2,可以是端到端的机器学习平台,各种机器学习框架可拥有各自的生态系统,其中包含各种工具、库等资源,可助力开发者能够轻松地构建和部署由机器学习提供支持的应用。在本实施例中,机器学习计算框架为深度学习计算框架,包括但不限于TensorFlow、PyTorch、MXNet、Caffe等。
相较于现有技术的机器学习计算框架,本实施例提供的机器学习计算框架2 增加了用于动态控制GPU计算资源使用量的组件,该组件支持计算资源动态调节的机器学习计算服务,实现对于机器学习任务显卡计算资源使用量的动态控制。由于本实施例通过控制任务的GPU算子发射方式,来达到控制任务使用的计算资源量的目的,因此又将该组件称为GPU算子控制组件。
在本实施例中,所述计算资源协调器1用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;相应的,所述机器学习框架用于根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量。
本申请的发明人通过实验发现,深度学习任务在运行中的各个阶段对于GPU 计算资源的使用呈现波动性,由此导致经常出现空闲计算资源,为了充分利用空闲计算资源,现有技术简单地将多个任务同时运行在相同的GPU上。然而,上述计算资源的使用呈现波动性还会导致任务间相互竞争GPU计算资源,这样就会影响“性能保障任务”任务的性能,从而破坏该类任务的服务水平(SLA保证),甚至导致该类任务失败。为了确保这类“性能保障任务”任务的性能,同时充分利用空闲计算资源,发明人提出了一种新数据,即机器学习任务的性能保障优先级(简称优先级),任务的优先级越高,其性能越需要被保障,将该数据作为所述系统动态调节深度学习任务的计算资源使用量的数据基础。
所述计算资源协调器1,用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级。所述任务的优先级可根据应用需求确定,如只设置两个优先级:高优先级和低优先级。例如,命名实体识别模型的学习任务1为有服务水平保证的“性能保障任务”,语音识别模型的学习任务2为没有服务水平保证的“投机执行任务”,则可将任务1设置为高优先级,将任务2设置为低优先级。
具体实施时,也可以设置多个优先级。表1示出了一个示例中机器学习任务的优先级设置信息。
表1、机器学习任务表
由表1可见,本实施例中设置了三个任务优先级,其中一级为高优先级任务,二级为次高优先级,三级为最低优先级。在这种情况下,如果并行任务中有一级任务,则首先要保障一级任务的性能;如果不包括一级任务,则要保障二级任务的性能。
在一个示例中,所述系统可部署在服务端,并可通过客户端向用户提供任务服务装置。用户可通过客户端的任务服务装置,确定要运行的机器学习任务,并设置任务优先级,如选择“二级”优先级,不同优先级可能需要支付不同的服务费用。在确定要运行的机器学习任务,并设置任务优先级后,可通过客户端向服务端提交任务运行请求。所述服务端响应该请求,可存储该任务的优先级信息,并将该任务存储至任务表中。在所述系统通过所述机器学习框架2运行机器学习任务时,部署在计算节点中的所述计算资源协调器1可从服务端获取要通过该计算节点运行的多个任务的优先级信息。表2示出了本实施例中机器学习任务信息。
任务标识 | 用户标识 | 任务优先级 |
任务1(命名实体识别模型) | 用户A | 一级(性能保障任务) |
任务2(命名实体识别模型) | 用户B | 二级(投机执行任务) |
任务3(商品推荐模型) | 用户C | 二级(投机执行任务) |
任务4(语言模型) | 用户C | 一级(性能保障任务) |
… |
表2、机器学习任务表
由表2可见,用户A的命名实体识别模型的学习任务1为“性能保障任务”,用户B的命名实体识别模型的学习任务2为“投机执行任务”,“性能保障任务”的优先级高于“投机执行任务”的优先级。
所述计算资源协调器1不仅要确定通过图形处理单元GPU运行的多个机器学习任务的优先级,还要确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息。
所述计算资源使用状况信息,包括任务进程在GPU上的计算资源利用率。例如,图3中GPU0上运行的任务1实际使用30%的计算资源,任务2实际使用了46%的计算资源。所述高优先级任务的运行状况信息,包括但不限于:运行性能信息,任务使用的GPU卡数等信息。针对深度学习任务的运行特点,所述运行性能信息可以是任务在单位时间内运行的迭代的次数。
此外,所述计算资源协调器1还可监测所述GPU的设备状态信息。所述设备状态信息,包括但不限于GPU运行功率信息等。在这种情况下,所述计算资源协调器1具体用于根据高优先级任务的运行状况信息、所述使用状况信息、及所述GPU的设备状态信息,调整所述上限值。
如图3所示,在本实施例中,部署在计算节点本地的计算资源协调器1,可包括运行信息收集组件和资源控制决策组件。所述计算资源协调器1,可对该节点中每个GPU的计算资源使用进行动态调节。所述计算资源协调器1,可通过其中的运行信息收集组件从本节点上的所有GPU硬件上收集各个任务进程在GPU 上的计算资源利用率情况以及GPU运行功率信息。具体实施时,运行信息收集组件可周期性收集计算资源利用率情况以及GPU运行功率信息,如每10毫秒收集一次该信息。由图3可见,在本实施例的运行信息收集组件可从各个任务的深度学习计算框架上收集任务运行状况信息,该信息可包含任务使用GPU卡数 (如任务1使用GPU0和GPU1),任务当前的运行性能信息(如任务1在1秒内迭代运行10次),任务在其使用的每个GPU卡上的计算资源利用率等。
具体实施时,可以是由深度学习计算框架统计任务的运行状况信息及GPU计算资源利用率等信息,并将最新信息上交给所述计算资源协调器1中的运行信息收集组件。所述运行信息收集组件,可将收集到的所述运行状况信息和所述使用状况信息等交给资源控制决策组件。所述资源控制决策组件,可根据实时监测到的高优先级任务的运行状况信息和所述使用状况信息,动态调整低优先级任务的计算资源使用量的上限值。
在一个示例中,若高优先级任务的运行状况信息达到性能阈值,则根据所述使用状况信息,增加低优先级任务的计算资源使用量的上限值;若高优先级任务的运行状况信息未达到性能阈值,则根据所述使用状况信息,则降低低优先级任务的计算资源使用量的上限值。
所述性能阈值,可以是任务在单位时间内运行的迭代的次数的阈值,如将任务1的性能阈值设置为20次/秒,表示该任务在1秒内迭代运行至少20次,如果该任务在1秒内实际迭代运行为10次,则表示该任务的运行状况信息未达到性能阈值。
如图3所示,在本实施例中,所述计算资源协调器1中的运行信息收集组件可持续监测每个深度学习计算框架上报的任务运行状况信息、及计算资源使用状况信息,同时定期监测GPU设备状态信息。资源控制决策组件可根据当前节点上所有高优先级任务(如性能保障任务)的当前性能数据以及计算资源使用量,来调整低优先级任务(如所有投机执行任务)的计算资源使用量限制,即:计算资源使用量的上限值。
例如,监测到图3中GPU0上运行的高优先级任务1实际使用40%的计算资源、且能够达到服务水平,同时监测GPU0上运行的低优先级任务2只使用10%的计算资源、且运行性能较低,则可适当增加低优先级任务的计算资源使用量的上限值至20%,以利用空闲计算资源提升低优先级任务的运行性能,这样高优先级任务和低优先级任务都能具有较好的运行性能。
再例如,如果检测到任务1的性能下降到性能阈值以下,则可减少低优先级任务的计算资源使用量的上限值至15%,这样可以保证高优先级任务的运行性能。
在一个示例中,所述计算资源协调器还用于若在运行高优先级任务时出现待运行的低优先级任务,则设置低优先级任务的计算资源使用量的第一上限值。在这种情况下,高优先级任务先被调度执行,低优先级任务后被调度执行,所述计算资源协调器1可先将低优先级任务的GPU计算资源使用量限制为第一上限值。所述第一上限值,又称为初始上限值。此后,在两个任务并行运行过程中,可渐进式增加低优先级任务的计算资源使用量的上限值,并在此过程中监测高优先级任务的性能,如果高优先级任务的性能没有下降,就可以继续增加低优先级任务的GPU计算资源使用量的上限值。采用这种处理方式,使得采用从第一上限值渐进式增加调节低优先级任务的计算资源使用量的上限值的方式,这样可以有效确保高优先级任务的性能。
在另一个示例中,若在运行低优先级任务时出现待运行的高优先级任务,则将低优先级任务的计算资源使用量调整至第一上限值。在这种情况下,低优先级任务先被调度执行,高优先级任务后被调度执行,此时在调度高优先级任务前,所述计算资源协调器1可先将低优先级任务的GPU计算资源使用量限制为第一上限值,然后调度高优先级任务,并可将此时高优先级任务的性能作为基准性能(即:性能阈值),然后在两个任务并行运行过程中,渐进式增加低优先级任务的GPU计算资源使用量限制,在此过程中监控高优先级任务的性能,如果不低于基准性能,就继续增加低优先级任务的GPU计算资源使用量限制。采用这种处理方式,使得先将低优先级任务的上限值降为第一上限值,然后再从第一上限值渐进式增加调节低优先级任务的计算资源使用量的上限值,这样可以有效确保高优先级任务的性能。
需要说明的是,在低优先级任务先被调度执行、高优先级任务后被调度执行的情况下,高优先级任务的性能阈值可以为低优先级任务在第一上限值下高优先级任务的实际性能表现。具体实施时,性能阈值也可通过人为设置或者通过算法计算得到。
在本实施例中,所述计算资源协调器1将调整后的低优先级任务的GPU计算资源使用量的上限值下发给管理该任务运行的深度学习计算框架2,由框架2 完成对低优先级任务的GPU计算资源使用量限制。
所述计算资源协调器1在为低优先级任务重新确定所述上限值后,可向低优先级任务的机器学习框架发送计算资源调整指令。所述机器学习框架2根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量。
所述计算资源协调器1可循环执行上述数据监测、上限值调整、控制低优先级任务的计算资源使用量的整个执行过程,以此实现针对深度学习应用的自适应的GPU计算资源动态伸缩,最终达到在保证SLA的同时最大限度的提高资源利用率的目的,从而显著提高集群作业吞吐能力。
所述任务在运行过程中,可包括多次小批量的模型迭代训练,在一次小批量之内可能有若干个GPU算子,深度学习计算框架2要将这些GPU算子发射到GPU 上运行。在本实施例中,支持GPU计算资源动态伸缩的深度学习计算框架2,通过所述GPU算子控制组件,控制单位时间内低优先级任务执行的GPU算子数量,达到控制低优先级任务的GPU计算资源使用量的目的。所述单位时间,可根据应用需求确定,如每一秒为一个单位时间,或者是每十毫秒为一个单位时间等。
图4展示了所述深度学习计算框架2的执行过程。如图4a所示,当高优先级任务Job-A单独运行在一张GPU卡上时,深度学习计算框架2可统计该任务 GPU计算资源使用状况和运行状况等信息。具体实施时,GPU计算资源使用状况信息可以通过调用框架管理库(如NVIDIA管理库NVML)接口获取。由图4a可见,在没有其它任务竞争计算资源的情况下,高优先级任务在单位时间内可执行6个GPU算子。
然而,不同深度学习任务发射GPU算子的速度通常不同,当低优先级任务与高优先级任务共同执行在同一块GPU上时,两个任务竞争该GPU的计算资源,如果低优先级任务发射GPU算子的速度比高优先级任务发射GPU算子的速度更快,就会导致高优先级任务运行性能下降。
如图4b所示,当另一个低优先级任务Job-B与高优先级任务Job-A共同执行时,Job-B与Job-A竞争同一块GPU的计算资源,由于Job-B发射GPU算子的速度较快,最终导致Job-A运行性能下降,Job-A在单位时间内可执行的GPU算子从图a的6个下降到3个。此时,深度学习计算框架2监测到Job-A的性能下降,并可立即将Job-A的性能下降值上报给部署在GPU设备本地的所述计算资源协调器1。所述计算资源协调器1,可根据高优先级任务(Job-A)的性能下降情况、及低优先级任务(Job-B)的计算资源使用量,重新确定低优先级任务(Job-B)的计算资源使用量的上限值,并下发给低优先级任务(Job-B)所运行的深度学习计算框架2。
在一个示例中,所述机器学习框架具体用于根据所述上限值,确定GPU算子发射频率;根据所述发射频率,向GPU发射GPU算子。如图4c,运行Job-B 的深度学习计算框架收到新的计算资源使用量的上限值后,可根据该上限值,确定调整后的单位时间内GPU算子发射频率。例如,所述调整指令为要调低低优先级任务的计算资源使用量的上限值,调整前Job-B的发射频率为5个GPU算子/10毫秒,调整后的发射频率为2个GPU算子/10毫秒。在确定GPU算子发射频率后,根据所述发射频率,向GPU发射GPU算子,以通过GPU执行GPU算子。
具体实施时,所述机器学习框架2可具体用于根据所述发射频率,确定插入到GPU算子前的时间槽长度和插入位置;根据所述时间槽长度和插入位置,在向GPU发射GPU算子时插入时间槽。所述时间槽,是指在发射GPU算子前的一段等待时间,插入时间槽可使得所述任务暂停发送GPU算子,待时间槽的时间长度过后再继续发送GPU算子。
所述机器学习框架2确定所述发射频率后,可根据该频率信息,在单位时间内向GPU发射固定数量的GPU算子。所述机器学习框架2通过在GPU算子前插入时间槽,来控制单位时间内向GPU发射的GPU算子数量,使得满足所述频率的要求,从而达到控制低优先级任务的GPU计算资源使用量的目的。
所述时间槽长度,可根据单位时间长度、单位时间发射的GPU算子数量和一个GPU算子的运行时间共同确定。所述插入位置,可根据高优先级任务的GPU 算子发射时间确定。具体实施时,在每个GPU算子前插入的时间槽的长度可以相同,也可以不同。例如,单位时间长度为10毫秒,在单位时间内发射的GPU 算子数量为2个,一个GPU算子的运行时间为2毫秒,则时间槽长度可为3毫秒。
由图4c可见,所述机器学习框架2通过GPU算子控制组件,根据新的算子发射频率,计算需要插入的时间槽的大小及位置。图4c中的GPU算子控制组件通过在GPU算子发射过程中插入时间槽,达到控制Job-B作业单位时间内GPU 算子发射数量的目的,从而控制Job-B的GPU算子执行时间,最终达到控制Job- B计算资源使用量的目的。通过控制Job-B单位时间内发射GPU算子的数量,图 4c中Job-A单位时间发射并执行的算子数量得以恢复到其单独执行时的数目,因此Job-A的性能也将恢复,SLA得到保证。
需要说明的是,在此过程中,低优先级任务Job-B中的CPU算子的发射和执行并不受影响,这样便可以在保证高优先级任务Job-A性能的同时,提高GPU 计算资源和CPU计算资源的利用率,从而显著提高集群作业吞吐能力。
具体实施时,在完成图4c中的对低优先级任务的计算资源使用量动态调节之后,高优先级任务的深度学习计算框架2会继续监测其上运行的高优先级任务的运行状况信息,并将该信息上报给所述计算资源协调器1,从而在高优先级任务运行过程中持续根据高优先级任务的运行状况,自适应调节低优先级任务的计算资源使用量,在保证高优先级任务的服务水平的同时,尽可能的使低优先级任务获得更多的可用计算资源,提高计算资源的利用率,从而显著提高集群作业吞吐能力。
从上述实施例可见,本申请实施例提供的机器学习系统,通过确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;所述机器学习框架根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量;这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以在保障高优先级任务性能的前提下,充分利用空闲计算资源,将空闲计算资源分配给低优先级任务使用;因此,可以有效提升GPU计算资源利用率,同时保障高优先级任务性能。
第二实施例
与上述的机器学习系统相对应,本申请还提供一种机器学习系统。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
请参考图5,其为本申请的机器学习系统的实施例的结构示意图。本实施例提供的系统包括:客户端51和服务端52。
其中,客户端用于向服务端发送机器学习任务的优先级信息;服务端用于确定通过图形处理单元GPU运行的机器学习任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令。
所述客户端包括但不限于移动通讯设备,即:通常所说的手机或者智能手机,还包括个人电脑、PAD、iPad等终端设备。所述服务端,可在GPU集群上运行机器学习任务。
在一个示例中,所述服务端还可用于确定机器学习任务的性能信息;根据所述性能信息,调整所述任务的优先级。
例如,任务A的优先级原来为二级,但通过所述系统并没有使得该任务的性能达到用户要求的“二级”服务水平要求,那么可将该任务的优先级调整为一级,使得其真实性能达到用户要求的“二级”服务水平要求。
具体实施时,可记录机器学习任务在运行过程中的计算资源变化信息,根据这些变化信息,调整该任务的优先级信息。例如,如果高优先级任务30%的时间只使用了60%的计算资源运行,该任务的性能信息没有达到服务水平要求,则可调高该任务的优先级。
在另一个示例中,所述服务端还可用于确定机器学习任务的性能信息;根据所述性能信息,确定可服务的机器学习任务。
例如,可通过所述系统达到任务A和任务B的服务水平要求,但无法达到任务C的服务水平要求,则可为任务A和任务B提供资源管理服务。
从上述实施例可见,本申请实施例提供的机器学习系统,通过客户端向服务端发送机器学习任务的优先级信息;服务端确定通过图形处理单元GPU运行的机器学习任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以在保障高优先级任务性能的前提下,充分利用空闲计算资源,将空闲计算资源分配给低优先级任务使用;因此,可以有效提升GPU计算资源利用率,同时保障高优先级任务性能。
第三实施例
与上述的机器学习系统相对应,本申请还提供一种计算资源管理方法。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
请参考图6,其为本申请的计算资源管理方法的实施例的流程示意图。本实施例提供的方法可包括如下步骤:
步骤S601:确定通过图形处理单元GPU运行的多个机器学习任务的优先级。
步骤S603:确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息。
所述运行状况信息,包括但不限于:运行性能信息。所述运行性能信息,可采用如下方式确定:根据所述任务在单位时间内的迭代训练次数,确定运行性能信息。
步骤S605:根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
在一个示例中,步骤S605可包括如下步骤:
步骤S6051:根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值。
在一个示例中,步骤S6051可采用如下方式实现:若高优先级任务的运行状况信息达到性能阈值,则根据所述使用状况信息,增加低优先级任务的计算资源使用量的上限值。相应的,若高优先级任务的运行状况信息未达到性能阈值,则根据所述使用状况信息,则降低低优先级任务的计算资源使用量的上限值。
在一个示例中,所述方法还可包括如下步骤:若在运行高优先级任务时出现待运行的低优先级任务,则设置低优先级任务的计算资源使用量的第一上限值。
在一个示例中,所述方法还可包括如下步骤:若在运行低优先级任务时出现待运行的高优先级任务,则将低优先级任务的计算资源使用量调整至第一上限值。
步骤S6053:根据所述上限值,控制低优先级任务向GPU发射GPU算子的速度。
在一个示例中,步骤S6053可包括如下子步骤:1)根据所述上限值,确定 GPU算子发射频率;2)根据所述发射频率,向GPU发射GPU算子,以通过GPU 执行GPU算子。
从上述实施例可见,本申请实施例提供的计算资源管理方法,通过确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量;这种处理方式,使得根据高优先级任务运行性能,对在一个GPU上并行的低优先级任务使用的GPU计算资源进行动态伸缩优化,这样就可以在保障高优先级任务性能的前提下,充分利用空闲计算资源,将空闲计算资源分配给低优先级任务使用;因此,可以有效提升GPU计算资源利用率,同时保障高优先级任务性能。
第四实施例
在上述的实施例中,提供了一种计算资源管理方法,与之相对应的,本申请还提供一种计算资源管理装置。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
请参考图7,其为本申请的计算资源管理装置的实施例的结构示意图。本申请另外提供一种计算资源管理装置,包括:
优先级确定单元,用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级;
信息采集单元,用于确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;
计算资源调整单元,用于根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
第五实施例
在上述的实施例中,提供了一种计算资源管理方法,与之相对应的,本申请还提供一种电子设备。该装置是与上述方法的实施例相对应。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现计算资源管理方法的程序,该设备通电并通过所述处理器运行该方法的程序后,执行下述步骤:确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (19)
1.一种机器学习系统,其特征在于,包括:
计算资源协调器和机器学习框架;
所述计算资源协调器,用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级;确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令;
所述机器学习框架,用于根据所述调整指令包括的所述上限值,控制低优先级任务的计算资源使用量。
2.根据权利要求1的系统,其特征在于,
所述计算资源协调器,具体用于若高优先级任务的运行状况信息达到性能阈值,则根据所述使用状况信息,增加低优先级任务的计算资源使用量的上限值。
3.根据权利要求1的系统,其特征在于,
所述计算资源协调器,具体用于若高优先级任务的运行状况信息未达到性能阈值,则根据所述使用状况信息,则降低低优先级任务的计算资源使用量的上限值。
4.根据权利要求1的系统,其特征在于,
所述计算资源协调器,还用于若在运行高优先级任务时出现待运行的低优先级任务,则设置低优先级任务的计算资源使用量的第一上限值。
5.根据权利要求1的系统,其特征在于,
所述计算资源协调器,还用于若在运行低优先级任务时出现待运行的高优先级任务,则将低优先级任务的计算资源使用量调整至第一上限值。
6.根据权利要求1的系统,其特征在于,
所述机器学习框架,具体用于根据所述上限值,确定GPU算子发射频率;根据所述发射频率,向GPU发射GPU算子,以通过GPU执行GPU算子。
7.根据权利要求6的系统,其特征在于,
所述机器学习框架,具体用于根据所述发射频率,确定插入到GPU算子前的时间槽长度和插入位置;根据所述时间槽长度和插入位置,在向GPU发射GPU算子时插入时间槽。
8.根据权利要求1的系统,其特征在于,
所述机器学习框架,还用于若所述高优先级任务的运行状况信息发生变化,则向所述计算资源协调器发送所述运行状况信息。
9.一种机器学习系统,其特征在于,包括:
客户端,用于向服务端发送机器学习任务的优先级信息;
服务端,用于确定通过图形处理单元GPU运行的机器学习任务的计算资源使用状况信息、及高优先级任务的运行状况信息;根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;向低优先级任务的机器学习框架发送计算资源调整指令。
10.一种计算资源管理方法,其特征在于,包括:
确定通过图形处理单元GPU运行的多个机器学习任务的优先级;
确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;
根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
11.根据权利要求10的方法,其特征在于,所述根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量,包括:
根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值;
根据所述上限值,控制低优先级任务向GPU发射GPU算子的速度。
12.根据权利要求11的方法,其特征在于,所述根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值,包括:
若高优先级任务的运行状况信息达到性能阈值,则根据所述使用状况信息,增加低优先级任务的计算资源使用量的上限值。
13.根据权利要求12的方法,其特征在于,所述根据所述运行状况信息和所述使用状况信息,调整低优先级任务的计算资源使用量的上限值,包括:
若高优先级任务的运行状况信息未达到性能阈值,则根据所述使用状况信息,则降低低优先级任务的计算资源使用量的上限值。
14.根据权利要求12的方法,其特征在于,还包括:
若在运行高优先级任务时出现待运行的低优先级任务,则设置低优先级任务的计算资源使用量的第一上限值。
15.根据权利要求12的方法,其特征在于,还包括:
若在运行低优先级任务时出现待运行的高优先级任务,则将低优先级任务的计算资源使用量调整至第一上限值。
16.根据权利要求11的方法,其特征在于,所述根据所述上限值,控制低优先级任务向GPU发射GPU算子的速度,包括:
根据所述上限值,确定GPU算子发射频率;
根据所述发射频率,向GPU发射GPU算子,以通过GPU执行GPU算子。
17.根据权利要求10的方法,其特征在于,
所述运行状况信息包括运行性能信息,采用如下方式确定:
根据所述任务在单位时间内的迭代训练次数,确定运行性能信息。
18.一种计算资源管理装置,其特征在于,包括:
优先级确定单元,用于确定通过图形处理单元GPU运行的多个机器学习任务的优先级;
信息采集单元,用于确定所述任务的计算资源使用状况信息、及高优先级任务的运行状况信息;
计算资源调整单元,用于根据所述运行状况信息和所述使用状况信息,控制低优先级任务的计算资源使用量。
19.一种电子设备,其特征在于,包括:
处理器和存储器;
存储器,用于存储实现根据权利要求10至17所述的计算资源管理方法的程序,该设备通电并通过所述处理器运行该方法的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211113.8A CN114443262A (zh) | 2020-11-03 | 2020-11-03 | 计算资源管理方法、装置、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211113.8A CN114443262A (zh) | 2020-11-03 | 2020-11-03 | 计算资源管理方法、装置、设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443262A true CN114443262A (zh) | 2022-05-06 |
Family
ID=81361140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011211113.8A Pending CN114443262A (zh) | 2020-11-03 | 2020-11-03 | 计算资源管理方法、装置、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443262A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204327A (zh) * | 2023-05-06 | 2023-06-02 | 阿里巴巴(中国)有限公司 | 分布式系统通信调度方法及分布式机器学习系统 |
-
2020
- 2020-11-03 CN CN202011211113.8A patent/CN114443262A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116204327A (zh) * | 2023-05-06 | 2023-06-02 | 阿里巴巴(中国)有限公司 | 分布式系统通信调度方法及分布式机器学习系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10963285B2 (en) | Resource management for virtual machines in cloud computing systems | |
US10460241B2 (en) | Server and cloud computing resource optimization method thereof for cloud big data computing architecture | |
CN113448743B (zh) | 用于任务处理的方法、电子设备以及计算机程序产品 | |
CN108989238A (zh) | 一种分配业务带宽的方法以及相关设备 | |
US20180225149A1 (en) | Resource management for virtual machines in cloud computing systems | |
US8547840B1 (en) | Bandwidth allocation of bursty signals | |
Sathiyamoorthi et al. | Adaptive fault tolerant resource allocation scheme for cloud computing environments | |
CN104243405A (zh) | 一种请求处理方法、装置及系统 | |
CN114443263A (zh) | 显存管理方法、装置、设备及系统 | |
CN112508768B (zh) | 单算子多模型流水线推理方法、系统、电子设备及介质 | |
CN115794337A (zh) | 资源调度方法、装置、云平台、设备及存储介质 | |
EP4177745A1 (en) | Resource scheduling method, electronic device, and storage medium | |
CN114610474A (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN112667400A (zh) | 边缘自治中心管控的边云资源调度方法、装置及系统 | |
CN118210609A (zh) | 一种基于dqn模型的云计算调度方法及系统 | |
CN114443262A (zh) | 计算资源管理方法、装置、设备及系统 | |
CN113961353A (zh) | 一种ai任务的任务处理方法和分布式系统 | |
US11586475B2 (en) | Application aware resource allocation for deep learning job scheduling | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
CN110750349A (zh) | 一种分布式任务调度方法及系统 | |
CN115858667A (zh) | 用于同步数据的方法、装置、设备和存储介质 | |
CN110457130B (zh) | 一种分布式资源弹性调度模型、方法、电子设备及存储介质 | |
CN114265692A (zh) | 服务调度方法、装置、设备以及存储介质 | |
CN114546631A (zh) | 任务调度方法、控制方法、核心、电子设备、可读介质 | |
CN110874430B (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 |