WO2020168474A1 - 提升数据流机运行效率的方法、装置、设备及存储介质 - Google Patents

提升数据流机运行效率的方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2020168474A1
WO2020168474A1 PCT/CN2019/075512 CN2019075512W WO2020168474A1 WO 2020168474 A1 WO2020168474 A1 WO 2020168474A1 CN 2019075512 W CN2019075512 W CN 2019075512W WO 2020168474 A1 WO2020168474 A1 WO 2020168474A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
flow function
target
data flow
input data
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.)
Ceased
Application number
PCT/CN2019/075512
Other languages
English (en)
French (fr)
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.)
Shenzhen University
Original Assignee
Shenzhen University
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 Shenzhen University filed Critical Shenzhen University
Priority to PCT/CN2019/075512 priority Critical patent/WO2020168474A1/zh
Publication of WO2020168474A1 publication Critical patent/WO2020168474A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/54Interprogram communication

Definitions

  • the present invention relates to the field of computer technology, in particular to a method, device, equipment and storage medium for improving the operating efficiency of a data stream machine.
  • the program design uses the structure of sequential execution of commands for programming.
  • the function call is determined by the control flow. This makes the matching between the number of ready tasks (multi-process or multi-thread) and processor data need to be explicitly controlled.
  • the execution of the function in the data flow machine is determined by the data condition, and its concurrency is determined by the concurrency of the task itself, without explicitly considering the number of processor cores. But the data flow machine needs data condition flags.
  • the main purpose of the present invention is to provide a method, device, equipment and storage medium for improving the operating efficiency of a data stream machine, aiming to solve the technical problem of low operating efficiency of the data stream machine in the prior art.
  • the first aspect of the present invention provides a method for improving the operating efficiency of a data stream machine, the method including:
  • the target data flow function is run.
  • the step of initializing the data preparation conditions of each data flow function based on the preset number of each input data corresponding to each data flow function includes:
  • the binary number corresponding to each data stream function is configured according to the preset number of each input data corresponding to each data stream function.
  • the step of configuring the binary number corresponding to each data stream function according to the preset number of each input data corresponding to each data stream function includes:
  • the position with the same number of bits as the preset number of each input data corresponding to the target data flow function is configured as 1, and the remaining positions are configured as 0;
  • the step of updating the target data preparation conditions of the data flow function corresponding to the target input data includes:
  • the position with the same number of bits as the preset number of the target input data is changed from 1 to 0.
  • the method further includes:
  • a second aspect of the present invention provides a device for improving the operating efficiency of a data streaming machine, the device including:
  • the initialization module is used to initialize the data preparation conditions of each data flow function based on the preset number of each input data corresponding to each data flow function;
  • the update module is used to update the target data preparation conditions of the data flow function corresponding to the target input data after the target input data is detected to complete the preparation operation;
  • the arithmetic module is used to run the target data flow function when it is detected that the updated data preparation conditions of the target data flow function meet the preset running conditions.
  • the initialization module includes:
  • the first configuration module is configured to configure the data preparation conditions of each data flow function as a binary number with a preset length
  • the second configuration module is configured to configure the binary number corresponding to each data flow function according to the preset number of each input data corresponding to each data flow function.
  • the second configuration module is specifically configured to:
  • the position with the same number of bits as the preset number of each input data corresponding to the target data flow function is configured as 1, and the remaining positions are configured as 0;
  • update module is specifically used for:
  • the position with the same number of bits as the preset number of the target input data is changed from 1 to 0.
  • the device further includes:
  • the logic operation module is used to perform preset logic operations on the binary numbers corresponding to the data preparation conditions of the target data flow function
  • the determining module is configured to determine that the data preparation condition of the target data flow function meets the operating condition when the operation result of the logical operation is a preset value.
  • a third aspect of the present invention provides a device including a memory, a processor, and a computer program that is stored in the memory and can run on the processor, wherein the processor executes the computer program when the computer program is executed.
  • the steps in the method for improving the operating efficiency of the data stream machine provided in the first aspect are provided in the first aspect.
  • a fourth aspect of the present invention provides a storage medium that stores a computer program, and the computer program is characterized in that, when the computer program is executed by a processor, the method for improving the operating efficiency of a data stream machine provided in the first aspect is implemented Various steps.
  • the method for improving the operating efficiency of a data stream machine includes: initializing the data preparation conditions of each data stream function based on the preset number of each input data corresponding to each data stream function; completing the preparation operation after detecting the target input data Then, update the target data preparation conditions of the data flow function corresponding to the target input data; when it is detected that the updated data preparation conditions of the target data flow function meet the preset operating conditions, the target data flow function is run. That is, the present invention can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and does not require multiple accesses to the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation. , It can effectively improve the operating efficiency of the data stream machine.
  • FIG. 1 is a schematic flowchart of a method for improving the operating efficiency of a data stream machine in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a detailed process flow of step 101 in an embodiment of the present invention.
  • FIG. 3 is another flowchart of a method for improving the operating efficiency of a data stream machine in an embodiment of the present invention
  • FIG. 4 is a schematic diagram of a data flow operation provided in an embodiment of the present invention.
  • Figure 5 is a schematic diagram of program modules of a device for improving the operating efficiency of a data stream machine in an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a detailed program module of the initialization module 501 in an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of another program module of the apparatus for improving the operating efficiency of a data stream machine in an embodiment of the present invention.
  • Figure 8 is a schematic structural diagram of a device provided in an embodiment of the present invention.
  • FIG. 1 is a schematic flowchart of a method for improving the operating efficiency of a data stream machine in an embodiment of the present invention.
  • the foregoing method includes:
  • Step 101 Initialize the data preparation conditions of each data flow function based on the preset number of each input data corresponding to each data flow function.
  • each input data corresponding to each data flow function may be configured with a number in advance, such as 1, 2, 3...; and then the data preparation condition of each data flow function is configured as a specific integer.
  • a number in advance such as 1, 2, 3...
  • the data preparation condition of each data flow function is configured as a specific integer.
  • the 64-bit integer long in the C language each input data corresponds to one of them. If the number of input data is greater than 64, multiple long integer tags are used.
  • Step 102 After detecting that the target input data completes the preparation operation, update the target data preparation condition of the data flow function corresponding to the target input data;
  • the data preparation condition of the data flow function corresponding to the input data is updated.
  • Step 103 When it is detected that the updated data preparation conditions of the target data flow function meet the preset operating conditions, run the target data flow function.
  • the function operation corresponding to the data flow function is executed, and the input data in the data flow function has been processed.
  • the method for improving the operating efficiency of a data stream machine includes: initializing the data preparation conditions of each data stream function based on the preset number of each input data corresponding to each data stream function; completing the preparation operation after detecting the target input data Afterwards, update the target data preparation conditions of the target input data corresponding to the data flow function; when it is detected that the data preparation conditions of the target data flow function meet the preset operating conditions, the target data flow function is run. That is, the present invention can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and does not require multiple accesses to the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation. , It can effectively improve the operating efficiency of the data stream machine.
  • Figure 2 is a schematic diagram of the detailed step flow of step 101 in the embodiment of the present invention.
  • the above step 101 is based on the prediction of each input data corresponding to each data flow function.
  • Set a number, and the steps of initializing the data preparation conditions of each data flow function include:
  • Step 201 Configure the data preparation condition of each data stream function as a binary number with a preset length.
  • the data preparation condition of each data stream function can be configured as a binary number with a preset length, such as a 64-bit binary number.
  • Step 201 Configure the binary number corresponding to each data stream function according to the preset number of each input data corresponding to each data stream function.
  • step 201 includes the following steps:
  • the position with the same number of bits as the preset number of each input data corresponding to the target data flow function is configured as 1, and the remaining positions are configured as 0.
  • the target data flow function corresponds to 3 input data
  • the numbers are 1, 2, and 3
  • the target data In the binary number corresponding to the stream function the first, second, and third bits are configured as 1, and the remaining positions are configured as 0, resulting in "00...0111 (64 bits)”.
  • step of updating the target data preparation conditions of the data flow function corresponding to the target input data in the foregoing step 102 includes:
  • the position with the same number of bits as the preset number of the target input data is changed from 1 to 0.
  • the second bit in the binary number corresponding to the target data preparation condition is changed from 1 to 0 to obtain "00...0101 (64 bits) ".
  • atomic instructions that is, atomic operations, refer to operations that will not be interrupted by the thread scheduling mechanism; once this operation starts, it will run until the end, and there will be nothing in between. context switch (switch to another thread).
  • the atomic instruction may be provided by the hardware part of the data stream machine.
  • the method for improving the operating efficiency of the data stream machine includes: configuring the data preparation conditions of each data stream function as a binary number of preset length, and corresponding to the preset number of each input data corresponding to each data stream function. Configure the binary number corresponding to each data flow function. After detecting that the target input data has completed the preparation operation, change the position of the binary number corresponding to the target data preparation condition from 1 to the preset number of the target input data. 0, which can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and it is not necessary to access the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation.
  • FIG. 3 is another flowchart of a method for improving the operating efficiency of a data stream machine in an embodiment of the present invention.
  • the foregoing method includes:
  • Step 301 Initialize the data preparation conditions of each data flow function based on the preset number of each input data corresponding to each data flow function.
  • Step 302 After detecting the completion of the preparation operation of the target input data, update the target data preparation conditions of the data flow function corresponding to the target input data.
  • Step 303 Perform a preset logic operation on the binary number corresponding to the data preparation condition of the target data flow function.
  • the OR logic operation of the assembly instruction can be performed on the binary number corresponding to the data preparation condition.
  • Step 304 When the operation result of the logic operation is a preset value, it is determined that the data preparation condition of the target data flow function meets the operation condition.
  • Step 305 When it is detected that the updated data preparation conditions of the target data flow function meet the preset operating conditions, run the target data flow function.
  • step 301, step 302, or step 305 respectively correspond to the foregoing step 101, step 102, or step 103.
  • step 102, or step 103 For details, please refer to the foregoing embodiment, which will not be repeated here.
  • FIG. 4 is a schematic diagram of a data flow operation provided in an embodiment of the present invention.
  • the data flow function A has 1 input data
  • the preset number of the input data is 1
  • the data flow function B has 1 input data
  • the preset number of the input data is 2
  • the data flow function C has 16 inputs Data, including the output data of data flow function A and data flow function B, and the other 14 input data (numbered 3 to 16).
  • each data flow function can be initialized based on the preset number of each input data corresponding to each data flow function, and the data preparation conditions of data flow functions A, B, and C can be obtained as follows:
  • FC_Dcondition 0000->00111111111111111100 (64 bits);
  • the data flow function A performs the OR operation of the assembly instructions of FA_Dcondition and FA_Dcondition itself, if it is determined that the data preparation conditions of the data flow function A meet the preset operating conditions (all 0), then the square operation is performed to calculate the input data 1 Perform processing and change the data preparation condition FC_Dcondition of the data flow function C to 0000...00111111111111111000 (64 bits).
  • data flow function B performs the OR operation OR of FB_Dcondition and FB_Dcondition itself, if it is determined that the data preparation condition of data flow function B meets the preset operating conditions (all 0), it will perform the radical operation, Input data 2 for processing, and change the data preparation condition FC_Dcondition of data flow function C to 0000...00111111111111110000 (64 bits).
  • the method for improving the operating efficiency of the data stream machine provided by this embodiment only needs to access the memory twice and the execution of 4 assembly instructions. Even considering the acceleration of the cache, the above method provided by this embodiment is still faster than the existing method, and when the task is a fine-grained task (several assembly instructions), it is also far superior to the traditional method.
  • the method for improving the operating efficiency of a data stream machine includes: initializing the data preparation conditions of each data stream function based on the preset number of each input data corresponding to each data stream function; completing the preparation operation after detecting the target input data Then, update the target data preparation conditions of the data flow function corresponding to the target input data; when it is detected that the updated data preparation conditions of the target data flow function meet the preset operating conditions, the target data flow function is run. That is, the present invention can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and does not need to access the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation. Can effectively improve the operating efficiency of the data stream machine.
  • FIG. 5 is a schematic diagram of program modules of the device for improving the operating efficiency of a data streaming machine in an embodiment of the present invention.
  • the above devices include:
  • the initialization module 501 is configured to initialize the data preparation conditions of each data flow function based on the preset number of each input data corresponding to each data flow function.
  • the update module 502 is configured to update the target data preparation conditions of the data flow function corresponding to the target input data after the target input data is detected to complete the preparation operation.
  • the calculation module 503 is configured to run the target data flow function when it is detected that the data preparation condition of the target data flow function meets the preset running condition.
  • the device for improving the operating efficiency of the data stream machine can realize: initialize the data preparation conditions of each data stream function based on the preset number of each input data corresponding to each data stream function; complete the preparation after detecting the target input data After the operation, update the target data preparation conditions of the data flow function corresponding to the target input data; when it is detected that the updated data preparation conditions of the target data flow function meet the preset operating conditions, the target data flow function is run. That is, the present invention can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and does not need to access the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation. Can effectively improve the operating efficiency of the data stream machine.
  • FIG. 6, is a schematic diagram of the detailed program module of the initialization module 501 in the embodiment of the present invention.
  • the above initialization module 501 includes:
  • the first configuration module 601 is configured to configure the data preparation conditions of each data stream function as a binary number with a preset length.
  • the second configuration module 602 is configured to configure the binary number corresponding to each data flow function according to the preset number of each input data corresponding to each data flow function.
  • the foregoing second configuration module 602 is specifically configured to:
  • the position with the same number of bits as the preset number of each input data corresponding to the target data flow function is configured as 1, and the remaining positions are configured as 0;
  • update module 502 is specifically used for:
  • the position with the same number of bits as the preset number of the target input data is changed from 1 to 0.
  • the device for improving the operating efficiency of the data stream machine provided by the present invention can realize: configuring the data preparation conditions of each data stream function as a binary number of preset length, and according to the preset number of each input data corresponding to each data stream function, Configure the binary number corresponding to each data flow function. After detecting that the target input data has completed the preparation operation, change the position of the binary number corresponding to the target data preparation condition from 1 to the preset number of the target input data It is 0, which can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and it is not necessary to access the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation.
  • FIG. 7 is a schematic diagram of another program module of an apparatus for improving the operating efficiency of a data stream machine in an embodiment of the present invention.
  • the foregoing apparatus includes:
  • the initialization module 501 is configured to initialize the data preparation conditions of each data flow function based on the preset number of each input data corresponding to each data flow function.
  • the update module 502 is configured to update the target data preparation conditions of the data flow function corresponding to the target input data after the target input data is detected to complete the preparation operation.
  • the logic operation module 701 is used to perform a preset logic operation on the binary number corresponding to the data preparation condition of the target data flow function.
  • the determining module 702 is configured to determine that the data preparation condition of the target data flow function meets the operating condition when the operation result of the logical operation is a preset value.
  • the calculation module 503 is configured to run the target data flow function when it is detected that the data preparation condition of the target data flow function meets the preset running condition.
  • the device for improving the operating efficiency of the data stream machine can realize: initialize the data preparation conditions of each data stream function based on the preset number of each input data corresponding to each data stream function; complete the preparation after detecting the target input data After the operation, update the target data preparation conditions of the data flow function corresponding to the target input data; when it is detected that the updated data preparation conditions of the target data flow function meet the preset operating conditions, the target data flow function is run. That is, the present invention can actively update the data preparation conditions of the data flow function corresponding to the input data after detecting that the input data has completed the preparation operation, and does not need to access the memory where the data preparation conditions are located to determine whether the input data has completed the preparation operation. Can effectively improve the operating efficiency of the data stream machine.
  • the embodiment of the present invention also provides a device including a memory, a processor, and a computer program stored on the memory and capable of running on the processor.
  • the processor executes the computer program, the method for improving the operating efficiency of the data stream machine according to the present invention is corresponding Each step in the embodiment.
  • the embodiment of the present invention also provides a readable storage medium, the readable storage medium is a computer-readable storage medium, and a computer program is stored thereon.
  • the present invention can improve the operating efficiency of the data stream machine.
  • the method corresponds to each step in the embodiment.
  • FIG. 8 is a schematic structural diagram of a device provided in an embodiment of the present invention.
  • the device 08 of this embodiment mainly includes: a processor 80, a memory 41, and a computer program 82 stored in the memory 81 and running on the processor 80, such as a program that improves the operating efficiency of a data stream machine.
  • the processor 80 executes the computer program 82, it implements the steps in the corresponding embodiment of the method for improving the operating efficiency of the data stream machine; or, when the processor 80 executes the computer program 82, it implements the functions of the modules/units in the above device embodiments, as shown in FIG. 5 shows the function of each module.
  • the computer program 82 may be divided into one or more modules/units, and the one or more modules/units are stored in the memory 81 and executed by the processor 80 to complete the present invention.
  • One or more modules/units may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program 82 in the device 08.
  • the device 08 may include, but is not limited to, a processor 80 and a memory 81.
  • FIG. 8 is only an example of the device 08, and does not constitute a limitation on the device 08. It may include more or less components than shown, or combine certain components, or different components, for example Computing devices may also include input and output devices, network access devices, buses, and so on.
  • the so-called processor 80 may be a central processing unit (Central Processing Unit, CPU), it can also be other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), ready-made programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the memory 81 may be an internal storage unit of the device 08, such as a hard disk or memory of the device 08.
  • the memory 81 may also be an external storage device of the device 08, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a Secure Digital (SD) card, and a flash card (Flash Card) equipped on the device 08 Wait.
  • the memory 81 may also include both an internal storage unit of the device 08 and an external storage device.
  • the memory 81 is used to store computer programs and other programs and data required by the computing device.
  • the memory 81 can also be used to temporarily store data that has been output or will be output.
  • the disclosed device and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the modules is only a logical function division, and there may be other divisions in actual implementation, for example, multiple modules or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or modules, and may be in electrical, mechanical or other forms.
  • modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed to multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each embodiment of the present invention may be integrated into one processing module, or each module may exist alone physically, or two or more modules may be integrated into one module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or software functional modules.
  • the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present invention essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method described in each embodiment of the present invention.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical disks and other media that can store program codes.

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上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器81还可以既包括设备08的内部存储单元也包括外部存储设备。存储器81用于存储计算机程序以及计算设备所需的其他程序和数据。存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种提升数据流机运行效率的方法、装置、设备及存储介质的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (10)

  1. 一种提升数据流机运行效率的方法,其特征在于,所述方法包括:
    基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件;
    在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
    当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
  2. 如权利要求1所述的方法,其特征在于,所述基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件的步骤包括:
    将所述各个数据流函数的数据准备条件配置为预设长度的二进制数;
    按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
  3. 如权利要求2所述的方法,其特征在于,所述按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置的步骤包括:
    将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
    则所述更新所述目标输入数据对应数据流函数的目标数据准备条件的步骤包括:
    基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
  4. 如权利要求2至4任意一项所述的方法,其特征在于,所述当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时的步骤之前还包括:
    对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算;
    当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
  5. 一种提升数据流机运行效率的装置,其特征在于,所述装置包括:
    初始化模块,用于基于各个数据流函数对应的各个输入数据的预设编号,初始化所述各个数据流函数的数据准备条件;
    更新模块,用于在检测到目标输入数据完成准备操作后,更新所述目标输入数据对应数据流函数的目标数据准备条件;
    运算模块,用于当检测到目标数据流函数更新后的数据准备条件符合预设的运行条件时,运行所述目标数据流函数。
  6. 如权利要求5所述的装置,其特征在于,所述初始化模块包括:
    第一配置模块,用于将所述各个数据流函数的数据准备条件配置为预设长度的二进制数;
    第二配置模块,用于按照各个数据流函数对应的各个输入数据的预设编号,对所述各个数据流函数对应的二进制数进行配置。
  7. 如权利要求6所述的装置,其特征在于,所述第二配置模块具体用于:
    将目标数据流函数对应的二进制数中,位数与所述目标数据流函数对应的各个输入数据的预设编号相同的位置配置为1,剩余的位置配置为0;
    则所述更新模块具体用于:
    基于接收到的原子性指令,将所述目标数据准备条件对应的二进制数中,位数与所述目标输入数据的预设编号相同的位置由1变更为0。
  8. 如权利要求5至7任意一项所述的装置,其特征在于,所述装置还包括:
    逻辑运算模块,用于对目标数据流函数的数据准备条件所对应的二进制数,进行预设的逻辑运算;
    确定模块,用于当所述逻辑运算的运算结果为预设值时,确定所述目标数据流函数的数据准备条件符合所述运行条件。
  9. 一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任意一项所述的提升数据流机运行效率的方法中的各个步骤。
  10. 一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述的提升数据流机运行效率的方法中的各个步骤。
PCT/CN2019/075512 2019-02-20 2019-02-20 提升数据流机运行效率的方法、装置、设备及存储介质 Ceased WO2020168474A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/075512 WO2020168474A1 (zh) 2019-02-20 2019-02-20 提升数据流机运行效率的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/075512 WO2020168474A1 (zh) 2019-02-20 2019-02-20 提升数据流机运行效率的方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2020168474A1 true WO2020168474A1 (zh) 2020-08-27

Family

ID=72143349

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/075512 Ceased WO2020168474A1 (zh) 2019-02-20 2019-02-20 提升数据流机运行效率的方法、装置、设备及存储介质

Country Status (1)

Country Link
WO (1) WO2020168474A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN87100245A (zh) * 1987-03-27 1988-10-19 电子工业部第三十二研究所 层次型数据流机及其数据定向方法
CN1781092A (zh) * 2003-03-17 2006-05-31 米特里昂尼克斯股份公司 数据流机
US20160283610A1 (en) * 2013-12-19 2016-09-29 Hewlett Packard Enterprise Development Lp Hybrid flows containing a continous flow
US20180373509A1 (en) * 2017-06-23 2018-12-27 Yongzhi Zhang Loop execution with predicate computing for dataflow machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN87100245A (zh) * 1987-03-27 1988-10-19 电子工业部第三十二研究所 层次型数据流机及其数据定向方法
CN1781092A (zh) * 2003-03-17 2006-05-31 米特里昂尼克斯股份公司 数据流机
US20160283610A1 (en) * 2013-12-19 2016-09-29 Hewlett Packard Enterprise Development Lp Hybrid flows containing a continous flow
US20180373509A1 (en) * 2017-06-23 2018-12-27 Yongzhi Zhang Loop execution with predicate computing for dataflow machines

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XU, YUNCHUAN: "Research on Data Driven Multi-core Processor Based on Crosspoint-queued Routing", ELECTRONIC TECHNOLOGY & INFORMATION SCIENCE, CHINA MASTER’S THESES FULL-TEXT DATABASE, no. 02, 15 February 2015 (2015-02-15), DOI: 第I137-22页 *

Similar Documents

Publication Publication Date Title
CN107408036B (zh) 用户级分叉与结合处理器、方法、系统和指令
CN107430508B (zh) 用于提供原子范围操作的指令和逻辑
US10255077B2 (en) Apparatus and method for a hybrid latency-throughput processor
JP5930558B2 (ja) ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック
CN112395093B (zh) 多线程处理方法、装置、电子设备及可读存储介质
US11467844B2 (en) Storing multiple instructions in a single reordering buffer entry
US12014199B1 (en) Virtualization extension modules
US20030079065A1 (en) Methods and apparatus for providing data transfer control
US20170147345A1 (en) Multiple operation interface to shared coprocessor
JP5710434B2 (ja) アシスト・ハードウエア・スレッドの拡張可能な状態追跡のための方法、情報処理システム、およびプロセッサ
US9715403B2 (en) Optimized extended context management for virtual machines
CN104221005B (zh) 用于从多线程发送请求至加速器的机制
CN104899089A (zh) 一种面向异构多核体系的任务调度方法
TW201741867A (zh) 記憶體複製指令、處理器、方法及系統
US20150123980A1 (en) Method and apparatus for supporting programmable software context state execution during hardware context restore flow
TW201342225A (zh) 用於使用觸發來決定指令順序之方法
JPS63307535A (ja) パイプライン制御回路
US10802828B1 (en) Instruction memory
CN109634766B (zh) 提升数据流机运行效率的方法、装置、设备及存储介质
WO2024021480A1 (zh) 一种虚拟机动态迁移的方法、装置及电子设备
JPS63279328A (ja) 仮想計算機システムのゲスト実行制御方式
CN104008014A (zh) 多核心处理器及其相关控制方法与电脑系统
US10803007B1 (en) Reconfigurable instruction
CN113918272B (zh) 分离式虚拟机及其虚拟机架构、构建方法和优化方法
US10824431B2 (en) Releasing rename registers for floating-point operations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19916104

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19916104

Country of ref document: EP

Kind code of ref document: A1