CN108563446A - 一种粗粒度数据流架构中的数据复用和同步的方法、装置 - Google Patents

一种粗粒度数据流架构中的数据复用和同步的方法、装置 Download PDF

Info

Publication number
CN108563446A
CN108563446A CN201810279029.6A CN201810279029A CN108563446A CN 108563446 A CN108563446 A CN 108563446A CN 201810279029 A CN201810279029 A CN 201810279029A CN 108563446 A CN108563446 A CN 108563446A
Authority
CN
China
Prior art keywords
program
duplicate instructions
program block
block
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.)
Granted
Application number
CN201810279029.6A
Other languages
English (en)
Other versions
CN108563446B (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.)
Shanghai Ruiwu Technology Co ltd
Original Assignee
Beijing Central Corwick Intelligent Computing Industry Research Institute 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 Central Corwick Intelligent Computing Industry Research Institute Co Ltd filed Critical Beijing Central Corwick Intelligent Computing Industry Research Institute Co Ltd
Priority to CN201810279029.6A priority Critical patent/CN108563446B/zh
Publication of CN108563446A publication Critical patent/CN108563446A/zh
Application granted granted Critical
Publication of CN108563446B publication Critical patent/CN108563446B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/453Data distribution
    • G06F8/454Consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种粗粒度数据流架构中的数据复用和同步的方法、装置,该装置包括至少一个处理器,该处理器中包括:复制指令译码和运算模块,用于当该处理器中的一程序块中的数据需要被其他程序块使用时,在该需要被使用的数据所在的程序块中加入复制指令,以及用于复制指令的逻辑运算;同步指令译码和运算模块,用于当指向同一程序块的复制指令数量大于1时,在该程序块中加入同步指令,以及用于同步指令的逻辑运算;监视器模块,用于监视各个程序块接收到的复制指令包的数量。该方案可以使程序块之间自动地进行数据复用和同步的操作,减少了任务调度模块的工作,使得数据流架构中的程序运行地更为高效。

Description

一种粗粒度数据流架构中的数据复用和同步的方法、装置
技术领域
本发明涉及计算机体系结构领域,尤其涉及一种数据流框架中,针对 粗粒度的数据复用和同步的方法及其装置。
背景技术
粗粒度的数据流架构主要通过编程模型来实现处理器核之间的数据依 赖和程序块调度。在粗粒度数据流结构中,程序被划分为多个程序块,程 序块之间通过数据相关建立依赖关系,不同的数据块构成了数据流图。粗 粒度数据流架构通过任务调度模块将满足依赖条件的程序块调度到空闲的 处理器核上,程序块执行结束后更新数据流图中的数据依赖关系,并将可 以执行的新的程序块调度到空闲处理器核上执行。在粗粒度数据流结构中, 不同的核可能在同一个芯片中,也可能在不同芯片中,每个处理器核的执 行模式与控制流处理器一致。典型的粗粒度数据流架构有欧洲的Teraflux Project和Intel的Runnemede架构。
由于程序块之间是有数据依赖的,往往前一个程序块执行完之后,下 一个程序块才可以被调度。这种粗粒度的数据流结构的实现,需要通过任 务调度模块实时地调度程序块,并且要维护数据流图的数据依赖关系,这 使得处理器核可能有很多时间是空闲的,特别对于处理器核的规模非常庞 大的情况下,只由一个或几个任务调度模块进行调度往往无法充分利用处 理器核的性能。
我们提出了一种粗粒度数据流架构中的数据复用和同步的方法,这种 方法可以使程序块之间自动地进行数据复用和同步的操作,而减少了任务 调度模块的工作,使得数据流架构中的程序运行地更为高效。
发明内容
针对现有技术中的上述不足,本发明提供了一种粗粒度数据流架构中 的数据复用和同步的方法及其装置。本发明的技术方案中,实现数据复用 和同步机制需要增加专用的指令,并在代码按照规则插入专用指令;而且 需要在硬件结构中增加逻辑:每个处理器核中添加一个同步控制表,以及 增加专用指令译码和发射的控制逻辑。具体而言,本发明的技术方案如下:
一方面,本发明提供了一种粗粒度数据流架构中的数据复用和同步的 方法,该方法包括:
步骤1、在多个程序块中,当一程序块中的数据需要被其他程序块使 用时,在该需要被使用的数据所在的程序块中加入复制指令;当指向同一 程序块的复制指令数量大于1时,在该程序块中加入同步指令;其中,标 注发送复制指令的程序块为父节点,接受复制指令的程序块为子节点;
步骤2、监视各个程序块接收到的复制指令的数量、该程序块对应的 各个父节点的复制指令数量,当所述接收到的复制指令的数量与所述各个 父节点的复制指令数量相等时,运行该程序块;
步骤3、当所述步骤2中的程序块运行完,若该程序块中包含所述同 步指令,则发射该同步指令。
优选的,所述复制指令用于将本程序块访问或计算得到的数据传输给 其他的程序块使用。
优选的,所述复制指令包括:需要传输的数据、数据要送达的程序块 的id、该程序块所在的处理器核的id,以及数据要放置到的寄存器或内存 的地址。
优选的,所述同步指令包括:同步指令想要传送到的目的地的处理器 的id、程序块的id,以及标注发送所述同步指令的程序块是父节点的第几 个孩子节点。
优选的,在所述步骤2中,各个程序块接收到的复制指令的数量、该 程序块对应的各个父节点的复制指令数量记录在一复制指令表中,以用于 监视,所述复制指令表中还包括各个程序块的父节点的程序块id。
优选的,当处理器接收到复制指令传递来的消息后,修改所述复制指 令表中对应的程序块的接收到的复制指令的数量。
优选的,当所述步骤2中的程序块运行完,将所述复制指令表中对应 的程序块的接收到的复制指令的数量重置为0。
优选的,增加一同步控制表,用于维护各个程序块的同步指令接受的 状态;所述同步控制表包括:每个程序块所拥有的子节点的数量、每个程 序块所拥有的所有子节点的child index;
所述child index包含两个bit位,一个为receive位,用于表示是否接 收到同步指令消息,在复制指令运行前置0,接收到同步指令消息后置1; 另一个为ready位,用于标志该子节点是否处于ready状态,所有child index 的这一bit为1时开始运行复制指令,并在该程序块的所有复制指令执行 完后置0。
优选的,当一程序块的所有子节点的receive位均为1时,将所有的 ready位置1,并将所有的receive位置0。
在本发明的另一个方面,还提供了一种粗粒度数据流架构中的数据复 用和同步的装置,所述装置包括至少一个处理器,所述处理器中包括复制 指令译码和运算模块、同步指令译码和运算模块、监视器模块;
所述复制指令译码和运算模块用于当该处理器中的一程序块中的数据 需要被其他程序块使用时,在该需要被使用的数据所在的程序块中加入复 制指令,以及用于复制指令的逻辑运算;
所述同步指令译码和运算模块用于当指向同一程序块的复制指令数量 大于1时,在该程序块中加入同步指令,以及用于同步指令的逻辑运算;
所述监视器模块监视各个程序块接收到的复制指令包的数量。
优选的,所述复制指令程序包至少包括程序块接收到的复制指令的数 量、该程序块对应的各个父节点的复制指令数量;
当所述接收到的复制指令的数量与所述各个父节点的复制指令数量相 等时,运行该程序块;
其中,标注发送复制指令的程序块为父节点,接受复制指令的程序块 为子节点。
优选的,所述复制指令用于将本程序块访问或计算得到的数据传输给 其他的程序块使用。
优选的,所述复制指令包括:需要传输的数据、数据要送达的程序块 的id、该程序块所在的处理器核的id,以及数据要放置到的寄存器或内存 的地址。
优选的,所述同步指令包括:同步指令想要传送到的目的地的处理器 的id、程序块的id,以及标注发送所述同步指令的程序块是父节点的第几 个孩子节点。
优选的,在所述步骤2中,各个程序块接收到的复制指令的数量、该 程序块对应的各个父节点的复制指令数量记录在一复制指令表中,以用于 监视,所述复制指令表中还包括各个程序块的父节点的程序块id。
优选的,当处理器接收到复制指令传递来的消息后,修改所述复制指 令表中对应的程序块的接收到的复制指令的数量。
优选的,当所述步骤2中的程序块运行完,将所述复制指令表中对应 的程序块的接收到的复制指令的数量重置为0。
优选的,增加一同步控制表,用于维护各个程序块的同步指令接受的 状态;所述同步控制表包括:每个程序块所拥有的子节点的数量、每个程 序块所拥有的所有子节点的child index;
所述child index包含两个bit位,一个为receive位,用于表示是否接 收到同步指令消息,在复制指令运行前置0,接收到同步指令消息后置1; 另一个为ready位,用于标志该子节点是否处于ready状态,所有child index 的这一bit为1时开始运行复制指令,并在该程序块的所有复制指令执行 完后置0。
优选的,当一程序块的所有子节点的receive位均为1时,将所有的 ready位置1,并将所有的receive位置0。
与现有技术相比,本发明的技术方案可以使程序块之间自动地进行数 据复用和同步的操作,而减少了任务调度模块的工作,使得数据流架构中 的程序运行地更为高效。
附图说明
下面结合附图和实例图对本发明进行进一步说明:
图1为本发明的节点的ACK指令示意图;
图2为本发明的处理器核中COPY指令和ACK指令的译码和运算的 逻辑示意图;
图3为本发明的同步控制表示意图;
图4为本发明的数据复用和同步示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结 合附图及具体实施实例进行详细的描述。需要指出的是,本实施例中所列 举的具体应用、参数等,均是实现本发明技术方案的优选的实施方式,而 不能作为限定本发明的保护范围来理解。此外,本具体实施方式中所列举 的不同的实施例,除非本发明中有明确的指示或说明,否则,该些具体实 施例中的具体方案之间是可以相互借鉴和结合使用的。
实施例1
实现数据复用和同步机制需要增加专用的指令,并在代码按照规则插 入专用指令;而且需要在硬件结构中增加逻辑:每个处理器核中添加一个 同步控制表,以及增加专用指令译码和发射的控制逻辑。
一、数据复用和同步指令
为了实现粗粒度数据流架构中的数据复用和同步,我们加入了两条指 令,复制指令(COPY)和同步指令(ACK)。COPY指令是用于将本程 序块访存或计算得到的数据传输给其他的程序块使用。COPY指令的格式 如下表1所示,包含了要传输的数据、数据要送到的程序块(program block) 的id、该程序块所在的处理器核(Core)的id,以及数据要放置到的寄存 器或者内存的地址。我们标注发送COPY指令的程序块为父节点,接受 COPY指令的程序块为子节点。
表1
ACK指令的格式如下表2所示,是由ACK想要传送到的目的地的处 理器的id和程序块的id,以及标注发送ACK的程序块是父节点的第几个 孩子(child node index)。
表2
Child node index Program block id Core id
二、在程序块中加入数据复用和同步指令
结合图1,当一个数据需要被其他程序块使用时,就在数据所在的程 序块中插入一条COPY指令。一个程序块中可以有多条COPY指令,这些 COPY指令可以指向不同的程序块。父节点可以有多个子节点,我们称指 向同一子节点的所有COPY指令为一个数据复用簇(COPY cluster),如 图1中rogram block0有三个子节点。针对每个COPY cluster,我们都会在 子节点中加入一个ACK指令。本领域技术人员可以理解,该ACK指令, 即同步指令并不是必须设置的,例如我们可以选择设置一空置或不起作用 的ACK指令及其控制表,以在需要时启用,也可以在一程序块中存在数 据复用簇(COPY cluster)的时候,才给该程序块加入这一ACK指令, 并设置对应的控制表以监视及修改各个ACK指令相关的参数,这些具体的设置方式是本领域技术人员在本方案的基础上可以进行的调整,这类调 整均应当视为落入本发明的保护范围之内。
在子节点结束到一个COPY cluster内的所有copy指令的数据,就会 发射ACK指令,向父节点返回ACK消息。同样,一个孩子节点可以有多 个父亲,所以孩子节点内可能会有多个ACK指令,如图1中program block3 和program block4中就有两个ACK指令。
三、硬件开销
结合图2所示,下面具体阐述本发明的处理器核中会增加COPY指令 和ACK指令的译码和运算的逻辑。增加一个监视器,用于检测各个program block接收到COPY包的数量。监视器会维护一个COPY表,其结构如图2 所示。对于每个program block都会记录其父节点的程序块id,各个父节点 的COPY指令数量(COPY_COUNTER),以及目前接收到的COPY消息的数量(receive count)。当处理器接受到COPY指令传递来的消息后, 根据COPY消息内的program block参数,去修改对应的receive count;当 所有receive count与对应的COPYCOUNTER相等时,处理器就会认为所 有的数据已经就位,就开始运行program block;当本次program block运算 完,就会发射程序块中的ACK指令,并将receive count重新置位为0。
结合图3所示,本发明的一个具体实施方式中,还增加了同步控制表 的部分,用于维护每个处理器核中的program block的ACK接受的状态, 其结构如图3所示。其中ACK_COUTER是存储每个program block所拥有
实施例2
下面以一具体的实施例对数据复用和同步过程进行详细的举例阐述。
我们假设Core0上有两个程序块program block0和program block2;
Core1上有两个程序块program block1和program block3。其中program block0有两个子节点,program block1有一个子节点,如图4所示。
假设program block0和program block1中共有4条COPY指令,分别 是:
相对应地program block2和program block3中会有三条ACK指令:
1、在初始状态时,需要配置监视器中的parent program block和
COPY_COUNT,和同步控制表中的ACK_COUNTER。同时把监视器的 COPY表中的receive count置0,把同步控制表中的receive全部置0,ready 全部置1。
2、Core0检测到program block0没有数据依赖,开始执行program block0。执行过程中发射了两条COPY指令I0和I1。COPY指令全部执行 完后,将两个COPY cluster对应的子节点的ready位置0。
3、Core0接受到I0的消息后,把COPY表中program block2区域的 program block0对应的receive count加一。
4、Core1接受到I1的消息后,把COPY表中program block3区域的 program block0对应的receive count加一。
5、Program block0运行完后,当Core0检测到COPY表中,program block2中的所有父节点(即program block0)的COPY_COUNTER均与 receive count相等。说明programblock2所需的数据都准备好了,于是开 始运行program block2。
6、Program block2执行的最后会执行程序块中的ACK00指令,然后 结束本程序块的运行,Core0会将COPY表中的receive count重置为0。
7、如果这个程序是需要多次迭代运算的,那么program block2要等待 数据准备好后再次运行;否则运行完就提交。
8、Core0接受到ACK00的消息后,将同步控制器的program block0 的第一个子节点的receive位置1。
9、Core1检测到program block1没有数据依赖,开始执行program block1(步骤8-10过程可以和步骤2-8并行执行)。执行过程中发射两条 COPY指令I2和I3,因为I2和I3都属于program block3的COPY cluster, 所以将同步控制表中program block1区域的programblock3对应的ready 位置0。
10、Core1接受到I2的消息后,把COPY表中program block3区域的 programblock1对应的receive count加一。
11、Core1接受到I3的消息后,把COPY表中program block3区域的 programblock1对应的receive count加一。
12、Program block1运行完后,当Core1检测到COPY表中,program block3中的所有父节点(即program block0和program block1)的 COPY_COUNTER均与receive count相等。说明program block3所需的数 据都准备好了,于是开始运行program block3。
13、Program block3执行的最后会执行程序块中的ACK01和ACK10 指令,然后结束本程序块的运行,Core1会将COPY表中的receive count 重置为0。
14、如果这个程序是需要多次迭代运算的,那么program block3要等 待数据准备好后再次运行;否则运行完就提交。
15、Core0接受到ACK01的消息后,将同步控制器的program block0 的第二个子节点的receive位置1。同时Core0会发现program block0的同 步控制表中有两个子节点收到了ACK,其数目与ACK_COUNTER相等。 此时把同步控制表中的receive全部置0,ready全部置1。
16、如果这个程序是需要多次迭代运算的,那么在同步控制表复位后, Core0可以再次运行program block0。
17、Core1接受到ACK10的消息后,将同步控制器的program block1 的第一个子节点的receive位置1。同时Core1会发现program block1的同 步控制表中有一个子节点收到了ACK,其数目与ACK_COUNTER相等。 此时把同步控制表中的receive全部置0,ready全部置1。
18、如果这个程序是需要多次迭代运算的,那么在program block0结 束运行后,Core0空闲时可以再次运行program block0。program block1也 是同样的。
实施例3
在又一个具体的实施例中,本发明的技术方案还可以以装置或系统的 形式出现,该装置或系统可以是包括单个处理器核的,也可以是多个处理 器核的,既可以在单处理器中进行数据块之间的复制控制和同步控制,也 可以用于多处理器系统中的数据块之间的复制控制和同步控制。
另外需要指出的是,该实施例3中的优选技术方案,可以结合其他实 施例中所使用的方法或算法。
该装置包括至少一个处理器,所述处理器中包括复制指令译码和运算 模块、同步指令译码和运算模块、监视器模块;
所述复制指令译码和运算模块用于当该处理器中的一程序块中的数据 需要被其他程序块使用时,在该需要被使用的数据所在的程序块中加入复 制指令,以及用于复制指令的逻辑运算;
所述同步指令译码和运算模块用于当指向同一程序块的复制指令数量 大于1时,在该程序块中加入同步指令,以及用于同步指令的逻辑运算;
所述监视器模块监视各个程序块接收到的复制指令包的数量。
优选的,所述复制指令程序包至少包括程序块接收到的复制指令的数 量、该程序块对应的各个父节点的复制指令数量;
当所述接收到的复制指令的数量与所述各个父节点的复制指令数量相 等时,运行该程序块;
其中,标注发送复制指令的程序块为父节点,接受复制指令的程序块 为子节点。
优选的,所述复制指令用于将本程序块访问或计算得到的数据传输给 其他的程序块使用。
优选的,所述复制指令包括:需要传输的数据、数据要送达的程序块 的id、该程序块所在的处理器核的id,以及数据要放置到的寄存器或内存 的地址。
优选的,所述同步指令包括:同步指令想要传送到的目的地的处理器 的id、程序块的id,以及标注发送所述同步指令的程序块是父节点的第几 个孩子节点。
优选的,在所述步骤2中,各个程序块接收到的复制指令的数量、该 程序块对应的各个父节点的复制指令数量记录在一复制指令表中,以用于 监视,所述复制指令表中还包括各个程序块的父节点的程序块id。
优选的,当处理器接收到复制指令传递来的消息后,修改所述复制指 令表中对应的程序块的接收到的复制指令的数量。
优选的,当所述步骤2中的程序块运行完,将所述复制指令表中对应 的程序块的接收到的复制指令的数量重置为0。
优选的,增加一同步控制表,用于维护各个程序块的同步指令接受的 状态;所述同步控制表包括:每个程序块所拥有的子节点的数量、每个程 序块所拥有的所有子节点的child index;
所述child index包含两个bit位,一个为receive位,用于表示是否接 收到同步指令消息,在复制指令运行前置0,接收到同步指令消息后置1; 另一个为ready位,用于标志该子节点是否处于ready状态,所有child index 的这一bit为1时开始运行复制指令,并在该程序块的所有复制指令执行 完后置0。
优选的,当一程序块的所有子节点的receive位均为1时,将所有的 ready位置1,并将所有的receive位置0。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流 程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储 于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的 实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体 (Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。
本发明参照本发明实施例的方法、方框图、单线图、仿真图进行描述 的,以上所述仅为本发明的实施例而已,并不限定本发明,任何熟悉本技 术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要 求的保护范围为准。

Claims (11)

1.一种粗粒度数据流架构中的数据复用和同步的方法,其特征在于,所述方法包括:
步骤1、在多个程序块中,当一程序块中的数据需要被其他程序块使用时,在该需要被使用的数据所在的程序块中加入复制指令;当指向同一程序块的复制指令数量大于1时,在该程序块中加入同步指令;其中,标注发送复制指令的程序块为父节点,接受复制指令的程序块为子节点;
步骤2、监视各个程序块接收到的复制指令的数量、该程序块对应的各个父节点的复制指令数量,当所述接收到的复制指令的数量与所述各个父节点的复制指令数量相等时,运行该程序块;
步骤3、当所述步骤2中的程序块运行完,若该程序块中包含所述同步指令,则发射该同步指令。
2.根据权利要求1所述的方法,其特征在于,所述复制指令用于将本程序块访问或计算得到的数据传输给其他的程序块使用。
3.根据权利要求1所述的方法,其特征在于,所述复制指令包括:需要传输的数据、数据要送达的程序块的id、该程序块所在的处理器核的id,以及数据要放置到的寄存器或内存的地址。
4.根据权利要求1所述的方法,其特征在于,所述同步指令包括:同步指令想要传送到的目的地的处理器的id、程序块的id,以及标注发送所述同步指令的程序块是父节点的第几个孩子节点。
5.根据权利要求1所述的方法,其特征在于,在所述步骤2中,各个程序块接收到的复制指令的数量、该程序块对应的各个父节点的复制指令数量记录在一复制指令表中,以用于监视,所述复制指令表中还包括各个程序块的父节点的程序块id。
6.根据权利要求5所述的方法,其特征在于,当处理器接收到复制指令传递来的消息后,修改所述复制指令表中对应的程序块的接收到的复制指令的数量。
7.根据权利要求5所述的方法,其特征在于,当所述步骤2中的程序块运行完,将所述复制指令表中对应的程序块的接收到的复制指令的数量重置为0。
8.根据权利要求1所述的方法,其特征在于,增加一同步控制表,用于维护各个程序块的同步指令接受的状态;所述同步控制表包括:每个程序块所拥有的子节点的数量、每个程序块所拥有的所有子节点的child index;
所述child index包含两个bit位,一个为receive位,用于表示是否接收到同步指令消息,在复制指令运行前置0,接收到同步指令消息后置1;另一个为ready位,用于标志该子节点是否处于ready状态,所有child index的这一bit为1时开始运行复制指令,并在该程序块的所有复制指令执行完后置0。
9.根据权利要求8所述的方法,其特征在于,当一程序块的所有子节点的receive位均为1时,将所有的ready位置1,并将所有的receive位置0。
10.一种粗粒度数据流架构中的数据复用和同步的装置,其特征在于,所述装置包括至少一个处理器,所述处理器中包括复制指令译码和运算模块、同步指令译码和运算模块、监视器模块;
所述复制指令译码和运算模块用于当该处理器中的一程序块中的数据需要被其他程序块使用时,在该需要被使用的数据所在的程序块中加入复制指令,以及用于复制指令的逻辑运算;
所述同步指令译码和运算模块用于当指向同一程序块的复制指令数量大于1时,在该程序块中加入同步指令,以及用于同步指令的逻辑运算;
所述监视器模块监视各个程序块接收到的复制指令包的数量。
11.根据权利要求10所述的装置,其特征在于,所述复制指令程序包至少包括程序块接收到的复制指令的数量、该程序块对应的各个父节点的复制指令数量;
当所述接收到的复制指令的数量与所述各个父节点的复制指令数量相等时,运行该程序块;
其中,标注发送复制指令的程序块为父节点,接受复制指令的程序块为子节点。
CN201810279029.6A 2018-03-30 2018-03-30 一种粗粒度数据流架构中的数据复用和同步的方法、装置 Active CN108563446B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810279029.6A CN108563446B (zh) 2018-03-30 2018-03-30 一种粗粒度数据流架构中的数据复用和同步的方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810279029.6A CN108563446B (zh) 2018-03-30 2018-03-30 一种粗粒度数据流架构中的数据复用和同步的方法、装置

Publications (2)

Publication Number Publication Date
CN108563446A true CN108563446A (zh) 2018-09-21
CN108563446B CN108563446B (zh) 2021-06-25

Family

ID=63533620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810279029.6A Active CN108563446B (zh) 2018-03-30 2018-03-30 一种粗粒度数据流架构中的数据复用和同步的方法、装置

Country Status (1)

Country Link
CN (1) CN108563446B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306640A (zh) * 1999-03-26 2001-08-01 密克罗奇普技术公司 微控制器指令集
CN105867994A (zh) * 2016-04-20 2016-08-17 上海交通大学 一种用于粗粒度可重构架构编译器的指令调度优化方法
CN106293736A (zh) * 2016-08-08 2017-01-04 合肥工业大学 用于粗粒度多核计算系统的两级编程模型及其编程方法
US20170294913A1 (en) * 2014-04-10 2017-10-12 Altera Corporation Method apparatus for high-level programs with general control flow
CN107590085A (zh) * 2017-08-18 2018-01-16 浙江大学 一种具有多级缓存的动态可重构阵列数据通路及其控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1306640A (zh) * 1999-03-26 2001-08-01 密克罗奇普技术公司 微控制器指令集
US20170294913A1 (en) * 2014-04-10 2017-10-12 Altera Corporation Method apparatus for high-level programs with general control flow
CN105867994A (zh) * 2016-04-20 2016-08-17 上海交通大学 一种用于粗粒度可重构架构编译器的指令调度优化方法
CN106293736A (zh) * 2016-08-08 2017-01-04 合肥工业大学 用于粗粒度多核计算系统的两级编程模型及其编程方法
CN107590085A (zh) * 2017-08-18 2018-01-16 浙江大学 一种具有多级缓存的动态可重构阵列数据通路及其控制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈俊宇 等: "一种专用可重构流水信号处理器的设计", 《微电子学与计算机》 *

Also Published As

Publication number Publication date
CN108563446B (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
CN109471705B (zh) 任务调度的方法、设备及系统、计算机设备
US8892957B2 (en) Memory correctness checking in distributed computer systems
CN106790694A (zh) 分布式系统及分布式系统中目标对象的调度方法
WO2015090245A1 (zh) 文件传输方法、装置及分布式集群文件系统
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
EP3230861B1 (en) Technologies for fast synchronization barriers for many-core processing
JP2004062535A (ja) マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード
CN106688208A (zh) 利用机架规模架构中的池化存储器进行的网络通信
EP2161663B1 (en) Information processing apparatus and method for reconfiguring information processing apparatus
CN106330786A (zh) Mac地址的同步方法、装置及系统
WO2019056771A1 (zh) 分布式存储系统升级管理的方法、装置及分布式存储系统
CN108445788A (zh) 一种酒店场景控制方法及相关装置
CN113630269B (zh) 基于拓扑感知的高性能计算系统运行环境部署加速方法及系统
CN105579963B (zh) 任务处理装置、电子设备及方法
CN108563446A (zh) 一种粗粒度数据流架构中的数据复用和同步的方法、装置
CN101950279B (zh) 均衡数据信息流量的方法、总线系统和译码器
US20180375801A1 (en) Apparatus and method for distribution of congestion information in a switch
CN101026613A (zh) 数据链接保护方法及装置
US9015717B2 (en) Method for processing tasks in parallel and selecting a network for communication
Higai et al. A study of effective replica reconstruction schemes for the hadoop distributed file system
CN104348906B (zh) 一种分布式系统中数据协商方法及装置
CN106357429B (zh) 一种数据处理方法及系统
JP7036226B2 (ja) 演算処理装置及びその制御方法
TW201926036A (zh) 半導體裝置
US20020169908A1 (en) System and method for implementing a flexible arbitration mechanism

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
TR01 Transfer of patent right

Effective date of registration: 20230522

Address after: 200120 3rd floor, building 2, No.200, zhangheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Ruiwu Technology Co.,Ltd.

Address before: 101300 room 232, building 5, 25 shuntongdao, Shunyi District, Beijing

Patentee before: BEIJING ZHONGKE RUIXIN INTELLIGENT COMPUTER INDUSTRIAL RESEARCH INSTITUTE CO.,LTD.

TR01 Transfer of patent right