CN110389816A - 用于资源调度的方法、装置以及计算机程序产品 - Google Patents
用于资源调度的方法、装置以及计算机程序产品 Download PDFInfo
- Publication number
- CN110389816A CN110389816A CN201810360349.4A CN201810360349A CN110389816A CN 110389816 A CN110389816 A CN 110389816A CN 201810360349 A CN201810360349 A CN 201810360349A CN 110389816 A CN110389816 A CN 110389816A
- Authority
- CN
- China
- Prior art keywords
- resource
- deep learning
- task
- processing
- requirement
- 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
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
-
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开的实施例提供了用于资源调度的方法、装置以及计算机程序产品。该方法包括获取针对深度学习任务的处理要求,处理要求由用户指定并且至少包括与深度学习任务的完成时间相关的要求。该方法还包括基于处理要求确定深度学习任务所需的资源,以使得基于资源对深度学习任务的处理满足处理要求。通过本公开的实施例,可以合理且灵活地调度资源用于满足特定深度学习任务的用户处理要求,而无需用户人工指定具体的资源需求。
Description
技术领域
本公开的实施例涉及计算机处理领域,并且更具体地,涉及用于资源调度的方法、装置以及计算机程序产品。
背景技术
近年来,高性能计算、机器学习、深度学习和人工智能等新兴技术快速发展。技术人员基于这些新兴技术、根据实际需要设计不同的处理任务,以完成相应的处理目标。这样的任务可以被统称为深度学习任务。深度学习任务经常依赖于大量的数据和高强度的处理能力,特别是并行处理能力。因此,除了中央处理单元(CPU)等通用处理资源、存储装置等存储资源,深度学习任务还需要诸如图形处理单元(GPU)、现场可编程门阵列(FPGA)等的专用处理资源来执行。取决于任务的目标、复杂度、精度等不同方面的要求,不同深度学习任务对于资源的需求量可能不尽相同。期望能够为这些深度学习任务调度合理资源用于任务执行。
发明内容
本公开的实施例提供了一种用于资源调度的方案。
在本公开的第一方面中,提供了一种资源调度的方法。该方法包括获取针对深度学习任务的处理要求,处理要求由用户指定并且至少包括与深度学习任务的完成时间相关的要求。该方法还包括基于处理要求确定深度学习任务所需的资源,以使得基于资源对深度学习任务的处理满足处理要求。
在本公开的第二方面中,提供了一种用于资源调度的装置。该装置包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使装置执行动作。动作包括获取针对深度学习任务的处理要求,处理要求由用户指定并且至少包括与深度学习任务的完成时间相关的要求。动作还包括基于处理要求确定深度学习任务所需的资源,以使得基于资源对深度学习任务的处理满足处理要求。
在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了用于资源调度的常规系统的示意图;
图2示出了根据本公开的实施例的用于资源调度的系统的示意图;
图3示出了根据本公开的实施例的资源调度的过程的流程图;以及
图4示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如本文中所使用的,“深度学习任务”指的是涉及高性能计算、机器学习和人工智能算法的处理任务,也被称为“深度学习应用”。深度学习任务的特点在于对大量数据的强大处理能力的需求,特别是对并行处理能力的要求。此外,一些深度学习任务还可运行在业务流程平台上。深度学习任务的一些示例可以包括对深度学习模型的训练,对深度学习模型的使用等等。深度学习模型在此可以任何类型的学习模型、神经网络。
通常,对深度学习任务的处理在数小时、数天、甚至数周的时间段上对于特定计算能力(通常以每秒浮点运算(Floating Point Operations Per Second,FLOPS)表示)和存储能力都有极大需求。此外,取决于任务的目标、复杂度、精度等不同方面的要求,不同深度学习任务对于资源的需求量可能不尽相同。因此在执行深度学习任务之前,为这些任务调度所需的处理资源可以很好地确保任务的顺利完成。
在常规方案中,通常由用户直接指定用于深度学习任务的资源。图1示出了基于这样的方案的系统100的示意图。在系统100中,用户终端110期望利用资源池130中的资源来处理深度学习任务120。资源池130可以是用户终端110可使用的资源的集合,例如数据中心等。资源池130中的资源在图1中被图示为部署在云端。为了处理深度学习任务120,用户终端110向资源池130发送消息114,该消息114指示深度学习任务120的处理所需的具体资源,例如10个中央处理单元(CPU)核、16GB存储、5个图形处理单元(GPU)等。这些具体资源由用户终端110的用户102经由用户输入112来指示。用户终端110还可以将深度学习任务120的文件发送给资源池130。资源池130将分配消息114中指定的资源用于处理深度学习任务120,并且向用户终端110返回深度学习任务120的处理结果132。
由用户直接指定深度学习任务的处理资源的方式(例如图1的方式)建立在用户明确知道任务的资源需求量的基础上,这对用户经验和知识提出较大要求。虽然不合理的资源指定(例如指定较少资源)也可以保证任务的完成,但这会导致较长的等待时间。如果过多的资源被用户指定用于特定深度学习任务的处理,这将会造成资源浪费和系统总体效率的降低。此外,由于深度学习任务通常需要相对长时间的运行,如果用户对任务完成时间有具体的要求或期望,需要自行估计应当指定哪些资源或多少资源量来完成深度学习任务,这对于用户而言是极大的挑战。
根据本公开的实施例,提出了一种用于资源调度的方案。该方案基于深度学习任务的处理要求来调度资源,这样的处理要求由用户直接指定并且至少与深度学习任务的完成时间相关。通过这种方式,可以合理且灵活地调度资源用于满足特定深度学习任务的用户处理要求,而无需用户人工指定具体的资源需求。
图2示出了根据本公开的实施例的用于资源调度的系统200的示意图。系统200涉及用户终端210和资源池250。系统200还涉及资源调度器230,被配置为给用户终端210调度资源池250中的资源。如果用户终端210的用户期望处理深度学习任务220,用户终端210可以向资源调度器230发送调度请求214。
根据本公开的实施例,用户终端210向资源调度器230指示针对深度学习任务220的处理要求。用户终端210可以在调度请求214中指示由用户202指定的处理要求。在本文中,处理要求也可以被称为服务等级协议(SLA)要求。处理要求由用户终端210的用户202指定并且至少包括与深度学习任务220的完成时间相关的要求。用户202可以经由用户输入212向用户终端210输入这样的要求。例如,用户202可以通过用户输入212直接指定期望在例如30分钟或1个小时内完成深度学习任务220的处理。
在一些实施例中,针对深度学习任务220的处理要求还可以包括与深度学习任务220的处理成本相关的要求。处理成本的要求可以包括要确定用于深度学习任务220的处理的资源的能量消耗成本。例如,相对于两个中等处理能力的设备而言,单个更高处理能力的设备将消耗更小的能量。备选地或附加地,处理成本的要求可以包括要确定用于深度学习任务220的处理的资源的花费成本。这样的要求涉及用户需要对资源的使用付费的情况。在保证深度学习任务220的完成时间的情况下,期望所确定的资源的处理成本(例如能量消耗成本和/或花费成本)较低(例如,在可接受阈值内或最低)。
资源调度器230获取针对深度学习任务220的处理要求,例如从调度请求214中获取这样的要求。响应于调度请求214,资源调度器230基于处理要求来确定深度学习任务220所需的资源,以使得基于所确定的资源对深度学习任务220的处理能够满足处理要求。特别地,基于所确定的资源至少确保深度学习任务220能够在所要求的完成时间内被完成。附加地,所确定的资源带来的处理成本(例如,能量消耗成本和/或花费成本)不超过处理成本相关的要求。
在一些实施例中,资源调度器230可以利用资源预测模型240来确定深度学习任务220所需的资源。资源预测模型240可以是被训练为实现资源预测的模型。资源预测模型240例如可以被实现为一种学习模型,可以基于特定输入(包括针对深度学习任务220的处理要求)来输出资源,以使得所输出的资源满足输入的处理要求。资源调度器230可以向资源预测模型240发送预测请求232,其包括针对深度学习任务220的处理要求。
为了针对深度学习任务220来执行资源预测,资源预测模型240还需要与深度学习任务220相关的信息。深度学习任务220对资源的需求通常由深度学习任务220的具体设计相关。影响深度学习任务220所需的资源量的信息包括深度学习任务220的表示数据和处理参数。深度学习任务220的表示数据指的是深度学习任务220的具体设计数据或代码。例如,如果深度学习任务220涉及神经网络的训练或使用,则深度学习任务220的表示数据包括描述神经网络结构的数据、用于训练的训练数据、神经网络的运行代码等。这些数据通常由技术人员或设计人员编写为代码的形式并且存储为文件。
除了深度学习任务220自身的表示数据之外,深度学习任务220的处理参数通常由任务的设计者/开发人员配置。这些参数影响任务的复杂度,进而也影响任务对资源的需求。例如,如果深度学习任务220涉及对神经网络的训练,那么处理参数可以包括全部训练样本通过神经网络的轮数、每轮的迭代次数、一次迭代所使用的训练样本数、梯度优化算法等。例如,对于给定的深度学习任务,如果要使用1000个训练样本进行训练并且规定每次迭代的样本数为500,则一轮需要执行两次迭代。深度学习任务的设计者还可以指定训练样本经过神经网络的轮数。
深度学习任务220的表示数据和处理参数将会影响到在处理深度学习任务220时需要的处理资源和存储资源的需求。深度学习任务220的表示数据和处理参数可以由用户终端210在调度请求214中或者与调度请求214一起发送给资源调度器230。在一些实施例中,用户终端210可以直接将深度学习任务220的表示数据(例如包含具体代码的文件)发送给资源调度器230。在一些实施例中,用户终端210可以向资源调度器230指示深度学习任务220的表示数据(例如,代码文件的位置、训练数据的位置和数量、代码执行命令等),从而减少数据传送量。资源调度器230可以将这些信息反馈给资源预测模型240,并且资源预测模型240可以根据需要获取相应的信息。
基于深度学习任务220的处理要求并且还可能基于深度学习任务220的表示数据和处理参数,资源预测模型240可以确定深度学习任务220所需的资源。所确定的资源要可以使得深度学习任务220的处理满足处理要求,包括完成时间的要求和可能的关于处理成本方面的要求。例如,如果所要求的完成时间较短,资源预测模型240将分配更多或更强大的处理设备以及存储容量用于处理深度学习任务220的处理。此外,所确定的资源量和/或类型还可以满足处理成本相关的要求。
资源预测模型240可以向资源调度器230返回资源指示242,以指示所确定的资源。资源指示242可以指示例如用于深度学习任务220的处理的专用处理资源(诸如GPU、FPGA等专用处理设备)、通用处理资源(例如CPU设备)和存储资源(例如,内存、持久性存储设备)中的一种或多种资源。在一些实现中,资源指示242可以满足针对深度学习任务220的处理要求(例如,与完成时间相关的要求)的资源量和/或资源类型。例如,可以仅指示深度学习任务220的处理需要多少个特定类型的GPU、多少个特定类型的CPU核以及内存大小。在一些实施例中,如果深度学习任务220对通用处理资源(例如CPU)的要求不高,资源预测模型240可以无需确定深度学习任务220所需的通用处理资源。
在一些实施例中,资源预测模型240预测的资源包括资源池250中的资源。在这种情况下,资源预测模型240可以获得资源池250中当前可用资源的信息(包括专用和通用处理资源以及存储资源相关)的信息。这样的信息可以包括可用资源的量,和/或可以包括具体的可用资源。
资源调度器230获得资源指示242,从而确定深度学习任务220所需的资源。在一些实施例中,资源调度器230管理资源池250的资源调度并且因此可以从资源池250分配所确定的资源以用于处理深度学习任务220。资源调度器230可以分配资源池250中当前可用的资源用于处理深度学习任务220。在由所分配的资源处理之后,深度学习任务220的处理结果252还可以被提供给用户终端210,并由用户终端210呈现或通知给用户202。
在一些实施例中,基于用户的处理要求,资源预测模型240可以确定满足处理要求的多组候选资源。每组候选资源可以指示深度学习任务220所需的特定资源,例如某个/某些GPU、某个/某些CPU或/或存储资源量。资源预测模型240可以将这些候选资源提供给资源调度器230,并且资源调度器230将这些候选资源指示给用户终端210。用户终端210可以将这些候选资源的指示呈现给用户202,以供用户202选择。用户202可以根据需要选择某组候选资源,这样的用户选择可以由用户终端210传送给资源调度器230。响应于用户选择,资源调度器230从多组候选资源中选择深度学习任务220所需的资源。
在一些实施例中,还可以基于所确定的资源来确定深度学习任务的预计完成时间。为了满足处理要求,这个预计完成时间小于等于处理要求中所指定的完成时间。预计完成时间的确定可以由资源预测模型240确定,或者由资源调度器230基于资源预测模型240返回的资源来确定。资源调度器230可以将预计完成时间提供给用户终端210,以便由用户终端210提供给用户202(例如通过显示器呈现给用户202)。以此方式,用户202可以直观地了解在当前的资源调度情况下深度学习任务220的预计完成时间。
在涉及与处理成本相关的要求的实施例中,还可以由资源预测模型240或者资源调度器230基于所确定的资源来确定深度学习任务的预计处理成本,例如能量消耗成本和/或花费成本。这样的预计处理成本也可以被提供给用户终端210,以便向用户210呈现。
在要向用户202提供多组候选资源的实施例中,可以确定和提供每组候选资源相关的预计完成时间和预计处理成本。用户202可以基于所呈现的预计完成时间和预计处理成本来选择特定的候选资源以用于深度学习任务220的处理。
资源池250可以是用户终端210可用的资源的集合,包括专用处理资源、通用处理资源和存储资源。在一些实施例中,资源池250可以被部署为数据中心。在图2的示例中,资源池250被图示为部署在云端,因此提供相应资源的物理设备以分布式的方式被部署。在其他示例中,资源池250还可以以其他方式被部署或供应,例如以集中的方式被供应。
以上在图2的示例的情况下描述了用于为深度学习任务调度资源的实施例。在一些实施例中,用户终端210可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机等。在一些实施例中,资源调度器230可以被实现为任何管理器和/或控制器,以用于实现对用户终端210的资源的调度。资源调度器230也可以由任意类型的计算设备来实现。虽然在上述描述中资源调度器230利用预先训练的资源预测模型240来确定深度学习任务220所需的资源,在其他实施中,资源调度器230还可以以任何其他方式来确定资源需求量。
图3示出了根据本公开的实施例的资源调度的过程300的流程图。过程300可以由图2的系统中的资源调度器230来实现。为便于讨论,将参照图2进行描述。应当理解的是,该过程还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
在310,资源调度器230获取针对深度学习任务的处理要求,处理要求由用户指定并且至少包括与深度学习任务的完成时间相关的要求。在320,资源调度器230基于处理要求确定深度学习任务所需的资源,以使得基于资源对深度学习任务的处理满足处理要求。
在一些实施例中,确定深度学习任务所需的资源还可以包括:获取深度学习任务的表示数据和处理参数;以及还基于表示数据和处理参数来确定资源。
在一些实施例中,处理要求还可以包括与深度学习任务的处理成本相关的要求。
在一些实施例中,确定深度学习任务所需的资源可以包括确定以下至少一项:专用处理资源,通用处理资源,以及存储资源。
在一些实施例中,过程300还可以包括:基于资源确定深度学习任务的预计完成时间;以及为用户提供预计完成时间。
在一些实施例中,确定深度学习任务所需的资源可以包括:确定满足处理要求的多组候选资源;以及响应于用户选择,从多组候选资源中选择深度学习任务所需的资源。
在一些实施例中,过程300还可以包括从资源池分配所确定的资源以用于处理深度学习任务。
图4示出了可以用来实施本公开的实施例的示例设备400的示意性框图。设备400可以用于实现图3的过程300。设备400可以被实现为图2的系统200中的资源调度器230或用户终端210。如图所示,设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元401执行上文所描述的各个方法和处理,例如过程300。例如,在一些实施例中,过程300可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由CPU 401执行时,可以执行上文描述的过程300的一个或多个步骤。备选地,在其他实施例中,CPU 401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程300。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
Claims (15)
1.一种资源调度的方法,包括:
获取针对深度学习任务的处理要求,所述处理要求由用户指定并且至少包括与所述深度学习任务的完成时间相关的要求;以及
基于所述处理要求确定所述深度学习任务所需的资源,以使得基于所述资源对所述深度学习任务的处理满足所述处理要求。
2.根据权利要求1所述的方法,其中确定所述深度学习任务所需的资源还包括:
获取所述深度学习任务的表示数据和处理参数;以及
还基于所述表示数据和处理参数来确定所述资源。
3.根据权利要求1所述的方法,其中所述处理要求还包括与所述深度学习任务的处理成本相关的要求。
4.根据权利要求1所述的方法,其中确定所述深度学习任务所需的资源包括确定以下至少一项:
专用处理资源,
通用处理资源,以及
存储资源。
5.根据权利要求1所述的方法,还包括:
基于所述资源确定所述深度学习任务的预计完成时间;以及
为所述用户提供所述预计完成时间。
6.根据权利要求1所述的方法,其中确定所述深度学习任务所需的资源包括:
确定满足所述处理要求的多组候选资源;以及
响应于用户选择,从所述多组候选资源中选择所述深度学习任务所需的所述资源。
7.根据权利要求1所述的方法,还包括:
从资源池分配所确定的资源以用于处理所述深度学习任务。
8.一种用于资源调度的装置,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述装置执行动作,所述动作包括:
获取针对深度学习任务的处理要求,所述处理要求由用户指定并且至少包括与所述深度学习任务的完成时间相关的要求;以及
基于所述处理要求确定所述深度学习任务所需的资源,以使得基于所述资源对所述深度学习任务的处理满足所述处理要求。
9.根据权利要求8所述的装置,其中确定所述深度学习任务所需的资源还包括:
获取所述深度学习任务的表示数据和处理参数;以及
还基于所述表示数据和处理参数来确定所述资源。
10.根据权利要求8所述的装置,其中所述处理要求还包括与所述深度学习任务的处理成本相关的要求。
11.根据权利要求8所述的装置,其中确定所述深度学习任务所需的资源包括确定以下至少一项:
专用处理资源,
通用处理资源,以及
存储资源。
12.根据权利要求8所述的装置,其中所述动作还包括:
基于所述资源确定所述深度学习任务的预计完成时间;以及
为所述用户提供所述预计完成时间。
13.根据权利要求8所述的装置,其中确定所述深度学习任务所需的资源包括:
确定满足所述处理要求的多组候选资源;以及
响应于用户选择,从所述多组候选资源中选择所述深度学习任务所需的所述资源。
14.根据权利要求8所述的装置,其中所述动作还包括:
从资源池分配所确定的资源以用于处理所述深度学习任务。
15.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360349.4A CN110389816B (zh) | 2018-04-20 | 2018-04-20 | 用于资源调度的方法、装置以及计算机可读介质 |
US16/380,654 US11436050B2 (en) | 2018-04-20 | 2019-04-10 | Method, apparatus and computer program product for resource scheduling |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810360349.4A CN110389816B (zh) | 2018-04-20 | 2018-04-20 | 用于资源调度的方法、装置以及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389816A true CN110389816A (zh) | 2019-10-29 |
CN110389816B CN110389816B (zh) | 2023-05-23 |
Family
ID=68235962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810360349.4A Active CN110389816B (zh) | 2018-04-20 | 2018-04-20 | 用于资源调度的方法、装置以及计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11436050B2 (zh) |
CN (1) | CN110389816B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104222A (zh) * | 2019-12-16 | 2020-05-05 | 上海众源网络有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN116974771A (zh) * | 2023-09-18 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 资源调度方法、相关装置、电子设备及介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4014436A1 (en) * | 2019-08-16 | 2022-06-22 | Telefonaktiebolaget LM Ericsson (publ) | Methods, apparatus and machine-readable media relating to machine-learning in a communication network |
CN114303347A (zh) * | 2019-08-16 | 2022-04-08 | 瑞典爱立信有限公司 | 通信网络中与机器学习相关的方法、装置和机器可读介质 |
CN110618870B (zh) * | 2019-09-20 | 2021-11-19 | 广东浪潮大数据研究有限公司 | 一种深度学习训练任务的工作方法及装置 |
CN111010735A (zh) * | 2019-11-20 | 2020-04-14 | 京信通信系统(中国)有限公司 | 资源配置方法、装置、基站和存储介质 |
US20210185700A1 (en) * | 2019-12-13 | 2021-06-17 | Qualcomm Incorporated | Scheduling request associated with artificial intelligence information |
CN113126888B (zh) * | 2020-01-15 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、设备和计算机程序产品 |
CN111258735A (zh) * | 2020-01-16 | 2020-06-09 | 中国人民解放军国防科技大学 | 一种支持用户QoS感知的深度学习任务调度方法 |
CN111310922A (zh) * | 2020-03-27 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 处理深度学习计算任务的方法、装置、设备和存储介质 |
JP2021179778A (ja) * | 2020-05-13 | 2021-11-18 | 富士通株式会社 | 情報処理装置、求解方法、及び求解プログラム |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238718A (zh) * | 2010-04-30 | 2011-11-09 | 中兴通讯股份有限公司 | 一种多用户系统中的发送分集实现方法及设备 |
US20120222032A1 (en) * | 2010-10-29 | 2012-08-30 | International Business Machines Corporation | Monitoring real-time computing resources |
CN103729246A (zh) * | 2013-12-31 | 2014-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法和装置 |
US20140122546A1 (en) * | 2012-10-30 | 2014-05-01 | Guangdeng D. Liao | Tuning for distributed data storage and processing systems |
CN103970606A (zh) * | 2013-01-30 | 2014-08-06 | 韩国电子通信研究院 | 用于分配资源的设备和方法 |
CN104102544A (zh) * | 2014-06-30 | 2014-10-15 | 武汉理工大学 | 混合云环境下多QoS约束的并行任务调度成本优化方法 |
CN105100184A (zh) * | 2014-05-19 | 2015-11-25 | 英特尔公司 | 虚拟机的可靠且确定的实时迁移 |
US20160063164A1 (en) * | 2014-09-02 | 2016-03-03 | Thales | Method for determining by optimization a multi-core architecture |
CN105700955A (zh) * | 2014-11-28 | 2016-06-22 | 英业达科技有限公司 | 服务器系统的资源分配方法 |
CN107135257A (zh) * | 2017-04-28 | 2017-09-05 | 东方网力科技股份有限公司 | 一种节点集群中任务分配的方法、节点和系统 |
CN107783818A (zh) * | 2017-10-13 | 2018-03-09 | 北京百度网讯科技有限公司 | 深度学习任务处理方法、装置、设备及存储介质 |
CN107888669A (zh) * | 2017-10-31 | 2018-04-06 | 武汉理工大学 | 一种基于深度学习神经网络的大规模资源调度系统及方法 |
US10685295B1 (en) * | 2016-12-29 | 2020-06-16 | X Development Llc | Allocating resources for a machine learning model |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10713589B1 (en) * | 2016-03-03 | 2020-07-14 | Amazon Technologies, Inc. | Consistent sort-based record-level shuffling of machine learning data |
JP6697159B2 (ja) * | 2016-07-13 | 2020-05-20 | 富士通株式会社 | 機械学習管理プログラム、機械学習管理装置および機械学習管理方法 |
US20180082212A1 (en) * | 2016-09-20 | 2018-03-22 | Intel Corporation | Optimizing machine learning running time |
US11004010B2 (en) * | 2016-12-30 | 2021-05-11 | eSentire, Inc. | Processing real-time processing requests using machine learning models |
US20180314971A1 (en) * | 2017-04-26 | 2018-11-01 | Midea Group Co., Ltd. | Training Machine Learning Models On A Large-Scale Distributed System Using A Job Server |
US20180314933A1 (en) * | 2017-04-28 | 2018-11-01 | Intel Corporation | Accelerated decision trees on data center clusters |
-
2018
- 2018-04-20 CN CN201810360349.4A patent/CN110389816B/zh active Active
-
2019
- 2019-04-10 US US16/380,654 patent/US11436050B2/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238718A (zh) * | 2010-04-30 | 2011-11-09 | 中兴通讯股份有限公司 | 一种多用户系统中的发送分集实现方法及设备 |
US20120222032A1 (en) * | 2010-10-29 | 2012-08-30 | International Business Machines Corporation | Monitoring real-time computing resources |
US20140122546A1 (en) * | 2012-10-30 | 2014-05-01 | Guangdeng D. Liao | Tuning for distributed data storage and processing systems |
CN103970606A (zh) * | 2013-01-30 | 2014-08-06 | 韩国电子通信研究院 | 用于分配资源的设备和方法 |
CN103729246A (zh) * | 2013-12-31 | 2014-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法和装置 |
CN105100184A (zh) * | 2014-05-19 | 2015-11-25 | 英特尔公司 | 虚拟机的可靠且确定的实时迁移 |
CN104102544A (zh) * | 2014-06-30 | 2014-10-15 | 武汉理工大学 | 混合云环境下多QoS约束的并行任务调度成本优化方法 |
US20160063164A1 (en) * | 2014-09-02 | 2016-03-03 | Thales | Method for determining by optimization a multi-core architecture |
CN105700955A (zh) * | 2014-11-28 | 2016-06-22 | 英业达科技有限公司 | 服务器系统的资源分配方法 |
US10685295B1 (en) * | 2016-12-29 | 2020-06-16 | X Development Llc | Allocating resources for a machine learning model |
CN107135257A (zh) * | 2017-04-28 | 2017-09-05 | 东方网力科技股份有限公司 | 一种节点集群中任务分配的方法、节点和系统 |
CN107783818A (zh) * | 2017-10-13 | 2018-03-09 | 北京百度网讯科技有限公司 | 深度学习任务处理方法、装置、设备及存储介质 |
CN107888669A (zh) * | 2017-10-31 | 2018-04-06 | 武汉理工大学 | 一种基于深度学习神经网络的大规模资源调度系统及方法 |
Non-Patent Citations (3)
Title |
---|
ARASH GHORBANNIA DELAVAR等: "HSGA:a hybrid heuristic algorithm for workflow scheduling in cloud systems", 《CLUSTER COMPUTING》 * |
吴香林等: "移动网格任务调度算法研究", 《信息通信技术》 * |
胡志刚等: "一种基于预测的资源匹配算法", 《计算机应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104222A (zh) * | 2019-12-16 | 2020-05-05 | 上海众源网络有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN111104222B (zh) * | 2019-12-16 | 2023-06-30 | 上海众源网络有限公司 | 任务处理方法、装置、计算机设备和存储介质 |
CN116974771A (zh) * | 2023-09-18 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 资源调度方法、相关装置、电子设备及介质 |
CN116974771B (zh) * | 2023-09-18 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 资源调度方法、相关装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190324805A1 (en) | 2019-10-24 |
US11436050B2 (en) | 2022-09-06 |
CN110389816B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389816A (zh) | 用于资源调度的方法、装置以及计算机程序产品 | |
US11392843B2 (en) | Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer | |
US10789544B2 (en) | Batching inputs to a machine learning model | |
Zhu et al. | Scheduling stochastic multi-stage jobs to elastic hybrid cloud resources | |
JP6122621B2 (ja) | プロジェクトの計画及び管理のシミュレーション及び視覚化 | |
CN115061810A (zh) | 处理计算图 | |
Wu et al. | Hybrid evolutionary scheduling for energy-efficient fog-enhanced internet of things | |
CN108351805A (zh) | 计算图的基于流的加速器处理 | |
CN111488205B (zh) | 面向异构硬件架构的调度方法和调度系统 | |
CN106020966A (zh) | 用于将从客户接收的任务智能地分布于多个劳动资源间的系统和方法 | |
CN107748696A (zh) | 一种任务调度的方法及终端设备 | |
Adhikari et al. | Analysis of average waiting time and server utilization factor using queueing theory in cloud computing environment | |
CN114298322A (zh) | 联邦学习方法和装置、系统、电子设备、计算机可读介质 | |
CN113850394B (zh) | 联邦学习方法、装置、电子设备及存储介质 | |
Zhang et al. | Modelling and simulation of the task scheduling behavior in collaborative product development process | |
CN106934537A (zh) | 基于反向工作流调度的子期限获取优化方法 | |
Shi-jin et al. | Filtered-beam-search-based algorithm for dynamic rescheduling in FMS | |
CN111597035A (zh) | 基于多线程的仿真引擎时间推进方法及系统 | |
WO2020062047A1 (zh) | 更新调度规则的方法、设备、系统、存储介质和终端 | |
CN117331668A (zh) | 一种作业调度方法、装置、设备及存储介质 | |
CN107924502A (zh) | 多阶段高效能业务流程管理引擎 | |
CN109246161A (zh) | 控制器的调度方法、装置和计算机可读存储介质 | |
CN117251258A (zh) | 任务分配的方法、电子设备和计算机程序产品 | |
Hartman et al. | Scaling TensorFlow to 300 million predictions per second | |
de Freitas Cunha et al. | An SMDP approach for Reinforcement Learning in HPC cluster schedulers |
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 |