CN109634766B - 提升数据流机运行效率的方法、装置、设备及存储介质 - Google Patents
提升数据流机运行效率的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109634766B CN109634766B CN201910124995.5A CN201910124995A CN109634766B CN 109634766 B CN109634766 B CN 109634766B CN 201910124995 A CN201910124995 A CN 201910124995A CN 109634766 B CN109634766 B CN 109634766B
- Authority
- CN
- China
- Prior art keywords
- data
- data stream
- target
- stream function
- preset
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
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
技术领域
本发明涉及计算机技术领域,尤其涉及一种提升数据流机运行效率的方法、装置、设备及存储介质。
背景技术
目前,处理器的发展方向已经从单纯提高处理器运行速度的方向朝着多核处理器的方向发展,大型分布式系统也越来越普遍。在冯氏计算机中,程序设计采用顺序执行命令的结构进行编程,在该种模式下函数的调用是通过控制流决定的。这就使得就绪任务数(多进程或多线程)和处理器数据之间的匹配,需要显式地加以控制。而数据流机中函数的执行由数据条件所决定,其并发度由任务本身的并发度确定,而无需显式地考虑处理器核数。但是数据流机需要数据条件标志。在现代操作系统(Windows/linux)中实现数据流执行模式时,多个数据条件需要多个标志数据甚至多个信号量来完成同步。由于独立的标志数据在存储上并没有办法以控制,多次访问将产生较大时间开销。若使用信号量作为数据标志则效率更低。由于一个数据流任务需要等待多个输入数据准备好后才能执行,因此数据流任务在执行前还要检查数据是否准备好,而判断数据是否准备好则需要对该数据流任务对应的数据条件所在的内存进行多次访问和判断是否满足执行条件,因此整个数据流机运行效率并不高。
发明内容
本发明的主要目的在于提供一种提升数据流机运行效率的方法、装置、设备及存储介质,旨在解决现有技术中数据流机运行效率不高的技术问题。
具体的,本发明第一方面提供一种提升数据流机运行效率的方法,该方法包括:
基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件;
在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
可选地,所述基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件的步骤包括:
将所述各个数据流函数的数据准备条件配置为预设长度的二进制数;
按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
可选地,所述按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置的步骤包括:
将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
则所述更新所述目标输入数据对应数据流函数的目标数据准备条件的步骤包括:
基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
可选地,所述当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时的步骤之前还包括:
对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算;
当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
本发明第二方面提供一种提升数据流机运行效率的装置,该装置包括:
初始化模块,用于基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件;
更新模块,用于在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
运算模块,用于当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
可选地,所述初始化模块包括:
第一配置模块,用于将所述各个数据流函数的数据准备条件配置为预设长度的二进制数;
第二配置模块,用于按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
可选地,所述第二配置模块具体用于:
将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
则所述更新模块具体用于:
基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
可选地,所述装置还包括:
逻辑运算模块,用于对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算;
确定模块,用于当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
本发明第三方面提供一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面提供的提升数据流机运行效率的方法中的各个步骤。
本发明第四方面提供一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面提供的提升数据流机运行效率的方法中的各个步骤。
本发明所提供的提升数据流机运行效率的方法,包括:基于各个数据流函数对应的各个输入数据的预设编号,初始化各个数据流函数的数据准备条件;在检测到目标输入数据完成准备操作后,更新目标输入数据对应数据流函数的目标数据准备条件;当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行该目标数据流函数。即本发明可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行多次访问来判断输入数据是否完成准备操作,故可以有效的提升数据流机的运行效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中提升数据流机运行效率的方法的流程示意图;
图2为本发明实施例中步骤101的细化步骤流程示意图;
图3为本发明实施例中提升数据流机运行效率的方法的另一流程示意图;
图4为本发明实施例中提供的一种数据流运行示意图;
图5为本发明实施例中提升数据流机运行效率的装置的程序模块示意图;
图6为本发明实施例中初始化模块501的细化程序模块示意图;
图7为本发明实施例中提升数据流机运行效率的装置的另一程序模块示意图;
图8为本发明实施例中提供的设备的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例中提升数据流机运行效率的方法的流程示意图,本发明实施例中,上述方法包括:
步骤101、基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件。
本发明实施例中,可以预先对各个数据流函数对应的各个输入数据配置一个编号,例如1、2、3……;然后将各个数据流函数的数据准备条件配置为一个具体的整数。例如C语言中64bit的整数long,每一个输入数据对应于其中一位。如果输入数据的个数大于64,则使用多个long整数标记。
步骤102、在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
本实施例中,在检测到各个数据流函数对应的各个输入数据中,有一个输入数据完成准备操作,则更新该输入数据对应数据流函数的数据准备条件。
步骤103、当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
本实施例中,当检测到有数据流函数的数据准备条件符合预设的运行条件时,则运行该数据流函数对应的函数运算,已对该数据流函数中的输入数据进行处理。
本发明所提供的提升数据流机运行效率的方法,包括:基于各个数据流函数对应的各个输入数据的预设编号,初始化各个数据流函数的数据准备条件;在检测到目标输入数据完成准备操作后,更新目标输入数据对应数据流函数的目标数据准备条件;当检测到目标数据流函数的数据准备条件符合预设的运行条件时,运行该目标数据流函数。即本发明可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行多次访问来判断输入数据是否完成准备操作,故可以有效的提升数据流机的运行效率。
进一步的,基于上述实施例,参照图2,图2为本发明实施例中步骤101的细化步骤流程示意图,本实施例中,上述步骤101中基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件的步骤包括:
步骤201、将所述各个数据流函数的数据准备条件配置为预设长度的二进制数。
本实施例中,可以将各个数据流函数的数据准备条件配置为预设长度的二进制数,例如64位的二进制数。
步骤201、按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
具体的,上述步骤201包括以下步骤:
将目标数据流函数对应的二进制数中,位数与目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0。
例如,假设目标数据流函数对应的二进制数为“00000……0(64位)”,该目标数据流函数对应有3个输入数据,编号分别为1、2、3,则可以将该目标数据流函数对应的二进制数中,第1、2、3位配置为1,剩余的位置配置为0,得到“00……0111(64位)”。
进一步地,上述步骤102中更新目标输入数据对应数据流函数的目标数据准备条件的步骤包括:
基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
例如,当目标数据流函数中编号为2的输入数据完成准备操作时,则将目标数据准备条件对应的二进制数中的第2位由1变更为0,得到“00……0101(64位)”。
其中,原子性指令,即原子操作,是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何context switch(切换到另一个线程)。本实施例中,原子性指令可以是由数据流机硬件部分提供。
本发明所提供的提升数据流机运行效率的方法,包括:将各个数据流函数的数据准备条件配置为预设长度的二进制数,按照各个数据流函数对应的各个输入数据的预设编号,对各个数据流函数对应的二进制数进行配置,在检测到目标输入数据完成准备操作后,将目标数据准备条件对应的二进制数中,位数与目标输入数据的预设编号相同的位置由1变更为0,从而可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行访问来判断输入数据是否完成准备操作。
进一步的,请参阅图3,图3为本发明实施例中提升数据流机运行效率的方法的另一流程示意图,本发明实施例中,上述方法包括:
步骤301、基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件。
步骤302、在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件。
步骤303、对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算。
本实施例中,可以对数据准备条件所对应的二进制数,进行汇编指令的或OR逻辑运算。
步骤304、当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
本实施例中,当上述逻辑运算的运算结果为0时,则可以确定所述目标数据流函数的数据准备条件符合所述运行条件。
步骤305、当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
其中,上述步骤301、步骤302即步骤305分别与上述步骤101、步骤102即步骤103对应,具体可参照上述实施例,在此不再赘述。
进一步地,为了更好的理解本发明实施例,参照图4,图4为本发明实施例中提供的一种数据流运行示意图。
在图4中,包括有3个数据流函数A(平方)、B(开根号)、C(相加),且数据流函数A、B、C的初始数据准备条件均为“0000000000000……(64位)”。
其中,数据流函数A具有1个输入数据,该输入数据的预设编号为1,数据流函数B具有1个输入数据,该输入数据的预设编号为2,数据流函数C具有16个输入数据,包括数据流函数A与数据流函数B的输出数据,以及另外的14个输入数据(编号为3至16)。
具体的,可以基于各个数据流函数对应的各个输入数据的预设编号,初始化各个数据流函数的数据准备条件,得到数据流函数A、B、C的数据准备条件分别为:
FA_Dcondition:0000...................0001(64位);
FB_Dcondition:0000.....................0010(64位);
FC_Dcondition:0000……00111111111111111100(64位);
在系统开始运算之后,如果检测到输入数据1完成准备操作,则将数据流函数A的数据准备条件变更为:000000000000000000000000……(64位)。数据流函数A在将FA_Dcondition与FA_Dcondition自身进行汇编指令的或操作OR后,若确定数据流函数A的数据准备条件符合预设的运行条件(全为0),则做出平方运算,对输入数据1进行处理,并将数据流函数C的数据准备条件FC_Dcondition变更为0000……00111111111111111000(64位)。
进一步地,如果检测到输入数据2完成准备操作,则将数据流函数B的数据准备条件变更为:000000000000000000000000……(64位)。数据流函数B在将FB_Dcondition与FB_Dcondition自身进行汇编指令的或操作OR后,若确定数据流函数B的数据准备条件符合预设的运行条件(全为0),则做出开根号运算,对输入数据2进行处理,并将数据流函数C的数据准备条件FC_Dcondition变更为0000……00111111111111110000(64位)。
按照上述原理依次类推,当数据流函数C的另外14个输入数据(编号为3至16)全部准备完成后,数据流函数C的数据准备条件FC_Dcondition最终会变更为000000000000000000000000……(64位)。数据流函数C在将FC_Dcondition与FC_Dcondition自身进行汇编指令的或操作OR后,若确定数据流函数C的数据准备条件符合预设的运行条件(全为0),则做出加法运算,对各个输入数据进行处理。
如此便完成了一次完整数据的流动处理。
需要注意的是,因为数据流函数的运行在本质上并行的,所以系统任务的执行顺序并不完全如上。并且当输入条件FX_Dcondition与FX_Dcondtion自身或操作后不能满足条件跳转时,该数据流函数将不会运行,而是继续的等待输入数据的到来。
本实施例中,以数据准备条件为110位时为例,如果每个数据流函数的数据准备条件都以整数或其他结构来表示,则至少需要110次内存访问时间以及循环代码的运行时间开销。而本实施例所提供的提升数据流机运行效率的方法,只需要访问两次内存以及4条汇编指令的执行。即使考虑cache的加速情况,本实施例所提供的上述方法仍比现有方法更快,且当任务为细粒度任务(几条汇编指令)的情况下,也同样远优于传统方法。
本发明所提供的提升数据流机运行效率的方法,包括:基于各个数据流函数对应的各个输入数据的预设编号,初始化各个数据流函数的数据准备条件;在检测到目标输入数据完成准备操作后,更新目标输入数据对应数据流函数的目标数据准备条件;当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行该目标数据流函数。即本发明可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行访问来判断输入数据是否完成准备操作,故可以有效的提升数据流机的运行效率。
进一步地,本发明实施例还提供一种提升数据流机运行效率的装置,参照图5,图5为本发明实施例中提升数据流机运行效率的装置的程序模块示意图,本发明实施例中,上述装置包括:
初始化模块501,用于基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件。
更新模块502,用于在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件。
运算模块503,用于当检测到目标数据流函数的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
本发明所提供的提升数据流机运行效率的装置,可以实现:基于各个数据流函数对应的各个输入数据的预设编号,初始化各个数据流函数的数据准备条件;在检测到目标输入数据完成准备操作后,更新目标输入数据对应数据流函数的目标数据准备条件;当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行该目标数据流函数。即本发明可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行访问来判断输入数据是否完成准备操作,故可以有效的提升数据流机的运行效率。
进一步的,基于上述实施例,参照图6,图6为本发明实施例中初始化模块501的细化程序模块示意图,本发明实施例中,上述初始化模块501包括:
第一配置模块601,用于将所述各个数据流函数的数据准备条件配置为预设长度的二进制数。
第二配置模块602,用于按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
具体的,上述第二配置模块602具体用于:
将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
则所述更新模块502具体用于:
基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
本发明所提供的提升数据流机运行效率的装置,可以实现:将各个数据流函数的数据准备条件配置为预设长度的二进制数,按照各个数据流函数对应的各个输入数据的预设编号,对各个数据流函数对应的二进制数进行配置,在检测到目标输入数据完成准备操作后,将目标数据准备条件对应的二进制数中,位数与目标输入数据的预设编号相同的位置由1变更为0,从而可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行访问来判断输入数据是否完成准备操作。
进一步的,请参阅图7,图7为本发明实施例中提升数据流机运行效率的装置的另一程序模块示意图,本发明实施例中,上述装置包括:
初始化模块501,用于基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件。
更新模块502,用于在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件。
逻辑运算模块701,用于对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算。
确定模块702,用于当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
运算模块503,用于当检测到目标数据流函数的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
本发明所提供的提升数据流机运行效率的装置,可以实现:基于各个数据流函数对应的各个输入数据的预设编号,初始化各个数据流函数的数据准备条件;在检测到目标输入数据完成准备操作后,更新目标输入数据对应数据流函数的目标数据准备条件;当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行该目标数据流函数。即本发明可以在检测到输入数据完成准备操作后,主动更新输入数据对应数据流函数的数据准备条件,并不需要通过对数据准备条件所在的内存进行访问来判断输入数据是否完成准备操作,故可以有效的提升数据流机的运行效率。
本发明实施例还提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现本发明提升数据流机运行效率的方法对应实施例中的各个步骤。
本发明实施例还提供一种可读存储介质,该可读存储介质为计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现本发明提升数据流机运行效率的方法对应实施例中的各个步骤。
为了更好的理解本发明,参照图8,图8为本发明实施例中提供的设备的结构示意图。如图8所示,该实施例的设备08主要包括:处理器80、存储器41以及存储在存储器81中并可在处理器80上运行的计算机程序82,例如提升数据流机运行效率的程序。处理器80执行计算机程序82时实现上述提升数据流机运行效率的方法对应实施例中的步骤;或者,处理器80执行计算机程序82时实现上述装置实施例中各模块/单元的功能,例如图5所示各模块的功能。
计算机程序82可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器81中,并由处理器80执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序82在设备08中的执行过程。
设备08可包括但不仅限于处理器80、存储器81。本领域技术人员可以理解,图8仅仅是设备08的示例,并不构成对设备08的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器81可以是设备08的内部存储单元,例如设备08的硬盘或内存。存储器81也可以是设备08的外部存储设备,例如设备08上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器81还可以既包括设备08的内部存储单元也包括外部存储设备。存储器81用于存储计算机程序以及计算设备所需的其他程序和数据。存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种提升数据流机运行效率的方法、装置、设备及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种提升数据流机运行效率的方法,其特征在于,所述方法包括:
基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件;
在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数;
所述基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件的步骤包括:
将所述各个数据流函数的数据准备条件配置为预设长度的二进制数;
按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
2.如权利要求1所述的方法,其特征在于,所述按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置的步骤包括:
将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
则所述更新所述目标输入数据对应数据流函数的目标数据准备条件的步骤包括:
基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
3.如权利要求1或2任意一项所述的方法,其特征在于,所述当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时的步骤之前还包括:
对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算;
当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
4.一种提升数据流机运行效率的装置,其特征在于,所述装置包括:
初始化模块,用于基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件;
更新模块,用于在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
运算模块,用于当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数;
所述初始化模块包括:
第一配置模块,用于将所述各个数据流函数的数据准备条件配置为预设长度的二进制数;
第二配置模块,用于按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
5.如权利要求4所述的装置,其特征在于,所述第二配置模块具体用于:
将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
则所述更新模块具体用于:
基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
6.如权利要求4或5任意一项所述的装置,其特征在于,所述装置还包括:
逻辑运算模块,用于对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算;
确定模块,用于当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
7.一种提升数据流机运行效率的设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任意一项所述的提升数据流机运行效率的方法中的各个步骤。
8.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任意一项所述的提升数据流机运行效率的方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124995.5A CN109634766B (zh) | 2019-02-20 | 2019-02-20 | 提升数据流机运行效率的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910124995.5A CN109634766B (zh) | 2019-02-20 | 2019-02-20 | 提升数据流机运行效率的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634766A CN109634766A (zh) | 2019-04-16 |
CN109634766B true CN109634766B (zh) | 2020-02-18 |
Family
ID=66065519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910124995.5A Active CN109634766B (zh) | 2019-02-20 | 2019-02-20 | 提升数据流机运行效率的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634766B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767129B (zh) * | 2020-06-30 | 2021-10-29 | 深圳职业技术学院 | 数据流任务处理装置及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104796291B (zh) * | 2015-04-27 | 2018-05-29 | 清华大学 | 核心路由区域内路由器转发行为规范的检测方法及系统 |
CN107577697B (zh) * | 2017-07-18 | 2021-07-06 | 创新先进技术有限公司 | 一种数据处理方法、装置及设备 |
CN107368415A (zh) * | 2017-07-20 | 2017-11-21 | 成都雅骏新能源汽车科技股份有限公司 | 一种实时数据流调试软件组件及其调试方法 |
EP3786744A4 (en) * | 2018-04-25 | 2021-11-24 | Shenzhen Launch Software Co., Ltd. | VEHICLE DATA FLOW DISPLAY METHOD AND SYSTEM AND VEHICLE DIAGNOSIS DEVICE |
CN109087054B (zh) * | 2018-06-01 | 2023-08-04 | 平安科技(深圳)有限公司 | 协同办公数据流处理方法、装置、计算机设备及存储介质 |
-
2019
- 2019-02-20 CN CN201910124995.5A patent/CN109634766B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109634766A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2606878C2 (ru) | Обработка транзакций | |
CN107003837B (zh) | 用于推测性编译器优化的轻量级受限事务存储器 | |
CN102124443B (zh) | 在单指令多数据(simd)数据处理器中提供扩展寻址模式 | |
KR102379894B1 (ko) | 벡터 연산들 수행시의 어드레스 충돌 관리 장치 및 방법 | |
US9176872B2 (en) | Wait-free algorithm for inter-core, inter-process, or inter-task communication | |
KR20170097008A (ko) | 벡터 요소 세트에 대해 축소 연산을 수행하기 위한 방법 및 장치 | |
JP2018512631A (ja) | アトミックな範囲演算を提供する命令及びロジック | |
US10761822B1 (en) | Synchronization of computation engines with non-blocking instructions | |
JP2014530426A (ja) | ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック | |
US11507386B2 (en) | Booting tiles of processing units | |
EP4152146A1 (en) | Data processing method and device, and storage medium | |
CN111666210A (zh) | 一种芯片验证方法及装置 | |
EP3227773A1 (en) | Method for accessing data in a memory at an unaligned address | |
WO2012024012A1 (en) | Run-time parallelization of computer software accommodating data dependencies | |
CN110825514A (zh) | 人工智能芯片以及用于人工智能芯片的指令执行方法 | |
US9652301B2 (en) | System and method providing run-time parallelization of computer software using data associated tokens | |
CN109634766B (zh) | 提升数据流机运行效率的方法、装置、设备及存储介质 | |
EP2804102B1 (en) | Parallel atomic increment | |
US11243766B2 (en) | Flexible instruction set disabling | |
KR20100120133A (ko) | 멀티-프로세서 동기화를 활성화하는 방법 | |
CN111221573B (zh) | 一种寄存器访问时序的管理方法、处理器、电子设备及计算机可读存储介质 | |
EP4318211A1 (en) | Method for inspecting code under weak memory order architecture, and corresponding device | |
US20100318751A1 (en) | Multiple error management in a multiprocessor computer system | |
WO2018042935A1 (ja) | 電子制御装置、解析システム | |
US20170228304A1 (en) | Method and device for monitoring the execution of a program code |
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 |