[go: up one dir, main page]

CN107018201B - A method for dynamically migrating instructions using critical path information in data flow architecture - Google Patents

A method for dynamically migrating instructions using critical path information in data flow architecture Download PDF

Info

Publication number
CN107018201B
CN107018201B CN201710261605.XA CN201710261605A CN107018201B CN 107018201 B CN107018201 B CN 107018201B CN 201710261605 A CN201710261605 A CN 201710261605A CN 107018201 B CN107018201 B CN 107018201B
Authority
CN
China
Prior art keywords
node
instruction
migration
data flow
critical path
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
Application number
CN201710261605.XA
Other languages
Chinese (zh)
Other versions
CN107018201A (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.)
Suzhou Ruixin Integrated Circuit Technology Co ltd
Original Assignee
Beijing Zhongke Rui Core 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 Zhongke Rui Core Technology Co Ltd filed Critical Beijing Zhongke Rui Core Technology Co Ltd
Priority to CN201710261605.XA priority Critical patent/CN107018201B/en
Publication of CN107018201A publication Critical patent/CN107018201A/en
Application granted granted Critical
Publication of CN107018201B publication Critical patent/CN107018201B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据流架构中利用关键路径信息进行指令动态迁移的方法,该方法应用于一数据流架构中,数据流架构中具有N个节点以及一指令迁移控制单元,N个节点沿相互垂直的第一方向和第二方向排列为阵列形式,每一个节点具有M个指令槽、一迁移目标地址计算单元、一关键路径检测单元、一迁移目标地址广播单元和一空闲指令槽检测单元,指令槽用于存储指令,该方法利用每个节点实时检测到的关键路径信息指导指令的动态迁移,从而能够使得数据流架构的指令映射可以动态适应负载、资源使用情况以及网络拥塞程度的变化,进而提高数据流架构的运行速度和计算效率。

The invention discloses a method for dynamically migrating instructions by using critical path information in a data flow architecture. The method is applied in a data flow architecture. The data flow architecture has N nodes and an instruction migration control unit. The first direction and the second direction perpendicular to each other are arranged in an array form, and each node has M instruction slots, a migration target address calculation unit, a critical path detection unit, a migration target address broadcast unit, and a free instruction slot detection unit , the instruction slot is used to store instructions. This method uses the critical path information detected by each node in real time to guide the dynamic migration of instructions, so that the instruction mapping of the data flow architecture can dynamically adapt to changes in load, resource usage, and network congestion. , thereby improving the running speed and computing efficiency of the data flow architecture.

Description

数据流架构中利用关键路径信息进行指令动态迁移的方法A method for dynamically migrating instructions using critical path information in data flow architecture

技术领域technical field

本发明涉及数据流架构中的指令迁移,具体而言,涉及一种数据流架构中利用关键路径信息进行指令动态迁移的方法。The invention relates to instruction migration in a data flow architecture, in particular to a method for dynamically migrating instructions using critical path information in a data flow architecture.

背景技术Background technique

随着计算机体系结构的发展,领域专用的计算机体系结构成为主要发展趋势。在面向特定应用时,专用型结构利用应用特征对结构进行相应的优化,从而更好地发挥出硬件的计算性能。在高性能计算领域,数据流计算是领域专用计算结构的一个重要分支,数据流计算表现出了较好的性能和适用性。数据流架构通常都包括若干个或者十几个计算节点,每个计算节点都是运算能力较强但是控制能力较弱、复杂度较小的核心。数据流架构执行的过程是:通过编译器的静态映射,把一次计算所需的指令映射分配到不同的节点上,然后每个节点针对不同的数据组进行运算。在编译器静态映射的时候,会考虑节点的资源分布状况、指令计算距离、通信延迟以及互相依赖的指令尽量映射到较近的执行节点或者同一个执行节点,同时还需要考虑并发性相互独立的指令应该尽量映射到不同的执行单元,执行映射对提高数据流计算性能有着重大的作用。With the development of computer architecture, domain-specific computer architecture has become the main development trend. When oriented to a specific application, the special-purpose structure uses the application characteristics to optimize the structure accordingly, so as to better exert the computing performance of the hardware. In the field of high-performance computing, data flow computing is an important branch of domain-specific computing structures, and data flow computing has shown good performance and applicability. The data flow architecture usually includes several or more than a dozen computing nodes, and each computing node is a core with strong computing capability but weak control capability and low complexity. The execution process of the data flow architecture is: through the static mapping of the compiler, the instruction mapping required for a calculation is allocated to different nodes, and then each node performs operations on different data groups. When the compiler statically maps, it will consider the resource distribution of the node, the instruction calculation distance, the communication delay, and the interdependent instructions to map to the closest execution node or the same execution node as much as possible. At the same time, it also needs to consider the concurrency independent of each other. Instructions should be mapped to different execution units as much as possible. Execution mapping plays a major role in improving the performance of data flow computing.

静态指令映射虽然考虑了上面列出的多种因素,但是无法知晓和适应实时执行时发生的动态变化,包括网络的拥堵状况、指令依赖链条对数据延迟产生的影响等,因而无法在指令运行的过程中根据实际情况进行调整,一旦动态执行条件发生变化,则无法实时做出调整和响应,从而限制了该架构的性能被进一步优化的可能。Although the static instruction mapping takes into account the various factors listed above, it cannot know and adapt to the dynamic changes that occur during real-time execution, including network congestion and the impact of instruction dependency chains on data delays, etc. In the process, adjustments are made according to the actual situation. Once the dynamic execution conditions change, adjustments and responses cannot be made in real time, thus limiting the possibility of further optimization of the performance of the architecture.

发明内容Contents of the invention

本发明提供一种数据流架构中利用关键路径信息进行指令动态迁移的方法,以使得数据流架构的指令映射可以动态适应负载和资源使用情况的变化,从而提高数据流架构的运行速度和计算效率。The present invention provides a method for dynamically migrating instructions using critical path information in a data flow architecture, so that the instruction mapping of the data flow architecture can dynamically adapt to changes in load and resource usage, thereby improving the operating speed and computing efficiency of the data flow architecture .

为达到上述目的,本发明提供了一种数据流架构中利用关键路径信息进行指令动态迁移的方法,该方法应用于一数据流架构中,所述数据流架构中具有N个节点以及一指令迁移控制单元,N个节点沿相互垂直的第一方向和第二方向排列为阵列形式,每一个节点具有M个指令槽、一迁移目标地址计算单元、一关键路径检测单元、一迁移目标地址广播单元和一空闲指令槽检测单元,指令槽用于存储指令,该方法包括以下步骤:In order to achieve the above object, the present invention provides a method for dynamically migrating instructions using critical path information in a data flow architecture, the method is applied to a data flow architecture, and the data flow architecture has N nodes and an instruction migration A control unit, N nodes are arranged in an array along the first direction and the second direction perpendicular to each other, each node has M instruction slots, a migration target address calculation unit, a critical path detection unit, and a migration target address broadcast unit And a free instruction slot detection unit, the instruction slot is used to store instructions, the method includes the following steps:

S1:每一节点中的关键路径检测单元依次对指令槽中存储的指令进行检测,以确认其中存储的指令是否为关键路径;S1: The critical path detection unit in each node sequentially detects the instructions stored in the instruction slot to confirm whether the instructions stored therein are critical paths;

S2:当一节点P1确认其中的一指令I为关键路径时,节点P1中的迁移目标地址计算单元进行计算,以得到指令I所要迁移至的节点P2并向节点P2发送一空闲询问请求;S2: When a node P1 confirms that one of the instructions I is a critical path, the migration target address calculation unit in the node P1 performs calculations to obtain the node P2 to which the instruction I is to be migrated, and sends an idle query request to the node P2;

S3:节点P2接收到所述空闲询问请求后,节点P2中的空闲指令槽检测单元开始检测其中是否有能够存储来自节点P1的指令的指令槽,若为“有”则向节点P1发送一确认迁移指令并执行步骤4,若为“没有”则返回步骤S2重新计算下一个迁移至的节点;S3: After the node P2 receives the idle query request, the idle instruction slot detection unit in the node P2 starts to detect whether there is an instruction slot capable of storing instructions from the node P1, and if it is "yes", it sends a confirmation to the node P1 Migrate the command and execute step 4, if it is "none", return to step S2 to recalculate the next node to migrate to;

S4:节点P1向所述指令迁移控制单元发送一迁移请求,所述指令迁移控制单元接受所述迁移请求并将所述迁移请求排列至一迁移队列的队尾;S4: The node P1 sends a migration request to the instruction migration control unit, and the instruction migration control unit accepts the migration request and arranges the migration request to the end of a migration queue;

S5:所述指令迁移控制单元实时检测排列在所述迁移队列队头的迁移请求,并向该迁移请求对应的节点P1发送一确认迁移指令;S5: The instruction migration control unit detects the migration request arranged at the head of the migration queue in real time, and sends a confirmation migration instruction to the node P1 corresponding to the migration request;

S6:节点P1接收到所述确认迁移指令后,节点P1中的迁移目标地址广播单元向指令I的上游节点和下游节点发送暂停操作数传输指令;S6: After the node P1 receives the confirmation migration instruction, the migration target address broadcast unit in the node P1 sends a pause operand transmission instruction to the upstream node and the downstream node of the instruction I;

S7:指令I的上游节点和下游节点暂停操作数的传输并向节点P1发送确认反馈消息;S7: The upstream node and downstream node of the instruction I suspend the transmission of the operand and send a confirmation feedback message to the node P1;

S8:节点P1向节点P2打包迁移指令I的相关信息;S8: The node P1 packs the relevant information of the migration instruction I to the node P2;

S9:指令I迁移完成后,节点P2向节点P1发送一迁移完成消息;S9: After instruction I migration is completed, node P2 sends a migration completion message to node P1;

S10:节点P1中的迁移目标地址广播单元向指令I原来的上游节点和下游节点发送指令I当前所在的节点P2所在位置信息;S10: The migration target address broadcast unit in the node P1 sends the location information of the node P2 where the instruction I is currently located to the original upstream node and downstream node of the instruction I;

S11:指令I原来的上游节点和下游节点接受指令I当前所在的节点P2所在位置信息并向节点P1发送更改确认消息;S11: The original upstream node and downstream node of the instruction I accept the location information of the node P2 where the instruction I is currently located and send a change confirmation message to the node P1;

S12:节点P1向所述指令迁移控制单元发送指令迁移完毕消息;S12: Node P1 sends an instruction migration completion message to the instruction migration control unit;

S13:节点P1向指令I原来的上游节点中的相应指令槽发送消息,以指示重新发送数据以进行运算。S13: The node P1 sends a message to the corresponding instruction slot in the original upstream node of the instruction I, to instruct to resend the data for operation.

在本发明的一实施例中,于步骤S1中,判断指令为关键路径的条件为以下(1)~(4):In an embodiment of the present invention, in step S1, the conditions for judging that an instruction is a critical path are the following (1)-(4):

(1)指令对应的两个源操作数的依赖链之差超过一预设值L1;(1) The difference between the dependency chains of the two source operands corresponding to the instruction exceeds a preset value L1;

(2)指令与下游节点之间的空间距离超过一预设值L2;(2) The spatial distance between the instruction and the downstream node exceeds a preset value L2;

(3)指令对应的下游指令的数量超过一预设值D;(3) The number of downstream commands corresponding to the command exceeds a preset value D;

(4)指令在节点中等待被发射的时间超过一预设值T;(4) The time that the instruction waits to be transmitted in the node exceeds a preset value T;

当指令满足上述(1)&(2)或(1)&(3)或(1)&(4)或(1)&(2)&(3)&(4)时,判断指令为关键路径。When the instruction satisfies the above (1)&(2) or (1)&(3) or (1)&(4) or (1)&(2)&(3)&(4), it is judged that the instruction is a critical path .

在本发明的一实施例中,于步骤S2中,迁移目标地址计算单元优先根据以下策略(1)和/或(2)对指令I进行迁移:In an embodiment of the present invention, in step S2, the migration target address calculation unit preferentially migrates the instruction I according to the following strategies (1) and/or (2):

(1)若N大于一设定值N1,则每次迁移的跳数大于一跳,若N小于一设定值N2,则每次只迁移一跳,其中,N2≤N1;(1) If N is greater than a set value N1, the number of hops for each migration is greater than one hop; if N is less than a set value N2, only one hop is migrated each time, where N2≤N1;

(2)向指令I与源操作数之间沿第一方向和第二方向中距离差大的方向迁移;(2) Migrate to the direction where the distance difference between the instruction I and the source operand is large along the first direction and the second direction;

(3)若指令I所在的节点与其下游节点之间的距离为L3,则指令I的迁移距离为 (3) If the distance between the node where instruction I is located and its downstream node is L3, then the migration distance of instruction I is or

在本发明的一实施例中,N=16,所述数据流架构中的16个节点排列为4×4的阵列形式。In an embodiment of the present invention, N=16, and the 16 nodes in the data flow architecture are arranged in a 4×4 array.

在本发明的一实施例中,每一节点中最多保存的指令条数为128。In an embodiment of the present invention, the maximum number of instructions stored in each node is 128.

本发明提供的数据流架构中利用关键路径信息进行指令动态迁移的方法利用每个节点实时检测到的关键路径信息指导指令的动态迁移,从而能够使得数据流架构的指令映射可以动态适应负载、资源使用情况以及网络拥塞程度的变化,进而提高数据流架构的运行速度和计算效率。The method for dynamic migration of instructions using critical path information in the data flow architecture provided by the present invention uses the critical path information detected by each node in real time to guide the dynamic migration of instructions, so that the instruction mapping of the data flow architecture can dynamically adapt to loads and resources Changes in usage and network congestion levels, thereby improving the operational speed and computational efficiency of the dataflow architecture.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are only These are some embodiments of the present invention. Those skilled in the art can also obtain other drawings based on these drawings without creative work.

图1为数据流架构中具有16个节点的示意图;Fig. 1 is a schematic diagram with 16 nodes in the data flow architecture;

图2为本发明提供的数据流架构中利用关键路径信息进行指令动态迁移的方法的硬件示意图;FIG. 2 is a hardware schematic diagram of a method for dynamically migrating instructions using critical path information in the data flow architecture provided by the present invention;

图3为节点的结构示意图。Figure 3 is a schematic diagram of the structure of the node.

附图标记说明:PE0~PE15-节点;1-指令迁移控制单元;X-第一方向;Y-第二方向;2-指令槽;3-迁移目标地址计算单元;4-关键路径检测单元;5-迁移目标地址广播单元;6-空闲指令槽检测单元;228-指令。Description of reference signs: PE0-PE15-node; 1-instruction migration control unit; X-first direction; Y-second direction; 2-instruction slot; 3-migration target address calculation unit; 4-critical path detection unit; 5- Migration target address broadcast unit; 6- Free instruction slot detection unit; 228- Instruction.

具体实施方式Detailed ways

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

在数据流架构当中,关键路径表示那些等待发射时间较长的、不能及时快速地切换数据上下文的指令。在传统的控制流架构当中,造成关键路径的原因可以通过单一因素进行判断,例如,在发射队列当中等待的时间很长,那么这条指令可以被认为是关键路径。但是,在数据流架构当中,由于指令映射的原因,不能通过这样的单一因素进行判断。如图1所示数据流架构中具有16个节点的示意图,PE0~PE15为节点,节点PE15中的一条指令的2个源操作数分别来自节点PE0和节点PE8,两个源操作数分别需要经过4跳和6跳的距离到达节点PE15,虽然从距离上看,节点PE0、节点PE8与下游节点PE15之间的距离相对较远,但是,一方面,两个源操作数与节点PE15之间距离(分别为4跳和6跳)相差不大;另一方面,如果依赖于这条指令结果的下游节点与PE15之间的距离不算远的话,那么这条指令很难说一定是关键路径。由此可以看出,在数据流架构当中,需要综合考虑多种因素判定一条指令是否为关键路径。In the data flow architecture, the critical path represents those instructions that wait for a long time to issue and cannot switch data contexts in a timely manner. In the traditional control flow architecture, the cause of the critical path can be judged by a single factor, for example, if the instruction waits for a long time in the launch queue, then this instruction can be considered as the critical path. However, in the data flow architecture, due to the reason of instruction mapping, it cannot be judged by such a single factor. As shown in Figure 1, there are 16 nodes in the data flow architecture. PE0~PE15 are nodes. The two source operands of an instruction in node PE15 come from node PE0 and node PE8 respectively. The two source operands need to pass through The distance between 4 hops and 6 hops reaches node PE15. Although the distance between nodes PE0, node PE8 and downstream node PE15 is relatively far from the distance point of view, on the one hand, the distance between the two source operands and node PE15 (respectively 4 hops and 6 hops) are not much different; on the other hand, if the distance between the downstream node that depends on the result of this instruction and PE15 is not too far, then it is difficult to say that this instruction must be a critical path. It can be seen from this that in the data flow architecture, multiple factors need to be considered comprehensively to determine whether an instruction is a critical path.

本发明提供了一种数据流架构中利用关键路径信息进行指令动态迁移的方法,该方法应用于一数据流架构中,图2为本发明提供的数据流架构中利用关键路径信息进行指令动态迁移的方法的硬件示意图,如图2所示,数据流架构中具有16个节点PE0~PE15以及一指令迁移控制单元1,16个节点沿相互垂直的第一方向X和第二方向Y排列为4×4的阵列形式,图2中还标识出了每一节点于第一方向X和第二方向Y的坐标以便于计算迁移时的跳数。于另外的实施例中,数据流架构中节点的个数可以根据实际情况而调整,例如为64个或其他数目,本发明不以16个为限。图3为节点的结构示意图,如图3所示,本实施例中每一个节点具有指令槽2、一迁移目标地址计算单元3、一关键路径检测单元4、一迁移目标地址广播单元5和一空闲指令槽检测单元6,指令槽2用于存储指令,本实施例中,指令槽2中存储的指令条数为128,但不以此为限,可以根据实际需要增加或减少,该方法包括以下步骤:The present invention provides a method for dynamically migrating instructions using critical path information in a data flow architecture. The method is applied to a data flow architecture. Figure 2 shows the dynamic migration of instructions using critical path information in the data flow architecture provided by the present invention. The hardware schematic diagram of the method, as shown in Figure 2, has 16 nodes PE0-PE15 and an instruction migration control unit 1 in the data flow architecture, and the 16 nodes are arranged as 4 along the first direction X and the second direction Y perpendicular to each other. In the form of an array of ×4, the coordinates of each node in the first direction X and the second direction Y are also marked in FIG. 2 to facilitate the calculation of the number of hops during migration. In other embodiments, the number of nodes in the data flow architecture can be adjusted according to actual conditions, for example, 64 or other numbers, and the present invention is not limited to 16. Fig. 3 is a schematic structural diagram of a node, as shown in Fig. 3, each node in this embodiment has an instruction slot 2, a migration target address calculation unit 3, a critical path detection unit 4, a migration target address broadcast unit 5 and a The idle instruction slot detection unit 6, the instruction slot 2 is used to store instructions, in this embodiment, the number of instructions stored in the instruction slot 2 is 128, but it is not limited thereto, it can be increased or decreased according to actual needs, the method includes The following steps:

S1:每一节点中的关键路径检测单元4依次对指令槽2中存储的指令进行检测,以确认其中存储的指令是否为关键路径;S1: the critical path detection unit 4 in each node sequentially detects the instructions stored in the instruction slot 2 to confirm whether the instructions stored therein are critical paths;

其中,于步骤S1中,判断指令为关键路径的条件为以下(1)~(4):Wherein, in step S1, the conditions for judging that an instruction is a critical path are the following (1)-(4):

(1)指令对应的两个源操作数的依赖链之差超过一预设值L1,例如,当源操作数为两个时,此两个源操作数到达指令所在的节点的路径之间的差值大于预设值L1;(1) The difference between the dependency chains of the two source operands corresponding to the instruction exceeds a preset value L1, for example, when there are two source operands, the path between the two source operands to the node where the instruction is located The difference is greater than the preset value L1;

(2)指令与下游节点之间的空间距离超过一预设值L2;(2) The spatial distance between the instruction and the downstream node exceeds a preset value L2;

(3)指令对应的下游指令的数量超过一预设值D;(3) The number of downstream commands corresponding to the command exceeds a preset value D;

(4)指令在节点中等待被发射的时间超过一预设值T;(4) The time that the instruction waits to be transmitted in the node exceeds a preset value T;

当指令满足上述(1)&(2)或(1)&(3)或(1)&(4)或(1)&(2)&(3)&(4)时,判断指令为关键路径,也即,(1)为判断一条指令是否为关键路径的主要因素,(2)、(3)和(4)为辅助因素。需要说明的是,L1、L2、D和T均可以自行设定。When the instruction satisfies the above (1)&(2) or (1)&(3) or (1)&(4) or (1)&(2)&(3)&(4), it is judged that the instruction is a critical path , that is, (1) is the main factor for judging whether an instruction is a critical path, and (2), (3) and (4) are auxiliary factors. It should be noted that L1, L2, D and T can all be set by themselves.

S2:当一节点P1确认其中的一指令I为关键路径时,节点P1中的迁移目标地址计算单元3进行计算,以得到指令I所要迁移至的节点P2并向节点P2发送一空闲询问请求;S2: When a node P1 confirms that one of the instructions I is a critical path, the migration target address calculation unit 3 in the node P1 performs calculations to obtain the node P2 to which the instruction I is to be migrated, and sends an idle query request to the node P2;

于步骤S2中,迁移目标地址计算单元优先根据以下策略(1)和/或(2)对指令I进行迁移:In step S2, the migration target address calculation unit preferentially migrates the instruction I according to the following strategies (1) and/or (2):

(1)若N大于一设定值N1,则每次迁移的跳数大于一跳,若N小于一设定值N2,则每次只迁移一跳,其中,N2≤N1;(1) If N is greater than a set value N1, the number of hops for each migration is greater than one hop; if N is less than a set value N2, only one hop is migrated each time, where N2≤N1;

也就是说,当数据流架构中的节点数目较少时,每次迁移的调数可以设置的较少,例如为一跳,随着数据流架构中的节点数目增多,每次迁移的跳数可以设置的更多,以上N1、N2可以由使用者根据实际需要设定。That is to say, when the number of nodes in the data flow architecture is small, the number of hops for each migration can be set less, for example, one hop. As the number of nodes in the data flow architecture increases, the number of hops for each migration More can be set, the above N1, N2 can be set by the user according to actual needs.

(2)向指令I与源操作数之间沿第一方向和第二方向中距离差大的方向迁移;(2) Migrate to the direction where the distance difference between the instruction I and the source operand is large along the first direction and the second direction;

(3)若指令I所在的节点与其下游节点之间的距离为L3,则指令I的迁移距离为此处的L3为沿第一方向或沿第二方向的距离,分别为对L3向下取整或向上取整,也即,若L3不是整数,则为小于L3的最大整数,则为大于L3的最小整数。(3) If the distance between the node where instruction I is located and its downstream node is L3, then the migration distance of instruction I is or Here L3 is the distance along the first direction or along the second direction, and They are rounding down or rounding up for L3 respectively, that is, if L3 is not an integer, is the largest integer smaller than L3, Then it is the smallest integer greater than L3.

S3:节点P2接收到空闲询问请求后,节点P2中的空闲指令槽检测单元6开始检测其中是否有能够存储来自节点P1的指令的指令槽,若为“有”则向节点P1发送一确认迁移指令并执行步骤4,若为“没有”则返回步骤S2重新计算下一个迁移至的节点;S3: After the node P2 receives the idle query request, the idle instruction slot detection unit 6 in the node P2 starts to detect whether there is an instruction slot capable of storing instructions from the node P1, and if it is "yes", it sends a confirmation migration to the node P1 Command and execute step 4, if it is "none", return to step S2 to recalculate the next node to migrate to;

S4:节点P1向指令迁移控制单元1发送一迁移请求,指令迁移控制单元1接受迁移请求并将迁移请求排列至一迁移队列的队尾;S4: The node P1 sends a migration request to the instruction migration control unit 1, and the instruction migration control unit 1 accepts the migration request and arranges the migration request to the end of a migration queue;

S5:指令迁移控制单元1实时检测排列在迁移队列队头的迁移请求,并向该迁移请求对应的节点P1发送一确认迁移指令;S5: The instruction migration control unit 1 detects the migration request arranged at the head of the migration queue in real time, and sends a confirmation migration instruction to the node P1 corresponding to the migration request;

此处需要说明的是,当迁移请求排列至迁移队列的队尾后,一般需要经过一段时间才能够对其进行处理,于等待的时间中,需要处理于该迁移队列中排列在其前方的其他迁移请求,此处为了说明方便直接说明经过一段等待时间后该迁移请求被处理时的情况。What needs to be explained here is that when a migration request is queued to the end of the migration queue, it usually takes a while before it can be processed. During the waiting time, it needs to process other Migration request, for the convenience of explanation, the situation when the migration request is processed after a waiting period is directly described here.

S6:节点P1接收到确认迁移指令后,节点P1中的迁移目标地址广播单元3向指令I的上游节点和下游节点发送暂停操作数传输指令;S6: After the node P1 receives the confirmation migration instruction, the migration target address broadcast unit 3 in the node P1 sends a pause operand transmission instruction to the upstream node and the downstream node of the instruction I;

S7:指令I的上游节点和下游节点暂停操作数的传输并向节点P1发送确认反馈消息;S7: The upstream node and downstream node of the instruction I suspend the transmission of the operand and send a confirmation feedback message to the node P1;

S8:节点P1向节点P2打包迁移指令I的相关信息;S8: The node P1 packs the relevant information of the migration instruction I to the node P2;

S9:指令I迁移完成后,节点P2向节点P1发送一迁移完成消息;S9: After instruction I migration is completed, node P2 sends a migration completion message to node P1;

S10:节点P1中的迁移目标地址广播单元5向指令I原来的上游节点和下游节点发送指令I当前所在的节点P2所在位置信息;S10: The migration target address broadcast unit 5 in the node P1 sends the location information of the node P2 where the instruction I is currently located to the original upstream node and downstream node of the instruction I;

S11:指令I原来的上游节点和下游节点接受指令I当前所在的节点P2所在位置信息并向节点P1发送更改确认消息;S11: The original upstream node and downstream node of the instruction I accept the location information of the node P2 where the instruction I is currently located and send a change confirmation message to the node P1;

S12:节点P1向指令迁移控制单元1发送指令迁移完毕消息;S12: Node P1 sends an instruction migration completion message to the instruction migration control unit 1;

S13:节点P1向指令I原来的上游节点中的相应指令槽发送消息,以指示重新发送数据以进行运算。S13: The node P1 sends a message to the corresponding instruction slot in the original upstream node of the instruction I, to instruct to resend the data for operation.

以下以图2为例进行说明:The following uses Figure 2 as an example for illustration:

S1:图2中的节点PE15中的指令228的两个源操作数分别来自节点PE1和PE13,其对应的下游节点为PE10,指令228满足上述步骤S1中判断指令为关键路径的条件(1)~(4),因此,节点PE15中的关键路径检测单元4检测到该指令228为关键路径;S1: The two source operands of instruction 228 in node PE15 in Figure 2 are from nodes PE1 and PE13 respectively, and the corresponding downstream node is PE10, and instruction 228 satisfies the condition (1) for judging that the instruction is a critical path in the above step S1 ~(4), therefore, the critical path detection unit 4 in the node PE15 detects that the instruction 228 is a critical path;

S2:节点PE15中的迁移目标地址计算单元3进行计算,其中,迁移目标地址计算单元3每次迁移的条数为一跳,因而计算出该指令228所要迁移至的节点为节点PE11或PE14,此处采用Y方向优先策略,因此,迁移目标地址计算单元3确定节点PE11为所要迁移至的目标节点并向节点PE11发送一空闲询问请求;S2: The migration target address calculation unit 3 in the node PE15 performs calculations, wherein the number of migration target address calculation units 3 for each migration is one hop, thus calculating that the node to be migrated to by the instruction 228 is the node PE11 or PE14, The Y direction priority strategy is adopted here, therefore, the migration target address calculation unit 3 determines that the node PE11 is the target node to be migrated to and sends an idle inquiry request to the node PE11;

S3:节点PE11中的空闲指令槽检测单元6开始检测其中是否有能够存储来自节点PE11的指令的指令槽,经检测,节点PE11中的空闲指令槽检测单元6不具有能够存储来自节点PE15的指令的指令槽,因此,需要返回上一步骤重新计算所要迁移至的节点,经过迁移目标地址计算单元3再次计算,确定下一个所要迁移至的节点为节点PE14并向节点PE14发送一空闲询问请求,节点PE14接收到空闲询问请求后,节点PE14中的空闲指令槽检测单元6开始检测其中是否有能够存储来自节点PE15的指令的指令槽,经检测,节点PE14中的空闲指令槽检测单元6具有能够存储来自节点PE15的指令的指令槽;S3: The idle instruction slot detection unit 6 in the node PE11 starts to detect whether there is an instruction slot capable of storing instructions from the node PE11, after detection, the idle instruction slot detection unit 6 in the node PE11 does not have an instruction slot capable of storing instructions from the node PE15 Therefore, it is necessary to return to the previous step to recalculate the node to be migrated to, and calculate again through the migration target address calculation unit 3 to determine that the next node to be migrated to is node PE14 and send an idle query request to node PE14, After the node PE14 receives the idle query request, the idle instruction slot detection unit 6 in the node PE14 begins to detect whether there is an instruction slot capable of storing instructions from the node PE15, after detection, the idle instruction slot detection unit 6 in the node PE14 has the ability to an instruction slot storing instructions from node PE15;

S4:节点P15向指令迁移控制单元1发送一迁移请求,指令迁移控制单元1接受迁移请求并将迁移请求排列至一迁移队列的队尾;S4: The node P15 sends a migration request to the instruction migration control unit 1, and the instruction migration control unit 1 accepts the migration request and arranges the migration request to the end of a migration queue;

S5:指令迁移控制单元1实时检测排列在迁移队列队头的迁移请求,当该迁移请求前方的其他迁移请求依次被处理完成以使得该迁移请求排列至迁移队列的队头时,指令迁移控制单元1向节点PE15发送一确认迁移指令;S5: The instruction migration control unit 1 detects the migration request arranged at the head of the migration queue in real time, and when other migration requests in front of the migration request are sequentially processed so that the migration request is arranged at the head of the migration queue, the instruction migration control unit 1 Send a confirmation migration command to the node PE15;

S6:节点PE15接收到确认迁移指令后,节点PE15中的迁移目标地址广播单元3向指令228的上游节点PE1、PE13和下游节点PE10发送暂停操作数传输指令;S6: After the node PE15 receives the confirmation migration instruction, the migration target address broadcast unit 3 in the node PE15 sends a pause operand transmission instruction to the upstream nodes PE1, PE13 and downstream node PE10 of the instruction 228;

S7:指令228的上游节点PE1、PE13和下游节点PE10暂停操作数的传输并向节点PE15发送确认反馈消息;S7: The upstream nodes PE1, PE13 and the downstream node PE10 of the instruction 228 suspend the transmission of the operand and send a confirmation feedback message to the node PE15;

S8:节点PE15向节点PE14打包迁移指令228相关信息;S8: Node PE15 packs information about migration instruction 228 to node PE14;

S9:指令228迁移完成后,节点PE14向节点PE15发送一迁移完成消息;S9: After instruction 228 migration is completed, node PE14 sends a migration completion message to node PE15;

S10:节点PE14中的迁移目标地址广播单元5向指令228原来的上游节点PE1、PE13和下游节点PE10发送指令228当前所在的节点PE14所在位置信息;S10: The migration target address broadcast unit 5 in the node PE14 sends the location information of the node PE14 where the instruction 228 is currently located to the original upstream nodes PE1, PE13 and downstream node PE10 of the instruction 228;

S11:指令228原来的上游节点PE1、PE13和下游节点PE10接受指令228当前所在的节点PE14所在位置信息并向节点PE14发送更改确认消息;S11: The original upstream nodes PE1, PE13 and downstream node PE10 of the instruction 228 accept the location information of the node PE14 where the instruction 228 is currently located and send a change confirmation message to the node PE14;

S12:节点PE15向指令迁移控制单元1发送指令迁移完毕消息;S12: The node PE15 sends an instruction migration completion message to the instruction migration control unit 1;

S13:节点PE14向指令228原来的上游节点PE1、PE13中的相应指令槽发送消息,以指示重新发送数据以进行运算。S13: The node PE14 sends a message to the corresponding instruction slots in the original upstream nodes PE1 and PE13 of the instruction 228 to instruct to resend data for operation.

本发明提供的数据流架构中利用关键路径信息进行指令动态迁移的方法利用每个节点实时检测到的关键路径信息指导指令的动态迁移,从而能够使得数据流架构的指令映射可以动态适应负载、资源使用情况以及网络拥塞程度的变化,进而提高数据流架构的运行速度和计算效率。The method for dynamic migration of instructions using critical path information in the data flow architecture provided by the present invention uses the critical path information detected by each node in real time to guide the dynamic migration of instructions, so that the instruction mapping of the data flow architecture can dynamically adapt to loads and resources Changes in usage and network congestion levels, thereby improving the operational speed and computational efficiency of the dataflow architecture.

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。Those skilled in the art can understand that the accompanying drawing is only a schematic diagram of an embodiment, and the modules or processes in the accompanying drawing are not necessarily necessary for implementing the present invention.

本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。Those of ordinary skill in the art can understand that: the modules in the device in the embodiment may be distributed in the device in the embodiment according to the description in the embodiment, or may be changed and located in one or more devices different from the embodiment. The modules in the above embodiments can be combined into one module, and can also be further divided into multiple sub-modules.

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent replacements are made to some of the technical features; these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (4)

1. A method for dynamic migration of instructions by using critical path information in a data flow architecture is characterized in that the method is applied to the data flow architecture, the data flow architecture is provided with N nodes and an instruction migration control unit, the N nodes are arranged in an array form along a first direction and a second direction which are mutually perpendicular, each node is provided with M instruction slots, a migration target address calculation unit, a critical path detection unit, a migration target address broadcast unit and a free instruction slot detection unit, and the instruction slots are used for storing instructions and comprise the following steps:
s1: the critical path detection unit in each node sequentially detects the instructions stored in the instruction slot to determine whether the instructions stored in the instruction slot are critical paths; the conditions for determining that the instruction is a critical path are the following (1) to (4):
(1) the difference between the dependency chains of the two corresponding source operands of the instruction exceeds a preset value L1;
(2) the spatial distance between the command and the downstream node exceeds a preset value L2;
(3) the number of the downstream instructions corresponding to the instructions exceeds a preset value D;
(4) the time for waiting to be transmitted in the node is instructed to exceed a preset value T;
when the instruction meets the above (1) & (2) or (1) & (3) or (1) & (4) or (1) & (2) & (3) & (4), judging the instruction as a critical path;
s2: when a node P1 confirms that a command I is a critical path, the migration target address calculation unit in the node P1 calculates to obtain the node P2 to which the command I is to be migrated and sends an idle inquiry request to the node P2;
s3: after the node P2 receives the idle inquiry request, the idle instruction slot detection unit in the node P2 starts to detect whether there is an instruction slot capable of storing an instruction from the node P1, if yes, sends a migration confirmation instruction to the node P1 and executes step S4, and if no, returns to step S2 to recalculate the next migrated node;
s4: the node P1 sends a migration request to the instruction migration control unit, and the instruction migration control unit receives the migration request and arranges the migration request to the tail of a migration queue;
s5: the instruction migration control unit detects the migration request arranged at the head of the migration queue in real time and sends a migration confirmation instruction to the node P1 corresponding to the migration request;
s6: after the node P1 receives the confirmed migration instruction, a migration target address broadcasting unit in the node P1 sends a pause operand transmission instruction to an upstream node and a downstream node of the instruction I;
s7: the upstream and downstream nodes of instruction I suspend operand transfers and send acknowledgement feedback messages to node P1;
s8: the node P1 packs the related information of the migration instruction I to the node P2;
s9: after the instruction I completes the migration, the node P2 sends a migration completion message to the node P1;
s10: a migration target address broadcasting unit in the node P1 sends the position information of the node P2 where the instruction I is currently located to the original upstream node and the original downstream node of the instruction I;
s11: the original upstream node and the original downstream node of the instruction I receive the position information of the node P2 where the instruction I is currently located and send a change confirmation message to the node P1;
s12: the node P1 sends an instruction migration completion message to the instruction migration control unit;
s13: node P1 sends a message to the corresponding instruction slot in the node upstream from instruction I to indicate that the data is to be resent for operation.
2. The method for dynamically migrating instructions according to the data flow architecture of claim 1, wherein in step S2, the migration target address calculation unit preferentially migrates the instruction I according to the following policies (1) and/or (2):
(1) if N is larger than a set value N1, the hop count of each time of migration is larger than one hop, if N is smaller than a set value N2, only one hop of migration is performed each time, wherein N2 is not more than N1;
(2) migrating to a direction between the instruction I and a source operand along a direction with a large distance difference between a first direction and a second direction;
(3) if the distance between the node where instruction I is located and the node downstream of the node is L3, the migration distance of instruction I isOr
3. The method of claim 1, wherein N is 16, and 16 nodes in the data flow architecture are arranged in a 4 × 4 array.
4. The method of claim 3, wherein the maximum number of instructions stored in each node is 128.
CN201710261605.XA 2017-04-20 2017-04-20 A method for dynamically migrating instructions using critical path information in data flow architecture Active CN107018201B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710261605.XA CN107018201B (en) 2017-04-20 2017-04-20 A method for dynamically migrating instructions using critical path information in data flow architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710261605.XA CN107018201B (en) 2017-04-20 2017-04-20 A method for dynamically migrating instructions using critical path information in data flow architecture

Publications (2)

Publication Number Publication Date
CN107018201A CN107018201A (en) 2017-08-04
CN107018201B true CN107018201B (en) 2019-12-31

Family

ID=59448676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710261605.XA Active CN107018201B (en) 2017-04-20 2017-04-20 A method for dynamically migrating instructions using critical path information in data flow architecture

Country Status (1)

Country Link
CN (1) CN107018201B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947974B (en) * 2017-11-17 2021-01-19 国云科技股份有限公司 Network key link detection method for cloud platform service
CN108287729B (en) * 2017-12-22 2021-04-13 北京中科睿芯智能计算产业研究院有限公司 Data stream instruction mapping method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772398B2 (en) * 2001-06-15 2004-08-03 Cadence Design Systems, Inc. Reducing datapath widths responsively to upper bound on information content
CN101043436A (en) * 2006-03-20 2007-09-26 华为技术有限公司 Method for improving communication quality based on label distribution protocol
CN102473161A (en) * 2009-08-18 2012-05-23 国际商业机器公司 Decentralized load distribution to reduce power and/or cooling cost in event-driven system
CN104598310A (en) * 2015-01-23 2015-05-06 武汉理工大学 A low-power scheduling method based on FPGA partial dynamic reconfigurable technology module division

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8836372B1 (en) * 2013-03-01 2014-09-16 Raytheon Company Minimizing power consumption in asynchronous dataflow architectures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772398B2 (en) * 2001-06-15 2004-08-03 Cadence Design Systems, Inc. Reducing datapath widths responsively to upper bound on information content
CN101043436A (en) * 2006-03-20 2007-09-26 华为技术有限公司 Method for improving communication quality based on label distribution protocol
CN102473161A (en) * 2009-08-18 2012-05-23 国际商业机器公司 Decentralized load distribution to reduce power and/or cooling cost in event-driven system
CN104598310A (en) * 2015-01-23 2015-05-06 武汉理工大学 A low-power scheduling method based on FPGA partial dynamic reconfigurable technology module division

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Buffer optimization based on critical path analysis of a dataflow program design";Simone Casale Brunet et al;《2013 IEEE International Symposium on Circuits and Systems》;20130801;全文 *
"Data-flow transformations for critical path time reduction in high-level DSP synthesis";L.E.Lucke etal;《IEEE Transaction on Computer-Aided Design of Integrated Circuits and Systems》;19930731;全文 *
"POSTER:An optimization of dataflow architectures for scientific applications";Xiaowei Shen;《2016 International Conference on Parallel Architecture and Compilation Techniques》;20161201;全文 *

Also Published As

Publication number Publication date
CN107018201A (en) 2017-08-04

Similar Documents

Publication Publication Date Title
CN103812949B (en) A kind of task scheduling towards real-time cloud platform and resource allocation methods and system
CN110022330B (en) Processing method and device for network data packet and electronic equipment
US9501318B2 (en) Scheduling and execution of tasks based on resource availability
US20250265455A1 (en) Parameter caching for neural network accelerators
JP6580307B2 (en) Multi-core apparatus and job scheduling method for multi-core apparatus
KR102522958B1 (en) Method and apparatus for traversing graph database
CN104850394B (en) The management method and distributed system of distributed application program
CN106603692B (en) Data storage method and device in a distributed storage system
US9471387B2 (en) Scheduling in job execution
CN117971906B (en) Multi-card collaborative database query method, device, equipment and storage medium
CN111049900B (en) Internet of things flow calculation scheduling method and device and electronic equipment
WO2021197128A1 (en) Traffic rate-limiting method and apparatus
CN107018201B (en) A method for dynamically migrating instructions using critical path information in data flow architecture
CN106569887A (en) Fine-grained task scheduling method under cloud environment
CN108924008A (en) A kind of dual controller data communications method, device, equipment and readable storage medium storing program for executing
CN108287729B (en) Data stream instruction mapping method
CN107704310A (en) A kind of method, apparatus and equipment for realizing container cluster management
CN115016918A (en) A data processing method for a computing device of a data flow architecture
WO2020100581A1 (en) Evaluation device, evaluation method and evaluation program
CN103677959A (en) Virtual machine cluster migration method and system based on multicast
CN114240632A (en) Batch job execution method, apparatus, apparatus, medium and product
CN104468379A (en) Virtual Hadoop cluster node selection method and device based on shortest logical distance
CN102289966A (en) Radar simulation system
CN111488216B (en) Data processing method, device and electronic equipment
CN115345100A (en) On-chip network simulation model and dynamic path planning method, device, and multi-core chip

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
CP01 Change in the name or title of a patent holder

Address after: 100094 Beijing City, Haidian District North Road Zhongguancun green garden wensong Road No. 1

Patentee after: Beijing Zhongke Ruixin Technology Group Co.,Ltd.

Address before: 100094 Beijing City, Haidian District North Road Zhongguancun green garden wensong Road No. 1

Patentee before: SMARTCORE (BEIJING) Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20200513

Address after: Room 312, 3 / F, building 26, lanxiyuan District 4, Shunyi District, Beijing

Patentee after: Beijing Ruixin data flow technology Co.,Ltd.

Address before: 100094 Beijing City, Haidian District North Road Zhongguancun green garden wensong Road No. 1

Patentee before: Beijing Zhongke Ruixin Technology Group Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20250904

Address after: 215124 Jiangsu Province Suzhou City China (Jiangsu) Free Trade Zone Suzhou Area of the Suzhou Industrial Park Yueyangwan Road No. 10 Huihu Building Building 1 Room 503 South Building Room 701

Patentee after: Suzhou Ruixin integrated circuit technology Co.,Ltd.

Country or region after: China

Address before: Room 312, 3 / F, building 26, lanxiyuan District 4, Shunyi District, Beijing

Patentee before: Beijing Ruixin data flow technology Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right