CN110069344A - 一种任务执行方法、装置和智能设备 - Google Patents

一种任务执行方法、装置和智能设备 Download PDF

Info

Publication number
CN110069344A
CN110069344A CN201910303506.2A CN201910303506A CN110069344A CN 110069344 A CN110069344 A CN 110069344A CN 201910303506 A CN201910303506 A CN 201910303506A CN 110069344 A CN110069344 A CN 110069344A
Authority
CN
China
Prior art keywords
task
thread
frame data
execution time
executed
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
Application number
CN201910303506.2A
Other languages
English (en)
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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910303506.2A priority Critical patent/CN110069344A/zh
Publication of CN110069344A publication Critical patent/CN110069344A/zh
Pending legal-status Critical Current

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明实施例提供的一种任务执行方法、装置和智能设备,该方法包括:将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。本发明实施例可以提高多核处理器的资源利用率。

Description

一种任务执行方法、装置和智能设备
技术领域
本发明涉及自动驾驶技术领域,尤其涉及一种任务执行方法、装置和智能设备。
背景技术
目前在自动驾驶技术的任务处理过程中,一些任务(例如:串行任务)是在单核环境下运行的,也就是说,同一任务的所有程序是在处理器的某一个核上运行。但目前很多处理器是多核处理器,这样同一任务在处理器的一个核上运行,导致多核处理器的资源利用率比较低。
发明内容
本发明实施例提供的一种任务执行方法、装置和智能设备,以解决多核处理器的资源利用率比较低的问题。
第一方面,本发明实施例提供一种任务执行方法,应用于包括多核处理器的智能设备,包括:
将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;
通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
可选的,所述将一个任务拆分成N个部分任务,包括:
确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
可选的,所述通过N个线程分别执行所述N个部分任务,包括:
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;或者
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
可选的,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
第二方面,本发明实施例提供一种任务执行装置,应用于包括多核处理器的智能设备,包括:
拆分模块,用于将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;
执行模块,用于通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
可选的,所述拆分模块用于确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
可选的,所述执行模块用于通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;或者
所述执行模块用于通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
可选的,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
第三方面,本发明实施例提供一种智能设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明实施例提供的任务执行方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的任务执行方法的步骤。
本发明实施例中,将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。这样可以实现通过处理器的多核来执行同一个任务,从而可以提高多核处理器的资源利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种任务执行方法的流程图;
图2是本发明实施例提供的一种任务执行的示意图;
图3是本发明实施例提供的一种任务执行装置的结构图;
图4是本发明实施例提供的一种智能设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,说明书以及权利要求中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B,表示包含单独A,单独B,以及A和B都存在三种情况。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
请参见图1,图1是本发明实施例提供的一种任务执行方法的流程图,该方法应用于包括多核处理器的智能设备,如图1所示,包括以下步骤:
步骤101、将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数。
其中,上述智能设备可以是汽车、车载终端、移动终端等包括多核处理器的智能设备。另外,多核处理器可以是多核CPU。
另外,上述一个任务可以是上述设备中需要执行的任一任务,例如:上述一个任务可以是上述设备中需要执行的任一串行任务。进一步的,上述任务可以是包括不可重入的程序或不可重入的函数的任务,这样可以实现针对包括不可重入的程序或不可重入的函数的任务进行并发执行,以提高任务执行的速度。
上述将一个任务拆分成N个部分任务可以是,将一个任务包括的程序拆分为多段程序,以得到N个部分任务,即每个部分任务是一段程序。或者,上述将一个任务拆分成N个部分任务可以是按照任务执行的事务进行拆分,将一个任务拆分为分别包括不同事务的多个部分任务,例如:某串行任务包括行人识别和车辆识别,两者使用同一数据源,因此,可以将该任务可以拆分为行人识别和车辆识别两部分。
作为一种可选的实施方式,所述将一个任务拆分成N个部分任务,包括:
确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
上述确定一个任务的N个部分可以是将该任务划分N个部分,例如:确定前半部分和后半部分的任务。
上述解耦合操作可以是对上述N个部分进行逻辑和数学拆分,以使得上术N个部分任务彼此之间不会发生冲突,或者N个部分任务彼此之间的冲突处于可控范围内。例如:以上述N为2举例,通过对上述任务的逻辑和数学理解,将前半部分和后半部分的任务进行逻辑和数学拆分,尽量使两部分任务不会发生冲突,或任务冲突处于可控范围内。
该实施方式中,可以实现通过解耦合操作得到N个部分任务,使得上述N个部分任务彼此之间不会发生冲突,或者N个部分任务彼此之间的冲突处于可控范围内,以避免错误的发生,保证任务执行的准确性。
步骤102、通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
其中,上述通过N个线程分别执行所述N个部分任务可以是,不同的线程执行不同的部分任务。需要说明的是,本发明实施例中,上述N个线程中某一线程可以为上述任务的主进程,而其他线程可以是为该任务新开辟的线程。
上述N个线程分别运行于所述多核处理器的不同核上可以是,上述N个线程分别运行于所述多核处理器的N个核上,即不同的线程绑定至不同核上运行,以最大化提高多核处理器的资源利用率。当然,本发明实施例中,并不限定N个线程分别运行于所述多核处理器的N个核上,例如:在N为大于或者等于3的情况下,上述N个线程可以是运行于M个核上,其中,M为大于或者等于2的整数。
本发明实施例中,通过上述步骤可以实现N个部分任务在多核上,且在不同线程上执行,这样可以充分利用多核处理器的并行计算资源,另外,由于可以将线程绑定到不同的核上运行,从而保证多核多线程的物理并行,以提高核处理器的资源利用率,以及还可以提高数据处理结果的输出频率。例如:以N为2举例,将任务分为前后两个部分,前半部分使用主进程进行一半的数据处理,后半部分开辟一个线程进行后半段任务的处理,这时主进程即可返回接收下一帧数据进行处理,由于前半段与后半段属于不同的程序,因此只要经过很小的改动,就可以实现占用两倍处理器资源,将数据处理输出结果频率翻倍的效果。相应的,在一些场景中,如果使用三线程,可以实现三倍资源占用,数据处理频率三倍化的效果。
需要说明的是,本发明实施例中,N个部分任务的输出结果可以不合并,例如:进行拆分的两个线程的部分任务和输出结果不相关。当然,也可以合并,该情况下可以将一些部分任务的输出结果保存在约定好的位置,由后结束的部分任务进行合并操作,此合并操作通常在后半段部分任务进行,在前后两段部分任务完成先后不可控时,可以使用信号量等方式进行同步等。
作为一种可选的实施方式,所述通过N个线程分别执行所述N个部分任务,包括:
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠。
其中,i为正整数。
上述第i帧数据可以是任意帧数据,这些帧数据可以是设备采集的数据,例如:图像、语音等等。而上述第i+1帧数据是上述第i帧数据的下一帧数据。
需要说明的是,本发明实施例中,一帧数据可以是一个或者多个数据。另外,本发明实施例中,不同部分任务的输入数据可以相互关联的,例如:上述通过第二线程执行所述第i帧数据的第二部分任务可以是,将第一线程执行第i帧数据的第一部分任务的输出结果作为第二线程执行所述第i帧数据的第二部分任务的输入。
当然,一些应用中,不同部分任务的输入数据也可以是相同的,或者,在另一些应用中,多个部分任务的输入数据可以是对输入数据进行拆分得到,例如:将视觉数据拆分为低视觉区域和高视觉区域作为不同部分任务的输入,以执行不同部分任务的处理。
上述通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠可以是,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间全部或者部分重合。
另外,该实施方式中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠,这样可以保证不会发生同一帧的数据访问冲突。
该实施方式中,可以实现第一部分任务和第二部分任务交错执行,例如:如图2所示,第一线程执行各帧的A段(即上述第一部分任务),第二线程执行各帧的B段(即上述第二部分任务)。这样相比,单线程模式,可以提高多核处理器的资源利用率,以及降低数据处理结果输出间隔,如图2所示,在单线程模式中,CPU占用为n,输出间隔为T,而该实施方式中,可以将CPU占用提高至2n,输出间隔降低至T/2,其中,n是指执行上述任务的线程使用的CPU资源占CPU总资源的百分比,上述T是指单线程执行该任务时输出数据结果的时间间隔。
作为另一种可选的实施方式,所述通过N个线程分别执行所述N个部分任务,包括:
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
上述通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠可以是,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间全部或者部分重合。
该实施方式中,可以实现多个部分任务同时在不同线程,且在多个核上执行,以提高任务处理速度。
可选的,在上述两种实施方式中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
这样可以实现同一部分任务在针对不同帧数据进行处理时不同时执行,从而避免发生函数或者程序重入,进而避免局部数据访问冲突。例如:在进入后上述第二部分任务时需要等待第二线程运行结束,才可以执行下一帧数据的第二部分任务。
需要说明的是,本发明实施例中,上述任务可以是自动驾驶技术中的任务,当然,对此不作限定,例如:上述任务还可以是其他技术,例如:移动终端技术中的任务。
本发明实施例中,将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。这样可以实现通过处理器的多核来执行同一个任务,从而可以提高多核处理器的资源利用率,以及还可以提高数据处理结果的输出频率。
请参见图3,图3是本发明实施例提供的一种任务执行装置的结构图,该装置应用于包括多核处理器的智能设备,如图3所示,任务执行装置300包括
拆分模块301,用于将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;
执行模块302,用于通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
可选的,所述拆分模块301用于确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
可选的,所述执行模块302用于通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;或者
所述执行模块302用于通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
可选的,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
本发明实施例提供的装置能够实现图1所示的方法实施例中实现的各个过程,且可以达到相同有益效果,为避免重复,这里不再赘述。
请参见图4,图4是本发明实施例提供的一种智能设备的结构图,该智能设备包括多核处理器,如图4所示,设备400包括处理器401、存储器402及存储在所述存储器402上并可在所述处理器上运行的计算机程序。
其中,所述计算机程序被所述处理器401执行时实现如下步骤:
将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;
通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
可选的,处理器401执行的所述将一个任务拆分成N个部分任务,包括:
确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
可选的,处理器401执行的所述通过N个线程分别执行所述N个部分任务,包括:
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;或者
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
可选的,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
本发明实施例提供的电子设备能够实现图1所示的方法实施例中电子设备实现的各个过程,且可以达到相同有益效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的任务执行方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (10)

1.一种任务执行方法,应用于包括多核处理器的智能设备,其特征在于,包括:
将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;
通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
2.如权利要求1所述的方法,其特征在于,所述将一个任务拆分成N个部分任务,包括:
确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
3.如权利要求1或2所述的方法,其特征在于,所述通过N个线程分别执行所述N个部分任务,包括:
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;或者
通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
4.如权利要求3所述的方法,其特征在于,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
5.一种任务执行装置,应用于包括多核处理器的智能设备,其特征在于,包括:
拆分模块,用于将一个任务拆分成N个部分任务,其中,N为大于或者等于2的整数;
执行模块,用于通过N个线程分别执行所述N个部分任务,其中,所述N个线程分别运行于所述多核处理器的不同核上。
6.如权利要求5所述的装置,其特征在于,所述拆分模块用于确定一个任务的N个部分,并对所述N个部分进行解耦合操作,以得到N个部分任务。
7.如权利要求5或6所述的装置,其特征在于,所述执行模块用于通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,以及通过所述第一线程执行第i+1帧数据的第一部分任务,通过所述第二线程执行所述第i+1帧数据的第二部分任务,其中,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;或者
所述执行模块用于通过第一线程执行第i帧数据的第一部分任务,通过第二线程执行所述第i帧数据的第二部分任务,其中,通过所述第一线程执行第i帧数据的第一部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间存在重叠;
其中,i为正整数。
8.如权利要求7所述的装置,其特征在于,通过所述第一线程执行第i+1帧数据的第一部分任务的执行时间与通过所述第一线程执行所述第i帧数据的第一部分任务的执行时间不存在重叠;和/或
通过所述第二线程执行第i+1帧数据的第二部分任务的执行时间与通过所述第二线程执行所述第i帧数据的第二部分任务的执行时间不存在重叠。
9.一种智能设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的任务执行方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的任务执行方法的步骤。
CN201910303506.2A 2019-04-16 2019-04-16 一种任务执行方法、装置和智能设备 Pending CN110069344A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910303506.2A CN110069344A (zh) 2019-04-16 2019-04-16 一种任务执行方法、装置和智能设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910303506.2A CN110069344A (zh) 2019-04-16 2019-04-16 一种任务执行方法、装置和智能设备

Publications (1)

Publication Number Publication Date
CN110069344A true CN110069344A (zh) 2019-07-30

Family

ID=67367747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910303506.2A Pending CN110069344A (zh) 2019-04-16 2019-04-16 一种任务执行方法、装置和智能设备

Country Status (1)

Country Link
CN (1) CN110069344A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825528A (zh) * 2019-11-11 2020-02-21 聚好看科技股份有限公司 资源管理方法、装置及设备
CN110992241A (zh) * 2019-11-21 2020-04-10 支付宝(杭州)信息技术有限公司 异构嵌入式系统及其加速神经网络目标检测的方法
CN111274175A (zh) * 2020-01-15 2020-06-12 杭州华冲科技有限公司 一种基于数据乒乓填充的dma工作方法
CN113365101A (zh) * 2020-03-05 2021-09-07 腾讯科技(深圳)有限公司 对视频进行多任务处理的方法及相关设备
CN115086756A (zh) * 2021-03-10 2022-09-20 北京字跳网络技术有限公司 视频处理方法、装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297767A (zh) * 2012-02-28 2013-09-11 三星电子(中国)研发中心 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器
CN103838552A (zh) * 2014-03-18 2014-06-04 北京邮电大学 4g宽带通信系统多核并行流水线信号的处理系统和方法
CN106358003A (zh) * 2016-08-31 2017-01-25 华中科技大学 一种基于线程级流水线的视频分析加速方法
CN107301087A (zh) * 2017-06-28 2017-10-27 郑州云海信息技术有限公司 一种多线程系统的性能提升方法和装置
CN108108242A (zh) * 2017-12-11 2018-06-01 成都博睿德科技有限公司 基于大数据的存储层智能分发控制方法
CN108958944A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 一种多核处理系统及其任务分配方法
CN109062695A (zh) * 2018-08-02 2018-12-21 中国水利水电科学研究院 一种vic陆面模型网格数据计算方法
US20190034233A1 (en) * 2017-07-28 2019-01-31 Genband Us Llc Virtual container processing on high performance computing processors

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297767A (zh) * 2012-02-28 2013-09-11 三星电子(中国)研发中心 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器
CN103838552A (zh) * 2014-03-18 2014-06-04 北京邮电大学 4g宽带通信系统多核并行流水线信号的处理系统和方法
CN106358003A (zh) * 2016-08-31 2017-01-25 华中科技大学 一种基于线程级流水线的视频分析加速方法
CN107301087A (zh) * 2017-06-28 2017-10-27 郑州云海信息技术有限公司 一种多线程系统的性能提升方法和装置
US20190034233A1 (en) * 2017-07-28 2019-01-31 Genband Us Llc Virtual container processing on high performance computing processors
CN108108242A (zh) * 2017-12-11 2018-06-01 成都博睿德科技有限公司 基于大数据的存储层智能分发控制方法
CN108958944A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 一种多核处理系统及其任务分配方法
CN109062695A (zh) * 2018-08-02 2018-12-21 中国水利水电科学研究院 一种vic陆面模型网格数据计算方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王卫生: "《Java程序设计与实训教程》", 28 February 2007 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825528A (zh) * 2019-11-11 2020-02-21 聚好看科技股份有限公司 资源管理方法、装置及设备
CN110825528B (zh) * 2019-11-11 2022-02-01 聚好看科技股份有限公司 资源管理方法、装置及设备
CN110992241A (zh) * 2019-11-21 2020-04-10 支付宝(杭州)信息技术有限公司 异构嵌入式系统及其加速神经网络目标检测的方法
CN111274175A (zh) * 2020-01-15 2020-06-12 杭州华冲科技有限公司 一种基于数据乒乓填充的dma工作方法
CN113365101A (zh) * 2020-03-05 2021-09-07 腾讯科技(深圳)有限公司 对视频进行多任务处理的方法及相关设备
CN113365101B (zh) * 2020-03-05 2023-06-30 腾讯科技(深圳)有限公司 对视频进行多任务处理的方法及相关设备
CN115086756A (zh) * 2021-03-10 2022-09-20 北京字跳网络技术有限公司 视频处理方法、装置及存储介质
CN115086756B (zh) * 2021-03-10 2024-02-23 北京字跳网络技术有限公司 视频处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN110069344A (zh) 一种任务执行方法、装置和智能设备
CN111049878B (zh) 微服务调用链具象化的方法、装置、电子装置及存储介质
US20220276899A1 (en) Resource scheduling method, device, and storage medium
CN109741517A (zh) 一种发票查验方法、装置和系统
Loh et al. A survey on density-based clustering algorithms
CN104598426A (zh) 用于异构多核处理器系统的任务调度方法
CN106095604A (zh) 一种多核处理器的核间通信方法及装置
CN111614769A (zh) 一种深度学习技术的行为智能分析引擎系统及控制方法
US9542127B2 (en) Image processing method and image processing apparatus
CN107330045A (zh) 机票预订平台的大数据可视化分析方法及系统
CN105740085A (zh) 容错处理方法及装置
US9715356B2 (en) Method, apparatus and system for determining a merged intermediate representation of a page
CN114841315A (zh) 混合专家模型实现方法、系统、电子设备及存储介质
CN106339458A (zh) 一种基于弹性分布式数据集的Stage划分方法和终端
CN108182281A (zh) 基于流式计算的数据处理控制方法、装置、服务器及介质
US20190171617A1 (en) Method and system for flexible, high performance structured data processing
CN112860401B (zh) 任务调度方法、装置、电子设备和存储介质
CN110489242A (zh) 分布式数据计算方法、装置、终端设备及存储介质
AU2019241002A1 (en) Transaction processing method and system, and server
US20190340039A1 (en) Synchronization Object Aborting Systems and Methods
CN112199407A (zh) 一种数据分组排序方法、装置、设备及存储介质
CN108022201B (zh) 一种三角形图元并行光栅化定序方法
CN113032092B (zh) 分布式计算方法、装置及平台
CN114741173A (zh) Dag任务编排的方法、装置、电子设备和存储介质
CN109558222A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190730

RJ01 Rejection of invention patent application after publication