CN110673944A - 执行任务的方法和装置 - Google Patents

执行任务的方法和装置 Download PDF

Info

Publication number
CN110673944A
CN110673944A CN201810716577.0A CN201810716577A CN110673944A CN 110673944 A CN110673944 A CN 110673944A CN 201810716577 A CN201810716577 A CN 201810716577A CN 110673944 A CN110673944 A CN 110673944A
Authority
CN
China
Prior art keywords
task
executed
subtasks
subtask
different tasks
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
CN201810716577.0A
Other languages
English (en)
Other versions
CN110673944B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810716577.0A priority Critical patent/CN110673944B/zh
Publication of CN110673944A publication Critical patent/CN110673944A/zh
Application granted granted Critical
Publication of CN110673944B publication Critical patent/CN110673944B/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
    • G06F9/5038Allocation 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本公开是关于一种执行任务的方法和装置,属于电子技术领域。所述方法包括:每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及任务所属的任务类型,确定并记录任务对应的执行优先级;执行任务包括的各子任务;当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务。采用本公开,在硬件资源不足的情况下,根据执行优先级来确定优先执行哪些待执行的子任务。基于执行优先级,后开始的任务也可以优先执行,因此,提高了执行任务的灵活性。

Description

执行任务的方法和装置
技术领域
本公开是关于电子技术领域,尤其是关于一种执行任务的方法和装置。
背景技术
GPU(Graphics Processing Unit,图形处理器)专用于处理图像。GPU中的硬件资源可以包括计算资源、拷贝资源。其中,计算资源包括流处理器簇等资源,计算资源用于通过各种预设算法对图像进行不同类型的处理等。拷贝资源包括复制引擎、内存等资源,拷贝资源用于从CPU(Central Processing Unit,中央处理单元)中拷贝图像等。
当GPU接收到CPU发送的对图像进行处理的指示消息之后,可以在GPU中建立相应的任务,并将建立的任务包括的各子任务按照预设执行顺序放入流处理队列中依次执行。如果有多个任务,每个任务可以对应一个流处理队列,可以将多个任务分别包括的各子任务放在不同的流处理队列中,GPU可以并行执行不同的流处理队列中的多个子任务。然而由于硬件资源量有限,当遇到空闲的硬件资源量小于多个子任务要占用的硬件资源量之和时,会根据不同任务开始执行的时间先后顺序,先执行最先开始执行的任务的子任务。
在实现本公开的过程中,发明人发现至少存在以下问题:
由于上述执行机制,在硬件资源不足的情况下,各任务必须按照开始执行的时间顺序来执行,执行任务的灵活性较差。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种执行任务的方法,所述方法包括:
每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及所述任务所属的任务类型,确定并记录所述任务对应的执行优先级;
执行所述任务包括的各子任务;
当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行所述任务包括的各子任务,包括:
根据预设的所述任务的流属性,建立与所述流属性对应的流处理队列,将所述任务包括的各子任务按照预设的执行顺序添加到所述流处理队列中;
执行所述流处理队列中的各子任务。
可选地,所述当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务,包括:
确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和;
当检测到当前空闲的硬件资源量小于所述硬件资源量之和时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务,包括:
基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务,包括:
基于所述多个不同任务中每个任务的执行优先级、所述多个不同任务中每个任务的已执行比例、预设的执行优先级加权系数、以及预设的已执行比例加权系数,确定所述多个不同任务中每个任务对应的加权值;
基于每个任务对应的加权值,在所述待执行的子任务中,选取至少一个子任务作为优先执行的目标子任务,执行所述目标子任务,其中,所述待执行的子任务中除所述目标子任务之外的其它子任务的加权值不大于任一目标子任务的加权值,且所有目标子任务对应的硬件资源量之和小于或者等于当前空闲的硬件资源量。
根据本公开实施例的第二方面,提供一种执行任务的装置,所述装置包括:
确定模块,用于每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及所述任务所属的任务类型,确定并记录所述任务对应的执行优先级;
执行模块,用于执行所述任务包括的各子任务;
所述执行模块,还用于当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行模块用于:
根据预设的所述任务的流属性,建立与所述流属性对应的流处理队列,将所述任务包括的各子任务按照预设的执行顺序添加到所述流处理队列中;
执行所述流处理队列中的各子任务。
可选地,所述执行模块用于:
确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和;
当检测到当前空闲的硬件资源量小于所述硬件资源量之和时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行模块用于:
基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行模块用于:
基于所述多个不同任务中每个任务的执行优先级、所述多个不同任务中每个任务的已执行比例、预设的执行优先级加权系数、以及预设的已执行比例加权系数,确定所述多个不同任务中每个任务对应的加权值;
基于每个任务对应的加权值,在所述待执行的子任务中,选取至少一个子任务作为优先执行的目标子任务,执行所述目标子任务,其中,所述待执行的子任务中除所述目标子任务之外的其它子任务的加权值不大于任一目标子任务的加权值,且所有目标子任务对应的硬件资源量之和小于或者等于当前空闲的硬件资源量。
根据本公开实施例的第三方面,提供一种计算机设备,包括:处理器和存储器,其中:
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现上述执行任务的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述执行任务的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开实施例提供的方法,在检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,可以根据多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务。这样,在硬件资源不足的情况下,根据执行优先级来确定优先执行哪些待执行的子任务。执行优先级高的任务的待执行的子任务可以优先执行。进而,基于执行优先级,后开始的任务也可以优先执行,因此,提高了执行任务的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种执行任务的方法的流程图示意图;
图2是根据一示例性实施例示出的一种执行任务的方法的流程图示意图;
图3是根据一示例性实施例示出的一种任务的结构示意图;
图4是根据一示例性实施例示出的一种任务的结构示意图;
图5是根据一示例性实施例示出的一种任务的结构示意图;
图6是根据一示例性实施例示出的一种任务的结构示意图;
图7是根据一示例性实施例示出的一种流处理队列的结构示意图;
图8是根据一示例性实施例示出的一种执行任务的装置的结构示意图;
图9是根据一示例性实施例示出的一种计算机设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种执行任务的方法,该方法可以由计算机设备如终端实现。其中,终端可以是手机、平板电脑、台式计算机、笔记本计算机等。
终端可以包括处理器、存储器等部件。处理器,可以为CPU、GPU等。CPU可以用于向GPU发送任务对应的文件,等处理。GPU可以用于执行任务包括的各子任务,等处理。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如任务对应的文件等。
终端还可以包括收发器、输入部件、显示部件、音频输出部件等。收发器,可以用于与服务器进行数据传输,收发器可以包括蓝牙部件、WiFi(Wireless-Fidelity,无线高保真技术)部件、天线、匹配电路、调制解调器等。输入部件可以是触摸屏、键盘、鼠标等。音频输出部件可以是音箱、耳机等。
本公开一示例性实施例提供了一种执行任务的方法,如图1所示,该方法的处理流程可以包括如下的步骤:
步骤S110,每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及任务所属的任务类型,确定并记录任务对应的执行优先级。
终端中可以设置有GPU,GPU是专用于处理图像的处理器。可以在GPU中添加训练好的机器学习模型如人工神经网络模型等,并通过CPU将图像发送到GPU中,GPU可以基于训练好的机器学习模型对图像进行处理,例如进行人脸识别操作。GPU接收到的任务,即为通过训练好的机器学习模型或者预设的算法对图像进行相应处理的任务。当GPU接收到一个新的任务时,可以确定任务所属的任务类型。进而,可以根据预设的任务类型和执行优先级的对应关系,确定任务对应的执行优先级,并记录任务对应的执行优先级。或者,将任务对应的执行优先级添加到任务的属性中。
每种任务类型对应的执行时长信息不一致,例如图像识别的执行时长小于视频识别的执行时长,每种任务类型对应着执行时长信息。基于执行时长信息,可以确定这种任务执行时间的长短。
可选地,可以预先将不同类型的任务添加到具有相同处理能力的GPU中,对GPU完成这些任务所需的时长进行记录,将记录的执行时长和任务进行整理,得到任务类型和执行时长信息的对应关系。基于任务类型和执行时长信息的对应关系,以及任务所属的任务类型,可以确定任务对应的执行时长信息。
也可以基于预设的执行时长信息和执行优先级的对应关系,以及任务所属的任务类型,确定任务对应的执行优先级。
步骤S120,执行任务包括的各子任务。
GPU中建立的任务可以包括多个子任务,可以逐步执行子任务,以最终完成整个任务。
可选地,步骤S120可以包括:根据预设的任务的流属性,建立与流属性对应的流处理队列,将任务包括的各子任务按照预设的执行顺序添加到流处理队列中;执行流处理队列中的各子任务。
在GPU中,是以流的形式执行具体任务的,其中,流可以是CUDA(Compute UnifiedDevice Architecture,一种由NVIDIA推出的通用并行计算架构)流。
CUDA流在加速应用程序的方面上起着不可或缺的作用,一个CUDA流对应着GPU的一个流处理队列。用户可以在流处理队列中添加一些子任务,如核函数启动任务、内存复制任务等,将这些子任务按照预设的执行顺序添加到流处理队列中的顺序可以默认为它们的执行顺序。当有多个任务时,可以对应有一个或多个CUDA流,这样就会有一个或多个流处理队列,多个流处理队列之间的子任务可以并行执行。当遇到硬件资源量不够的情况时,可以采用竞争机制执行子任务。
可以认为流属性为任务的主要属性,执行优先级为任务的附属属性。在GPU的执行机制中,在遇到硬件资源量不够的情况时,具有不同流属性的流之间有竞争优先级的关系。当流属性一致时,不同流之间可以根据执行优先级来确定优先执行哪个流中的待执行的子任务。
流属性可以包括默认流(串行流)属性、阻塞流(异步流)属性、非阻塞流(异步流)属性等。其中,当具有默认流属性的流遇到具有阻塞流属性的流时,具有默认流属性的流的优先级较高,具有阻塞流属性的流要等待具有默认流属性的流执行完毕之后,再执行。即使是GPU有空闲的硬件资源给具有阻塞流属性的流使用,具有阻塞流属性的流也要等待具有默认流属性的流执行完毕之后,再执行。需要说明的是,具有默认流属性的流是一个流,是串行执行的,即使有多个任务,多个任务也要添加到同一具有默认流属性的流中。具有阻塞流属性的流可以是多个流,是并行执行的,可以将多个任务添加到不同具有阻塞流属性的流中,且并行执行。
当具有默认流属性的流遇到具有非阻塞流属性的流时,它们的优先级一致,即具有默认流属性的流和具有非阻塞流属性的流可以并行执行。
当具有阻塞流属性的流遇到具有非阻塞流属性的流时,它们的优先级也是一致的,即具有阻塞流属性的流和具有非阻塞流属性的流可以并行执行。
假如终端接收到两个任务,两个任务都是对图像进行处理的任务。如图2所示,首先可以对码流、图像进行解码,接着可以对图像进行预处理,例如基于上或者下采样算法,对图像进行预处理;基于YUV2RGB(将图像从YUV空间转换为RBG空间的一种算法),对图像进行预处理;通过兴趣区域算法,对图像进行预处理等。通过对图像进行预处理的操作,可以使得后续对图像进行处理的操作更加准确。随后,可以基于训练好的机器学习模型,对图像进行处理,并输出处理结果。
上述主要的过程可以分为图像预处理过程以及图像处理过程。对于图像预处理过程以及图像处理过程,又分别可以包括多个子任务。
如图3所示,有两个任务,每个任务都分为两个过程即图像预处理过程以及图像处理过程,每个过程中又包括多个子任务,每个子任务都对应有流属性。任务1所有子任务的流属性都为阻塞流属性,任务1所在的流处理队列为阻塞流处理队列1,任务2所有子任务的流属性都为阻塞流属性,任务2所在的流处理队列为阻塞流处理队列2。任务1和任务2所在的流处理队列的中的子任务可以并行执行。在遇到硬件资源量不够的情况时,任务1和任务2所在的流处理队列中的待执行的子任务会产生竞争。具体可以依照执行优先级判断哪个任务的待执行的子任务先被执行。
此外,GPU的任务分为两大类,包括计算任务以及拷贝任务。各子任务一般属于计算任务或者拷贝任务。如果子任务属于拷贝任务,并且拷贝任务是从CPU进行PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)拷贝的任务,同时该子任务的流属性为阻塞流属性或者非阻塞流属性,此时,就需要为CPU设定处于页锁定内存模式。这是GPU底层对具有阻塞流属性的流或者非阻塞流属性的流执行拷贝任务时的固有要求。
页锁定内存也称为固定内存或者不可分页内存,它有个重要属性:操作系统将不会对页锁定内存的内存分页并交换到磁盘上,从而确保了页锁定内存的内存始终驻留在物理内存中。因此,操作系统能够安全的让某个应用程序访问页锁定内存的内存的物理地址,因为页锁定内存的内存将不会被破坏或者重新分配物理地址。
如图4所示,有两个任务,每个任务都分为两个过程即图像预处理过程以及图像处理过程,每个过程中又包括多个子任务,每个子任务都对应有流属性。任务1所有子任务的流属性包括阻塞流属性以及默认流属性,任务1所在的流处理队列为阻塞流处理队列1和默认流处理队列,任务2所有子任务的流属性包括阻塞流属性以及默认流属性,任务2所在的流处理队列为阻塞流处理队列2和默认流处理队列。任务1和任务2所在的流处理队列的中的子任务可以并行执行。在遇到硬件资源量不够的情况时,任务1和任务2所在的流处理队列的中的待执行的子任务会产生竞争。
对应于上述任务1和任务2,可以建立3个流处理队列,包括阻塞流处理队列1、阻塞流处理队列2、默认流处理队列。
当具有默认流属性的流遇到具有阻塞流属性的流时,具有默认流属性的流的优先级较高,具有阻塞流属性的流要等待具有默认流属性的流执行完毕之后,再执行。即使是GPU有空闲的硬件资源给具有阻塞流属性的流使用,具有阻塞流属性的流也要等待具有默认流属性的流执行完毕之后,再执行。
同样地,如果子任务属于拷贝任务,并且拷贝任务是从CPU进行PCIE拷贝的任务,同时该子任务的流属性为阻塞流属性或者非阻塞流属性,此时,就需要为CPU设定处于页锁定内存模式。这是GPU底层对具有阻塞流属性的流或者非阻塞流属性的流执行拷贝任务时的固有要求。
然而,如果子任务属于拷贝任务,并且拷贝任务是从CPU进行PCIE拷贝的任务,同时该子任务的流属性为默认流属性,此时,无需为CPU设定处于页锁定内存模式。需要说明的是,在为CPU设定处于页锁定内存模式的情况下,需要消耗的内存资源量较大,因此将属于拷贝任务的子任务的流属性设置为默认流属性,可以减小内存资源量的占用。故而,当检测到子任务属于拷贝任务时,可以将该子任务的流属性设置为默认流属性。
如图5所示,有两个任务,每个任务都分为两个过程即图像预处理过程以及图像处理过程,每个过程中又包括多个子任务,每个子任务都对应有流属性。任务1所有子任务的流属性都为非阻塞流属性,任务1所在的流处理队列为非阻塞流处理队列1,任务2所有子任务的流属性都为非阻塞流属性,任务2所在的流处理队列为非阻塞流处理队列2。任务1和任务2所在的流处理队列中的子任务可以并行执行。在遇到硬件资源量不够的情况时,任务1和任务2所在的流处理队列中的待执行的子任务会产生竞争。具体可以依照执行优先级判断哪个任务的待执行的子任务先被执行。
同样地,如果子任务属于拷贝任务,并且拷贝任务是从CPU进行PCIE拷贝的任务,同时该子任务的流属性为阻塞流属性或者非阻塞流属性,此时,就需要为CPU设定处于页锁定内存模式。这是GPU底层对具有阻塞流属性的流或者非阻塞流属性的流执行拷贝任务时的固有要求。
如图6所示,有两个任务,每个任务都分为两个过程即图像预处理过程以及图像处理过程,每个过程中又包括多个子任务,每个子任务都对应有流属性。任务1所有子任务的流属性包括非阻塞流属性以及默认流属性,任务1所在的流处理队列为非阻塞流处理队列1和默认流处理队列,任务2所有子任务的流属性包括非阻塞流属性以及默认流属性,任务2所在的流处理队列为非阻塞流处理队列2和默认流处理队列。任务1和任务2所在的流处理对列中的子任务可以并行执行。在遇到硬件资源量不够的情况时,任务1和任务2所在的流处理队列中的待执行的子任务会产生竞争。
当具有默认流属性的流遇到具有非阻塞流属性的流时,具有默认流属性的流的优先级和具有非阻塞流属性的流的流的优先级一致,无需互相等待。只有在硬件资源量不够的情况下,才会引入竞争机制。
同样地,如果子任务属于拷贝任务,并且拷贝任务是从CPU进行PCIE拷贝的任务,同时该子任务的流属性为阻塞流属性或者非阻塞流属性,此时,就需要为CPU设定处于页锁定内存模式。这是GPU底层对具有阻塞流属性的流或者非阻塞流属性的流执行拷贝任务时的固有要求。
然而,如果子任务属于拷贝任务,并且拷贝任务是从CPU进行PCIE拷贝的任务,同时该子任务的流属性为默认流属性,此时,无需为CPU设定处于页锁定内存模式。需要说明的是,在为CPU设定处于页锁定内存模式的情况下,需要消耗的内存资源量较大,因此将属于拷贝任务的子任务的流属性设置为默认流属性,可以减小内存资源量的占用。故而,当检测到子任务属于拷贝任务时,可以将该子任务的流属性设置为默认流属性。
由于具有默认流属性的流的优先级和具有非阻塞流属性的流的优先级一致,因此需要执行流同步操作,即让排序在后的子任务等待排序在前的子任务执行完毕之后,再开始执行,以保证最终执行结果不出错。
在上述过程中,并非时刻要通过竞争机制判断优先执行的待执行的子任务。GPU从流处理队列中读取待执行的子任务并执行待执行的子任务是存在固定周期的,只有当同一周期到达时,需要从不同流处理队列读取并执行多个待执行的子任务,然而硬件资源量又不够的情况下才会引入竞争机制。
步骤S130,当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务。
可以给不同的任务或者任务包括的子任务设置不同的流属性,根据不同的流属性,任务包括的子任务会被分配到不同的流处理队列中。如果是串行执行不会产生竞争,如果是并行执行时,会产生竞争。当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时(即当产生竞争时),首先可以根据任务包括的待执行的子任务的流属性来判断哪个待执行的子任务优先被执行。如果任务包括的待执行的子任务的流属性一致,则可以基于多个不同任务中每个任务的执行优先级,在待执行的待执行的子任务中,确定优先执行的目标子任务,执行目标子任务。
如图7所示,待执行的子任务A和待执行的子任务B分别处于阻塞流处理队列1和阻塞流处理队列2,任务2已经执行了一段时间但是还没有执行完毕,任务1刚开始执行。任务2和任务1在执行时间上存在重叠,它们的待执行的任务很有可能会产生竞争,如图中所示GPU当前空闲的硬件资源量不足以支持待执行的子任务A和待执行的子任务B同时执行,待执行的子任务A和待执行的子任务B之间会产生竞争。当产生竞争时,优先执行待执行的子任务A,因为待执行的子任务A所属的任务1的执行优先级高。
可选地,步骤S130可以包括:确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和;当检测到当前空闲的硬件资源量小于硬件资源量之和时,基于多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务。
其中,待执行的子任务是在任务中的任一子任务执行完毕后下一个要执行的子任务。
如果有同时执行的多个不同任务中待执行的子任务时,首先可以确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和。接着,如果GPU当前空闲的硬件资源量大于或者等于硬件资源量之和,则GPU当前空闲的资源可以满足多个不同任务中待执行的子任务一起执行。如果GPU当前空闲的硬件资源量小于硬件资源量之和,则GPU当前空闲的资源不能满足多个不同任务中待执行的子任务一起执行。此时,可以基于多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务。目标子任务可以是一个待执行的子任务也可以是多个待执行的子任务,具体可以根据GPU当前空闲的硬件资源量、以及各待执行的子任务需要占用的硬件资源量确定。
可选地,基于多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务的步骤可以包括:基于多个不同任务中每个任务的执行优先级、以及多个不同任务中每个任务的已执行比例,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务。
其中,已执行比例是任务的已执行时长在预设的该任务的执行总时长中所占的比例。
除了考虑多个不同任务中每个任务的执行优先级之外,还可以综合考虑多个不同任务中每个任务的已执行比例,来在待执行的子任务中,确定优先执行的目标子任务。可以优先执行已执行比例较高的任务。由于已执行比例较高的任务已经将要被执行完毕了,因此可以优先执行将要执行完毕的任务。
可选地,基于多个不同任务中每个任务的执行优先级、以及多个不同任务中每个任务的已执行比例,在待执行的子任务中,确定优先执行的目标子任务,执行目标子任务的步骤可以包括:基于多个不同任务中每个任务的执行优先级、多个不同任务中每个任务的已执行比例、预设的执行优先级加权系数、以及预设的已执行比例加权系数,确定多个不同任务中每个任务对应的加权值;基于每个任务对应的加权值,在待执行的子任务中,选取至少一个子任务作为优先执行的目标子任务,其中,待执行的子任务中除目标子任务之外的其它子任务的加权值不大于任一目标子任务的加权值,且所有目标子任务对应的硬件资源量之和小于或者等于当前空闲的硬件资源量。
可以将多个不同任务中每个任务的执行优先级乘以预设的执行优先级加权系数,再加上多个不同任务中每个任务的已执行比例乘以预设的已执行比例加权系数的结果,得到多个不同任务中每个任务对应的加权值。可以按照加权值由高到低的顺序进行排序,依次从排在第一个的任务包括的待执行的子任务需要占用的硬件资源量后排在其后的任务包括的待执行的子任务需要占用的硬件资源量叠加,将得到的结果和GPU当前空闲的硬件资源量进行比较。只要硬件资源量之和没有超过GPU当前空闲的硬件资源量的待执行子任务,都可以同时执行。
例如,GPU当前空闲的硬件资源量为10。排在第一个的任务包括的待执行的子任务需要占用的硬件资源量为2,排在第二个的任务包括的待执行的子任务需要占用的硬件资源量为5,排在第三个的任务包括的待执行的子任务需要占用的硬件资源量为2,排在第四个的任务包括的待执行的子任务需要占用的硬件资源量为4,则可以同时执行排在第一、二、三个的任务包括的待执行的子任务,它们需要占用的硬件资源量之和为9。然而,如果加上排在第四个的任务包括的待执行的子任务之后,GPU当前空闲的硬件资源量就不能满足这四个待执行的子任务同时执行了。
通过本公开实施例提供的方法,在检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,可以根据多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务。这样,在硬件资源不足的情况下,根据执行优先级来确定优先执行哪些待执行的子任务。执行优先级高的任务的待执行的子任务可以优先执行。进而,基于执行优先级,后开始的任务也可以优先执行,因此,提高了执行任务的灵活性。
本公开又一示例性实施例提供了一种执行任务的装置,如图8所示,该装置包括:
确定模块410,用于每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及所述任务所属的任务类型,确定并记录所述任务对应的执行优先级;
执行模块420,用于执行所述任务包括的各子任务;
所述执行模块420,还用于当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行模块420用于:
根据预设的所述任务的流属性,建立与所述流属性对应的流处理队列,将所述任务包括的各子任务按照预设的执行顺序添加到所述流处理队列中;
执行所述流处理队列中的各子任务。
可选地,所述执行模块420用于:
确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和;
当检测到当前空闲的硬件资源量小于所述硬件资源量之和时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行模块420用于:
基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
可选地,所述执行模块420用于:
基于所述多个不同任务中每个任务的执行优先级、所述多个不同任务中每个任务的已执行比例、预设的执行优先级加权系数、以及预设的已执行比例加权系数,确定所述多个不同任务中每个任务对应的加权值;
基于每个任务对应的加权值,在所述待执行的子任务中,选取至少一个子任务作为优先执行的目标子任务,执行所述目标子任务,其中,所述待执行的子任务中除所述目标子任务之外的其它子任务的加权值不大于任一目标子任务的加权值,且所有目标子任务对应的硬件资源量之和小于或者等于当前空闲的硬件资源量。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本公开实施例提供的装置,在检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,可以根据多个不同任务中每个任务的执行优先级,在待执行的子任务中,确定优先执行的目标子任务。这样,在硬件资源不足的情况下,根据执行优先级来确定优先执行哪些待执行的子任务。执行优先级高的任务的待执行的子任务可以优先执行。进而,基于执行优先级,后开始的任务也可以优先执行,因此,提高了执行任务的灵活性。
需要说明的是:上述实施例提供的执行任务的装置在执行任务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的执行任务的装置与执行任务的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9示出了本公开一个示例性实施例提供的计算机设备1800的结构示意图。该计算机设备1800可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture ExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1800包括有:处理器1801和存储器1802。
处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1801所执行以实现本申请中方法实施例提供的执行任务的方法。
在一些实施例中,计算机设备1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、触摸显示屏1805、摄像头1806、音频电路1807、定位组件1808和电源1809中的至少一种。
外围设备接口1803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它计算机设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置计算机设备1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在计算机设备1800的不同表面或呈折叠设计;在再一些实施例中,显示屏1805可以是柔性显示屏,设置在计算机设备1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在计算机设备的前面板,后置摄像头设置在计算机设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。
定位组件1808用于定位计算机设备1800的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1808可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1809用于为计算机设备1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,计算机设备1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。
加速度传感器1811可以检测以计算机设备1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制触摸显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1812可以检测计算机设备1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对计算机设备1800的3D动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1813可以设置在计算机设备1800的侧边框和/或触摸显示屏1805的下层。当压力传感器1813设置在计算机设备1800的侧边框时,可以检测用户对计算机设备1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在触摸显示屏1805的下层时,由处理器1801根据用户对触摸显示屏1805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置计算机设备1800的正面、背面或侧面。当计算机设备1800上设置有物理按键或厂商Logo时,指纹传感器1814可以与物理按键或厂商Logo集成在一起。
光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制触摸显示屏1805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1805的显示亮度;当环境光强度较低时,调低触摸显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
接近传感器1816,也称距离传感器,通常设置在计算机设备1800的前面板。接近传感器1816用于采集用户与计算机设备1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与计算机设备1800的正面之间的距离逐渐变小时,由处理器1801控制触摸显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与计算机设备1800的正面之间的距离逐渐变大时,由处理器1801控制触摸显示屏1805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对计算机设备1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (11)

1.一种执行任务的方法,其特征在于,所述方法包括:
每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及所述任务所属的任务类型,确定并记录所述任务对应的执行优先级;
执行所述任务包括的各子任务;
当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
2.根据权利要求1所述的方法,其特征在于,所述执行所述任务包括的各子任务,包括:
根据预设的所述任务的流属性,建立与所述流属性对应的流处理队列,将所述任务包括的各子任务按照预设的执行顺序添加到所述流处理队列中;
执行所述流处理队列中的各子任务。
3.根据权利要求1所述的方法,其特征在于,所述当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务,包括:
确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和;
当检测到当前空闲的硬件资源量小于所述硬件资源量之和时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
4.根据权利要求1所述的方法,其特征在于,所述基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务,包括:
基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
5.根据权利要求4所述的方法,其特征在于,所述基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务,包括:
基于所述多个不同任务中每个任务的执行优先级、所述多个不同任务中每个任务的已执行比例、预设的执行优先级加权系数、以及预设的已执行比例加权系数,确定所述多个不同任务中每个任务对应的加权值;
基于每个任务对应的加权值,在所述待执行的子任务中,选取至少一个子任务作为优先执行的目标子任务,执行所述目标子任务,其中,所述待执行的子任务中除所述目标子任务之外的其它子任务的加权值不大于任一目标子任务的加权值,且所有目标子任务对应的硬件资源量之和小于或者等于当前空闲的硬件资源量。
6.一种执行任务的装置,其特征在于,所述装置包括:
确定模块,用于每当接收到任务时,根据预设的任务类型和执行优先级的对应关系,以及所述任务所属的任务类型,确定并记录所述任务对应的执行优先级;
执行模块,用于执行所述任务包括的各子任务;
所述执行模块,还用于当检测到当前空闲的硬件资源量不足以同时执行多个不同任务中待执行的子任务时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
7.根据权利要求6所述的装置,其特征在于,所述执行模块用于:
根据预设的所述任务的流属性,建立与所述流属性对应的流处理队列,将所述任务包括的各子任务按照预设的执行顺序添加到所述流处理队列中;
执行所述流处理队列中的各子任务。
8.根据权利要求6所述的装置,其特征在于,所述执行模块用于:
确定同时执行的多个不同任务中待执行的子任务对应的硬件资源量之和;
当检测到当前空闲的硬件资源量小于所述硬件资源量之和时,基于所述多个不同任务中每个任务的执行优先级,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
9.根据权利要求6所述的装置,其特征在于,所述执行模块用于:
基于所述多个不同任务中每个任务的执行优先级、以及所述多个不同任务中每个任务的已执行比例,在所述待执行的子任务中,确定优先执行的目标子任务,执行所述目标子任务。
10.根据权利要求9所述的装置,其特征在于,所述执行模块用于:
基于所述多个不同任务中每个任务的执行优先级、所述多个不同任务中每个任务的已执行比例、预设的执行优先级加权系数、以及预设的已执行比例加权系数,确定所述多个不同任务中每个任务对应的加权值;
基于每个任务对应的加权值,在所述待执行的子任务中,选取至少一个子任务作为优先执行的目标子任务,执行所述目标子任务,其中,所述待执行的子任务中除所述目标子任务之外的其它子任务的加权值不大于任一目标子任务的加权值,且所有目标子任务对应的硬件资源量之和小于或者等于当前空闲的硬件资源量。
11.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,其中:
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序,以实现权利要求1-5任一所述的方法步骤。
CN201810716577.0A 2018-07-03 2018-07-03 执行任务的方法和装置 Active CN110673944B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810716577.0A CN110673944B (zh) 2018-07-03 2018-07-03 执行任务的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810716577.0A CN110673944B (zh) 2018-07-03 2018-07-03 执行任务的方法和装置

Publications (2)

Publication Number Publication Date
CN110673944A true CN110673944A (zh) 2020-01-10
CN110673944B CN110673944B (zh) 2022-09-09

Family

ID=69065696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810716577.0A Active CN110673944B (zh) 2018-07-03 2018-07-03 执行任务的方法和装置

Country Status (1)

Country Link
CN (1) CN110673944B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580964A (zh) * 2020-04-29 2020-08-25 杭州涂鸦信息技术有限公司 一种应用任务优先级分配方法、系统及相关设备
CN112685158A (zh) * 2020-12-29 2021-04-20 杭州海康威视数字技术股份有限公司 一种任务调度方法、装置、电子设备及存储介质
CN112698943A (zh) * 2020-12-29 2021-04-23 北京顺达同行科技有限公司 资源分配方法、装置、计算机设备以及存储介质
CN117608862A (zh) * 2024-01-22 2024-02-27 金品计算机科技(天津)有限公司 数据分发控制方法、装置、设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
CN1637764A (zh) * 2004-01-07 2005-07-13 国际商业机器公司 工作流系统及方法
CN101246439A (zh) * 2008-03-18 2008-08-20 中兴通讯股份有限公司 一种基于任务调度的自动化测试方法及系统
CN102541640A (zh) * 2011-12-28 2012-07-04 厦门市美亚柏科信息股份有限公司 一种集群gpu资源调度系统和方法
CN103336714A (zh) * 2013-06-20 2013-10-02 北京奇虎科技有限公司 一种作业调度方法和装置
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN105900063A (zh) * 2014-06-26 2016-08-24 郑基雄 多处理环境中的调度方法和装置
CN105893126A (zh) * 2016-03-29 2016-08-24 华为技术有限公司 一种任务调度方法及装置
CN106326006A (zh) * 2016-08-23 2017-01-11 成都卡莱博尔信息技术股份有限公司 针对数据平台任务流的任务管理系统
CN107346263A (zh) * 2017-06-29 2017-11-14 上海联影医疗科技有限公司 任务执行方法、存储介质以及计算机设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
CN1637764A (zh) * 2004-01-07 2005-07-13 国际商业机器公司 工作流系统及方法
CN101246439A (zh) * 2008-03-18 2008-08-20 中兴通讯股份有限公司 一种基于任务调度的自动化测试方法及系统
CN102541640A (zh) * 2011-12-28 2012-07-04 厦门市美亚柏科信息股份有限公司 一种集群gpu资源调度系统和方法
CN103336714A (zh) * 2013-06-20 2013-10-02 北京奇虎科技有限公司 一种作业调度方法和装置
CN105900063A (zh) * 2014-06-26 2016-08-24 郑基雄 多处理环境中的调度方法和装置
CN104657214A (zh) * 2015-03-13 2015-05-27 华存数据信息技术有限公司 一种基于多队列和多优先级的大数据任务管理系统和方法
CN105893126A (zh) * 2016-03-29 2016-08-24 华为技术有限公司 一种任务调度方法及装置
CN106326006A (zh) * 2016-08-23 2017-01-11 成都卡莱博尔信息技术股份有限公司 针对数据平台任务流的任务管理系统
CN107346263A (zh) * 2017-06-29 2017-11-14 上海联影医疗科技有限公司 任务执行方法、存储介质以及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WENXIANG LI 等: "Subtask Scheduling for Distributed Robots in Cloud Manufacturing", 《IEEE SYSTEMS JOURNAL》 *
丑文龙 等: "ARM GPU的多任务调度设计与实现", 《西安交通大学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580964A (zh) * 2020-04-29 2020-08-25 杭州涂鸦信息技术有限公司 一种应用任务优先级分配方法、系统及相关设备
CN112685158A (zh) * 2020-12-29 2021-04-20 杭州海康威视数字技术股份有限公司 一种任务调度方法、装置、电子设备及存储介质
CN112698943A (zh) * 2020-12-29 2021-04-23 北京顺达同行科技有限公司 资源分配方法、装置、计算机设备以及存储介质
CN112685158B (zh) * 2020-12-29 2023-08-04 杭州海康威视数字技术股份有限公司 一种任务调度方法、装置、电子设备及存储介质
CN117608862A (zh) * 2024-01-22 2024-02-27 金品计算机科技(天津)有限公司 数据分发控制方法、装置、设备及介质
CN117608862B (zh) * 2024-01-22 2024-04-12 金品计算机科技(天津)有限公司 数据分发控制方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110673944B (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
CN108304265B (zh) 内存管理方法、装置及存储介质
CN110134521B (zh) 资源分配的方法、装置、资源管理器及存储介质
CN108762881B (zh) 界面绘制方法、装置、终端及存储介质
CN110673944B (zh) 执行任务的方法和装置
CN110659127A (zh) 一种处理任务的方法、装置及系统
CN110288689B (zh) 对电子地图进行渲染的方法和装置
CN111914985B (zh) 深度学习网络模型的配置方法、装置及存储介质
CN116842047A (zh) 缓存更新方法、装置、设备及计算机可读存储介质
CN112966130B (zh) 多媒体资源展示方法、装置、终端及存储介质
CN111813322A (zh) 存储池的创建方法、装置、设备及存储介质
CN112181915A (zh) 执行业务的方法、装置、终端和存储介质
CN115344537A (zh) 存储空间分配的方法、装置、文件系统和存储介质
CN111711841B (zh) 图像帧播放方法、装置、终端及存储介质
CN113448692B (zh) 分布式图计算的方法、装置、设备及存储介质
CN108881715B (zh) 拍摄模式的启用方法、装置、终端及存储介质
CN114140105A (zh) 资源转移方法、装置、设备及计算机可读存储介质
CN111464829A (zh) 切换媒体数据的方法、装置、设备及存储介质
CN111369434A (zh) 拼接视频封面生成的方法、装置、设备和存储介质
CN111258673A (zh) 快应用显示方法及终端设备
CN112148438B (zh) 异常任务处理、任务调度方法、装置及计算机存储介质
CN111695981B (zh) 资源转移方法、装置及存储介质
CN111526221B (zh) 域名质量确定方法、装置及存储介质
CN111222124B (zh) 使用权限分配的方法、装置、设备以及存储介质
CN111246147B (zh) 视频缓存方法、装置、终端及存储介质
CN110533666B (zh) 一种获取数据块尺寸的方法、处理数据的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant