CN111813541A - 一种任务调度方法、装置、介质和设备 - Google Patents

一种任务调度方法、装置、介质和设备 Download PDF

Info

Publication number
CN111813541A
CN111813541A CN202010534619.6A CN202010534619A CN111813541A CN 111813541 A CN111813541 A CN 111813541A CN 202010534619 A CN202010534619 A CN 202010534619A CN 111813541 A CN111813541 A CN 111813541A
Authority
CN
China
Prior art keywords
container
scheduling
resource
resources
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010534619.6A
Other languages
English (en)
Other versions
CN111813541B (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.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology Co Ltd
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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202010534619.6A priority Critical patent/CN111813541B/zh
Publication of CN111813541A publication Critical patent/CN111813541A/zh
Application granted granted Critical
Publication of CN111813541B publication Critical patent/CN111813541B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供了一种任务调度方法、装置、介质和设备,该方法包括:获取容器调度任务需求,容器调度任务需求包括执行任务需要资源,资源包括资源类型和资源数量,资源类型包括GPU;获取可用资源;基于任务需求、可用资源以及可用资源间的亲和性计算容器的调度值,其中,调度值用于决定容器调度的优先级;启动容器调度任务,根据容器的调度值给容器分配对应的资源;将任务发送到完成资源分配的容器执行作业任务。本公开根据GPU的亲和性策略进行精细化调度,对于使用GPU的任务,通过计算分析,选择与GPU亲和的GPU或其他资源上运行,而排除非亲和的GPU或其他资源上运行,使得资源调度效率达到最大化,对于系统资源性能有大幅度的提升。

Description

一种任务调度方法、装置、介质和设备
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种任务调度方法、装置、介质和设备。
背景技术
硬件系统对输入硬件系统的任务进行处理过程中,需要根据输入的处理任务进行系统资源的合理调度,进而合理的分配系统资源,高效的处理系统任务。例如,对于输入的视频、图像、图片等任务进行处理时,不可避免的需要调度GPU(Graphics ProcessingUnit,图形处理器)进行处理,但现有的调度方式,通过YARN(Yet Another ResourceNegotiator)进行资源调度,仅仅是直接将GPU统一进行调度,按照卡数分配调度资源,来处理视频、图像、图片等任务,并不能保证给当前任务分配具有较高亲和性的GPU资源,因此存在调度效率低下,任务处理速度慢等问题。
公开内容
本公开的目的在于提供一种任务调度方法、装置、介质和设备,能够解决上述提到的至少一个技术问题。具体方案如下:
根据本公开的具体实施方式,第一方面,本公开提供一种任务调度方法,包括:获取容器调度任务需求,所述容器调度任务需求包括执行所述任务需要的资源,所述资源包括资源类型和资源数量,所述资源类型包括GPU;获取可用资源,所述可用资源是指当前能够调配的资源;基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,其中,所述调度值用于决定所述容器调度的优先级;启动容器调度任务,根据所述容器的调度值给所述容器分配对应的资源;将所述任务发送到完成所述资源分配的所述容器执行作业任务。
可选的,所述资源包括:GPU、CPU和网络接口,其中,所述GPU与GPU之间、所述网络接口与网络接口之间具有相同或不同的亲和类型;所述GPU、CPU和网络接口两两之间分别具有相同或不同的亲和类型,所述不同的亲和类型具有不同的权重值。
可选的,所述基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,包括:根据所述容器调度任务需求,组合当前能够调配的所述资源,形成多个资源组合,每一资源组合中的资源之间具有亲和性;分别计算每一个资源组合的组合值;根据所述资源组合的组合值计算所述容器的调度值。
可选的,所述分别计算每一个资源组合的组合值,包括:获取每一个资源组中的具体资源;根据所述每一个资源组中的具体资源的类型和权重值,计算每一个资源组合的组合值。
可选的,所述根据所述资源组合的组合值计算所述容器的调度值,包括:将所述资源组合的组合值按照所述组合值的大小进行排序;选择所述组合值最大的作为所述容器的调度值。
可选的,所述启动容器调度任务,根据所述容器的调度值给所述容器分配对应的资源,包括:启动所述容器调度任务,将所述容器的调度值最大的资源组合分配给所述容器。
根据本公开的具体实施方式,第二方面,本公开提供一种配置资源调度装置,包括:第一获取单元,用于获取容器调度任务需求,所述容器调度任务需求包括执行所述任务需要的资源,所述资源包括资源类型和资源数量,所述资源类型包括GPU;第二获取单元,用于获取可用资源,所述可用资源是指当前能够调配的资源;计算单元,用于基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,其中,所述调度值用于决定所述容器调度的优先级;分配单元,用于启动容器调度任务,根据所述容器的调度值给所述容器分配对应的资源;执行单元,用于将所述任务发送到完成所述资源分配的所述容器执行作业任务。
可选的,所述资源包括:GPU、CPU和网络接口,其中,所述GPU与GPU之间、所述网络接口与网络接口之间具有相同或不同的亲和类型;所述GPU、CPU和网络接口两两之间分别具有相同或不同的亲和类型,所述不同的亲和类型具有不同的权重值。
根据本公开的具体实施方式,第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述的方法。
根据本公开的具体实施方式,第四方面,本公开提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述的方法。
本公开实施例的上述方案与现有技术相比,至少具有以下有益效果:本公开提供的资源调度方法,根据GPU的亲和性策略进行精细化调度,对于使用GPU的任务,通过计算分析,选择与GPU亲和的GPU或其他资源上运行,而排除非亲和的GPU或其他资源上运行,使得资源调度效率达到最大化,对于系统资源性能有大幅度的提升。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本公开实施例的任务调度方法应用场景图;
图2示出了根据本公开实施例的任务调度方法流程图;
图3示出了根据本公开实施例的任务调度结构图;
图4示出了根据本公开实施例的任务调度装置结构示意图;
图5示出了根据本公开的实施例的电子设备连接结构示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在本公开实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本公开实施例中可能采用术语第一、第二、第三等来描述……,但这些……不应限于这些术语。这些术语仅用来将……区分开。例如,在不脱离本公开实施例范围的情况下,第一……也可以被称为第二……,类似地,第二……也可以被称为第一……。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
下面结合附图详细说明本公开的可选实施例。
图1示出了本公开实施例给出的一个系统资源调用的实施方式,YARN接收系统分配的调度任务后,开始按照最优策略实施系统资源调度分配任务。其中,YARN(Yet AnotherResource Negotiator)是一个资源调度系统,支持对CPU、内存、GPU以及其他自定义资源的调度。YARN包括RM(ResourceManager,资源管理器)和NM(NodeManager,节点管理器)。其中RM负责资源的分配管理和任务的调度,NM负责任务的运行和资源的隔离。用户可以向YARN提交任务,RM负责根据请求的任务和系统资源状态将任务调度到集群某个NM上,NM分配给该任务对应的资源进行运行。
根据本公开的具体实施方式,本公开提供一种配置资源调度方法,包括如下的方法步骤,如图2的流程图所示:
步骤S202:获取容器调度任务需求,所述容器调度任务需求包括执行所述任务需要的配置资源,所述配置资源包括资源类型和资源数量,所述资源类型包括GPU。
由于GPU存在亲和性策略,所以在进行资源配置时,当需要配置GPU时,需要考虑调度任务的亲和性,对于使用GPU的任务,如果在与GPU亲和的GPU或其他资源上运行,相比在非亲和的GPU或其他资源上运行,系统性能会有大幅提升。
作为一种实施方式,获取容器调度任务需求,所述容器调度需求包括获取执行所述调度任务的配置资源,所述配置资源包括调度GPU任务,其中,所述GPU自身之间以及GPU与其他配置资源之间分别具有相同或不同的亲和类型,GPU自身之间是指GPU和GPU之间的亲和类型,具体的,可以是同一个GPU之间的亲和类型,也可以是两个不同GPU之间的亲和类型;GPU与其他配置资源之间包括GPU与网络接口或CPU之间的亲和类型。
如图1所示,获取到用户输入的任务处理请求,作为一个实施例,任务处理请求可以是例如对视频、图像、图片等任务进行处理,YARN接收到认为请求后,启动并查询保存于本地的GPU亲和性信息,作为一种实施方式,GPU的亲和信息如图3所示,从图3所示的表格中的可以得到GPU和包括GPU在内的各种资源的亲和性参数。
例如:GPU0-GPU7表示的8张显卡的亲和性参数;Mlx5_0、Mlx5_1、Mlx5_2表示的三个网络接口的亲和性参数以及CPU的亲和性参数。
作为另外一种实施方式,所述配置资源包括:至少一个GPU、至少一个CPU和至少一个网络接口,其中,所述GPU自身之间、网络接口自身之间具有相同或不同的亲和类型;所述至少一个GPU、至少一个CPU和至少一个网络接口两两之间分别具有相同或不同的亲和类型,所述不同的亲和类型分别具有不同的权重值。其中,GPU自身之间是指GPU和GPU之间的亲和类型,网络接口自身之间是指网络接口和网络接口之间的亲和类型。
如图3所示,其中,X,SYS,NODE,PHB,PXB,PIX,NV#表示不同的亲和性类型,不同的亲和性类型具有相同或不同的亲和性参数。其中,X表示自身的亲和类型,SYS表示位于不同NUMA区域的亲和类型,NODE表示位于同一NUMA区域的亲和类型,PHB表示位于不同PCI区域的亲和类型,PIX表示位于同一PCI区域的亲和类型,NV#表示同一显卡内的亲和类型。
以图3第一行举例如下:
GPU0与GPU0是X亲和,GPU0与GPU1是NV1亲和,GPU0与GPU2是NV2亲和,GPU0与GPU3是NV1亲和,GPU0与GPU4是SYS亲和、GPU0与GPU5是SYS亲和、GPU0与GPU6是SYS亲和,GPU0与GPU7是NV2亲和,GPU0与mlx5_0是PIX亲和,GPU0与mlx5_1是PIX亲和,GPU0与mlx5_2是NODE亲和,并且GPU0与0-23、48-71号的CPU核心具有亲和性。
从最后三行可以看出,网络接口mlx5_0、mlx5_1、mlx5_2与CPU之间不具有亲和性。而GPU与网络接口和CPU之间具有亲和性。
上述每种亲和类型可操作地配置有一个权重分值,作为可选的实施方式,例如,GPU间的亲和类型及权重分值分别记为:亲和类型NV#均为a分,亲和类型PIX为b分,亲和类型PXB为c分,亲和类型PHB为d分,亲和类型NODE为e分,亲和类型SYS为f分。GPU和网络接口的亲和类型及权重分值分别记为:亲和类型PIX为g分,亲和类型NODE为h分。GPU和CPU的亲和性,有亲和的CPU记为i分,无亲和的CPU记为j分。其中,权重分值a-j的数值不做限制,可以根据计算的便捷性进行赋值。
从上述例举可以看出,同一亲和类型的分值可以相同也可以不同,不同亲和类型的分值可以相同也可以不同,亲和类型的各分值可以根据计算任务的需求进行调整,作为一种实施方式,例如,当更需要GPU间的亲和性时,则可以将GPU间的各亲和类型配置为高权重值,当需要GPU和网络接口的亲和性时,则可以将GPU与网络接口的亲和类型配置为高权重值。
步骤S204:获取可用资源,所述可用资源是指当前能够调配的资源。例如,当前内存闲置1G,则该1G内存就属于可用资源。
步骤S206:基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,其中,所述调度值用于决定所述容器调度的优先级;
作为可选的实施方式之一,所述基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,包括:根据所述容器调度任务需求,组合当前能够调配的所述配置资源,形成多个配置资源组合;分别计算每一个配置资源组合的组合值;根据所述配置资源组合的组合值计算所述容器的调度值。
作为例举之一,假如用户提交的作业任务需要2个GPU、1个网卡、1个CPU的资源配置。可以穷举当前可分配的GPU、网络接口和CPU的组合,GPU、网络接口和CPU的亲和性类型和权重进行打分,选取一个分数最高的组合进行分配。例如配置资源GPU0、GPU1、GPU2、GPU5、mlx5_0、mlx5_1、mlx5_2、CPU0、CPU23、CPU24空闲,则对上述配置资源进行穷尽计算,例如:可以选择如下配置资源组合GPU0、GPU1、网络接口mlx5_0、和CPU0,当前的GPU0与GPU1是NV1亲和、GPU0与网络接口mlx5_0是PIX亲和、GPU0与CPU0具有亲和性,根据上述亲和性相加计算得到的权重分数组合值为N;同理,可以选择GPU0、GPU5、网络接口mlx5_2以及CPU24,计算权重分数组合值为M;选择GPU1、GPU2、网络接口mlx5_1以及CPU23,计算权重分数组合值为P,以此类推进行穷举。比较N、M、P、……的大小,取最大值下的资源配置组合作为最优选方案。
可选的,所述分别计算每一个配置资源组合的组合值,包括:获取每一个配置资源组中的具体配置资源;根据所述每一个配置资源组中的具体配置资源的类型和权重值,计算每一个配置资源组合的组合值。
可选的,所述根据所述配置资源组合的组合值计算所述容器的调度值,包括:将所述配置资源组合的组合值按照所述组合值的大小进行排序;选择所述组合值最大的作为所述容器的调度值。
作为例举之一,假如任务需求中,需要2个GPU、1个网卡、1个CPU的资源配置。可以穷举当前可分配的GPU、网络接口和CPU的组合,GPU、网络接口和CPU的亲和性类型和权重进行打分,选取一个分数最高的组合进行分配。例如:可以选择如下配置资源组合GPU0、GPU1、网络接口mlx5_0、和CPU0,当前的GPU0与GPU1是NV1亲和、GPU0与网络接口mlx5_0是PIX亲和、GPU0与CPU0具有亲和性,根据上述亲和性相加计算得到的权重分数组合值为N;同理,可以选择GPU0、GPU5、网络接口mlx5_2以及CPU24,计算权重分数组合值为M;选择GPU1、GPU2、网络接口mlx5_1以及CPU23,计算权重分数组合值为P,以此类推进行穷举。比较N、M、P、……的大小,并对其排序,然后取最大值下的资源配置组合作为最优选方案。
步骤S208:启动容器调度任务,根据所述容器的调度值给所述容器分配对应的配置资源,所述启动容器调度任务包括按照所述给所述容器分配的配置资源执行所述配置资源的任务。
可选的,所述启动容器调度任务,根据所述容器的调度值给所述容器分配对应的配置资源,包括:启动所述容器调度任务,将所述容器的调度值最大的配置资源组合分配和所述容器。
当根据步骤S206获取到最佳的配置资源组合时,获取此时的容器调度任务,当收到容器调度任务时,获取步骤S206给出的最佳的配置资源组合。然后启动容器,并分配给该容器这个最佳资源组合。所述启动容器调度任务获取到按照所述给所述容器分配的最佳配置资源后执行所述配置资源的任务。
例如,接续上述步骤S206举例,当分配配置资源组合为GPU0、mlx5_0、CPU0时,则系统调用GPU0进行图像处理,调用网络接口mlx5_0传递数据,调用CPU0进行亲和性资源的任务处理。
步骤S210:将所述任务发送到完成所述资源分配的所述容器执行作业任务。
根据任务分配情况,将最佳组合的资源配置发送到相应容器当中执行对应的作用任务,以满足用户需求。
本公开提供的资源调度方法,根据GPU的亲和性策略进行精细化调度,对于使用GPU的任务,通过计算分析,选择与GPU亲和的GPU或其他资源上运行,而排除非亲和的GPU或亲和性较弱的资源上运行,使得资源调度效率达到最大化,对于系统资源性能有大幅度的提升。
此外,本公开还提供了与上述实施例承接的装置实施例,用于实现如上实施例所述的方法步骤,基于相同的名称含义的解释与如上实施例相同,具有与如上实施例相同的技术效果,此处不再赘述。
如图4所示,根据本公开的实施方式,本公开提供一种资源调度装置,包括:第一获取单元402、第二获取单元404、计算单元406、分配单元408、执行单元410。
第一获取单元402,用于获取容器调度任务需求,所述容器调度任务需求包括执行所述任务需要的配置资源,所述配置资源包括资源类型和资源数量,所述资源类型包括GPU。
可选的,获取容器调度任务需求,所述容器调度需求包括获取执行所述调度任务的配置资源,包括:获取容器调度任务需求,所述容器调度需求包括获取执行所述调度任务的配置资源,所述配置资源包括至少一个GPU,所述GPU与GPU之间和/或所述GPU与其他配置资源之间分别具有相同或不同的亲和类型。
可选的,所述配置资源包括:至少一个GPU、至少一个CPU和至少一个网络接口,其中,所述GPU与GPU之间、所述网络接口与网络接口之间具有相同或不同的亲和类型;所述至少一个GPU、至少一个CPU和至少一个网络接口两两之间分别具有相同或不同的亲和类型,所述不同的亲和类型分别具有不同的权重值。
第二获取单元404,用于获取可用资源,所述可用资源是指当前能够调配的资源。
计算单元406,用于基于所述配置资源及各所述配置资源之间的亲和性,计算所述容器的调度值,其中,所述调度值用于决定所述容器调度的优先级。
作为可选的实施方式之一,所述基于所述配置资源,计算所述容器的调度值,包括:根据所述容器调度任务需求,穷尽组合当前能够调配的所述配置资源,形成多个配置资源组合;分别计算每一个配置资源组合的组合值;根据所述配置资源组合的组合值计算所述容器的调度值。
可选的,所述分别计算每一个配置资源组合的组合值,包括:获取每一个配置资源组中的具体配置资源;根据所述每一个配置资源组中的具体配置资源的类型和权重值,计算每一个配置资源组合的组合值。
可选的,所述根据所述配置资源组合的组合值计算所述容器的调度值,包括:将所述配置资源组合的组合值按照所述组合值的大小进行排序;选择所述组合值最大的作为所述容器的调度值。
分配单元408,用于启动容器调度任务,根据所述容器的调度值给所述容器分配对应的配置资源,并按照所述给所述容器分配的配置资源执行所述配置资源的任务。
可选的,所述启动容器调度任务,根据所述容器的调度值给所述容器分配对应的配置资源,包括:启动所述容器调度任务,将所述容器的调度值最大的配置资源组合分配和所述容器。
当获取到最佳的配置资源组合时,获取此时的容器调度任务,当收到容器调度任务时,获取最佳的配置资源组合。然后启动容器,并分配给该容器这个最佳资源组合。所述启动容器调度任务获取到按照所述给所述容器分配的最佳配置资源后执行所述配置资源的任务。
执行单元410,用于将所述任务发送到完成所述资源分配的所述容器执行作业任务。
本公开提供的资源调度装置,根据GPU的亲和性策略进行精细化调度,对于使用GPU的任务,通过计算分析,选择与GPU亲和的GPU或其他资源上运行,而排除非亲和的GPU或亲和性较弱的资源上运行,使得资源调度效率达到最大化,对于系统资源性能有大幅度的提升。
如图5所示,本实施例提供一种电子设备,所述电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上实施例所述的方法步骤。
本公开实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线505彼此相连。输入/输出(I/O)接口505也连接至总线505。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置505;包括例如磁带、硬盘等的存储装置508;以及通信装置505。通信装置505可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置505从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。

Claims (10)

1.一种任务调度方法,其特征在于,包括:
获取容器调度任务需求,所述容器调度任务需求包括执行所述任务需要的资源,所述资源包括资源类型和资源数量,所述资源类型包括GPU;
获取可用资源,所述可用资源是指当前能够调配的资源;
基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,其中,所述调度值用于决定所述容器调度的优先级;
启动容器调度任务,根据所述容器的调度值给所述容器分配对应的资源;
将所述任务发送到完成所述资源分配的所述容器执行作业任务。
2.如权利要求1所述的方法,其特征在于,所述资源包括:GPU、CPU和网络接口,其中,所述GPU与GPU之间、所述网络接口与网络接口之间具有相同或不同的亲和类型;所述GPU、CPU和网络接口两两之间分别具有相同或不同的亲和类型,所述不同的亲和类型具有不同的权重值。
3.如权利要求2所述的方法,其特征在于,所述基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,包括:
根据所述容器调度任务需求,组合当前能够调配的所述资源,形成多个资源组合,每一资源组合中的资源之间具有亲和性;
分别计算每一个资源组合的组合值;
根据所述资源组合的组合值计算所述容器的调度值。
4.如权利要求3所述的方法,其特征在于,所述分别计算每一个资源组合的组合值,包括:
获取每一个资源组中的具体资源;
根据所述每一个资源组中的具体资源的类型和权重值,计算每一个资源组合的组合值。
5.如权利要求3所述的方法,其特征在于,所述根据所述资源组合的组合值计算所述容器的调度值,包括:
将所述资源组合的组合值按照所述组合值的大小进行排序;
选择所述组合值最大的作为所述容器的调度值。
6.如权利要求5所述的方法,其特征在于,所述启动容器调度任务,根据所述容器的调度值给所述容器分配对应的资源,包括:
启动所述容器调度任务,将所述容器的调度值最大的资源组合分配给所述容器。
7.一种配置资源调度装置,其特征在于,包括:
第一获取单元,用于获取容器调度任务需求,所述容器调度任务需求包括执行所述任务需要的资源,所述资源包括资源类型和资源数量,所述资源类型包括GPU;
第二获取单元,用于获取可用资源,所述可用资源是指当前能够调配的资源;
计算单元,用于基于所述任务需求、所述可用资源以及所述可用资源间的亲和性计算所述容器的调度值,其中,所述调度值用于决定所述容器调度的优先级;
分配单元,用于启动容器调度任务,根据所述容器的调度值给所述容器分配对应的资源;
执行单元,用于将所述任务发送到完成所述资源分配的所述容器执行作业任务。
8.如权利要求7所述的装置,其特征在于,所述资源包括:GPU、CPU和网络接口,其中,所述GPU与GPU之间、所述网络接口与网络接口之间具有相同或不同的亲和类型;所述GPU、CPU和网络接口两两之间分别具有相同或不同的亲和类型,所述不同的亲和类型具有不同的权重值。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的方法。
CN202010534619.6A 2020-06-12 2020-06-12 一种任务调度方法、装置、介质和设备 Active CN111813541B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010534619.6A CN111813541B (zh) 2020-06-12 2020-06-12 一种任务调度方法、装置、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010534619.6A CN111813541B (zh) 2020-06-12 2020-06-12 一种任务调度方法、装置、介质和设备

Publications (2)

Publication Number Publication Date
CN111813541A true CN111813541A (zh) 2020-10-23
CN111813541B CN111813541B (zh) 2024-04-09

Family

ID=72846131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010534619.6A Active CN111813541B (zh) 2020-06-12 2020-06-12 一种任务调度方法、装置、介质和设备

Country Status (1)

Country Link
CN (1) CN111813541B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080201A (zh) * 2022-05-07 2022-09-20 北京控制工程研究所 一种面向应急任务的高可靠卫星自主任务规划方法及系统
CN115168023A (zh) * 2022-05-16 2022-10-11 阿里巴巴(中国)有限公司 资源调配方法以及装置

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107421A1 (en) * 2002-12-03 2004-06-03 Microsoft Corporation Methods and systems for cooperative scheduling of hardware resource elements
US20130339079A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Configurable resource policies
US20150347509A1 (en) * 2014-05-27 2015-12-03 Ibrahim Ahmed Optimizing performance in cep systems via cpu affinity
US20180253646A1 (en) * 2017-03-05 2018-09-06 International Business Machines Corporation Hybrid aggregation for deep learning neural networks
US20180276044A1 (en) * 2017-03-27 2018-09-27 International Business Machines Corporation Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads
CN109582425A (zh) * 2018-12-04 2019-04-05 中山大学 一种基于云端与终端gpu融合的gpu服务重定向系统及方法
US10318346B1 (en) * 2016-09-23 2019-06-11 Amazon Technologies, Inc. Prioritized scheduling of data store access requests
CN109933420A (zh) * 2019-04-02 2019-06-25 深圳市网心科技有限公司 节点任务调度方法、电子设备及系统
US20190196875A1 (en) * 2017-10-27 2019-06-27 EMC IP Holding Company LLC Method, system and computer program product for processing computing task
CN110166507A (zh) * 2018-02-12 2019-08-23 北京京东尚科信息技术有限公司 多资源调度方法和装置
US20190312772A1 (en) * 2018-04-04 2019-10-10 EMC IP Holding Company LLC Topology-aware provisioning of hardware accelerator resources in a distributed environment
CN110888743A (zh) * 2019-11-27 2020-03-17 中科曙光国际信息产业有限公司 一种gpu资源使用方法、装置及存储介质
US20200133735A1 (en) * 2018-10-31 2020-04-30 EMC IP Holding Company LLC Method, device, and computer program product for assigning tasks to dedicated processing resources

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107421A1 (en) * 2002-12-03 2004-06-03 Microsoft Corporation Methods and systems for cooperative scheduling of hardware resource elements
US20130339079A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Configurable resource policies
US20150347509A1 (en) * 2014-05-27 2015-12-03 Ibrahim Ahmed Optimizing performance in cep systems via cpu affinity
US10318346B1 (en) * 2016-09-23 2019-06-11 Amazon Technologies, Inc. Prioritized scheduling of data store access requests
US20180253646A1 (en) * 2017-03-05 2018-09-06 International Business Machines Corporation Hybrid aggregation for deep learning neural networks
US20180276044A1 (en) * 2017-03-27 2018-09-27 International Business Machines Corporation Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads
US20190196875A1 (en) * 2017-10-27 2019-06-27 EMC IP Holding Company LLC Method, system and computer program product for processing computing task
CN110166507A (zh) * 2018-02-12 2019-08-23 北京京东尚科信息技术有限公司 多资源调度方法和装置
US20190312772A1 (en) * 2018-04-04 2019-10-10 EMC IP Holding Company LLC Topology-aware provisioning of hardware accelerator resources in a distributed environment
US20200133735A1 (en) * 2018-10-31 2020-04-30 EMC IP Holding Company LLC Method, device, and computer program product for assigning tasks to dedicated processing resources
CN109582425A (zh) * 2018-12-04 2019-04-05 中山大学 一种基于云端与终端gpu融合的gpu服务重定向系统及方法
CN109933420A (zh) * 2019-04-02 2019-06-25 深圳市网心科技有限公司 节点任务调度方法、电子设备及系统
CN110888743A (zh) * 2019-11-27 2020-03-17 中科曙光国际信息产业有限公司 一种gpu资源使用方法、装置及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何文婷;崔慧敏;冯晓兵;: "HDAS:异构集群上Hadoop+框架中的动态亲和性调度", 高技术通讯, no. 04 *
潘佳艺;王芳;杨静怡;谭支鹏;: "异构Hadoop集群下的负载自适应反馈调度策略", 计算机工程与科学, no. 03, 15 March 2017 (2017-03-15) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080201A (zh) * 2022-05-07 2022-09-20 北京控制工程研究所 一种面向应急任务的高可靠卫星自主任务规划方法及系统
CN115080201B (zh) * 2022-05-07 2024-05-14 北京控制工程研究所 一种面向应急任务的高可靠卫星自主任务规划方法及系统
CN115168023A (zh) * 2022-05-16 2022-10-11 阿里巴巴(中国)有限公司 资源调配方法以及装置
CN115168023B (zh) * 2022-05-16 2023-12-12 阿里巴巴(中国)有限公司 资源调配方法以及装置

Also Published As

Publication number Publication date
CN111813541B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
CN110489213B (zh) 一种任务处理方法及处理装置、计算机系统
CN111475235B (zh) 函数计算冷启动的加速方法、装置、设备及存储介质
CN114020470B (zh) 资源分配方法、装置、可读介质及电子设备
US9947068B2 (en) System and method for GPU scheduling
CN112380020A (zh) 一种算力资源分配方法、装置、设备及存储介质
US20140063344A1 (en) Augmenting Capabilities of a Host Device
CN111158879A (zh) 一种系统资源的调度方法,装置、机器可读介质和系统
CN111813541B (zh) 一种任务调度方法、装置、介质和设备
CN113419846B (zh) 资源配置方法和装置、电子设备及计算机可读存储介质
CN110162397B (zh) 资源分配方法、装置及系统
CN116166395A (zh) 任务调度方法、装置、介质及电子设备
CN110764892A (zh) 任务处理方法、设备及计算机可读存储介质
CN114637536A (zh) 任务处理方法、计算协处理器、芯片及计算机设备
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN115237589A (zh) 一种基于sr-iov的虚拟化方法、装置和设备
CN112165572A (zh) 图像处理方法、装置、终端及存储介质
CN115562878A (zh) Gpu计算资源的管理方法、装置、电子设备及可读存储介质
CN115509704A (zh) 一种任务调度方法、装置、设备及存储介质
CN114116220A (zh) 一种gpu共享控制方法、gpu共享控制装置及存储介质
CN113377529A (zh) 一种智能加速卡及基于智能加速卡的数据处理方法
KR20210042992A (ko) 딥러닝 모델을 트레이닝하는 방법 및 장치
CN115686803B (zh) 一种调度策略动态加载的计算任务管理系统、方法和装置
CN110633141A (zh) 一种应用程序的内存管理方法、装置、终端设备及介质
WO2024037068A1 (zh) 任务调度方法、电子设备及计算机可读存储介质
CN110110170B (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
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20220707

Address after: 100190 1309, 13th floor, building 4, Zijin Digital Park, Haidian District, Beijing

Applicant after: Beijing volcano Engine Technology Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant