Router Replication for Data Multicasting in Multi-Core Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed processor architectures, efficiently broadcasting instruction results to multiple consuming instructions is challenging, particularly when results need to be sent across different processing cores or in cache-coherent multi-core systems.
Innovation Solution
The implementation of data multicasting in a distributed processor architecture, where instructions are encoded with a bitmask to specify multiple targets, allowing routers to replicate and route messages efficiently across a network of processing tiles, ensuring that each target receives the result only once, using combinational logic to determine replication and routing based on target locations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If instructions send results only to specific consuming instructions in distributed architecture, then resource usage is optimized, but the complexity of encoding and routing increases when multiple targets are involved
Solution Approach 1:
The patent segments the routing information into two parts: a common prefix (subset field) shared by multiple target instructions, and individual suffixes (bitmask) for each target. This segmentation allows the routing message to be divided into a multicast message portion and individual target portions, reducing the overall routing complexity while maintaining efficient resource usage.
Solution Approach 2:
The patent merges multiple routing operations into a single multicast operation by combining common routing information (subset) with individual target identifiers (bitmask). This merging allows one instruction result to be efficiently routed to multiple consuming instructions simultaneously, reducing the number of separate routing operations needed.
2Speed
If broadcast bus is used in conventional architecture, then any instruction can receive the result immediately, but the bandwidth consumption and complexity increases in distributed multi-core systems
Solution Approach 1:
The patent implements local quality by providing different routing mechanisms for different scenarios: unicast routing for single targets and multicast routing for multiple targets. The system selectively applies the appropriate routing strategy based on the number and location of target instructions, optimizing both speed and bandwidth usage for each specific case.
Solution Approach 2:
The patent adds a new dimension to routing by introducing the subset field that groups target instructions into categories. This dimensional addition allows the system to efficiently handle multicast scenarios by organizing targets into subsets, enabling faster delivery without proportionally increasing bandwidth consumption.
3Reliability
If multiple copies of messages are created for multicasting, then all targets receive the result, but the number of links traversed and processing overhead increases
Solution Approach 1:
The patent performs preliminary action by pre-organizing target instructions into subsets and preparing the bitmask encoding before message transmission. This preliminary organization allows the routing system to efficiently replicate messages only where necessary, reducing processing overhead while ensuring all targets receive the result.
Solution Approach 2:
The patent uses selective copying where message copies are created only for necessary multicast scenarios. The system determines whether unicast or multicast is appropriate and creates copies only when needed, using the bitmask to precisely control which targets receive copies, thereby reducing unnecessary replication overhead.
Data Source
AI summary
Methods, procedures, apparatuses, computer programs, computer-accessible mediums, processing arrangements and systems generally related to data multi-casting in a distributed processor architecture are described. Various implementations may include identifying a plurality of target instructions that are configured to receive a first message from a source; providing target routing instructions to the first message for each of the target instructions including selected information commonly shared by the target instructions; and, when two of the identified target instructions are located in different directions from one another relative to a router, replicating the first message and routing the replicated messages to each of the identified target instructions in the different directions. The providing target routing instructions may further comprise the selected information utilizing a subset of bits that is commonly shared by the target instructions and being identified as a left operand, right operand or predicate operand, and may include the selection of one of a plurality of multiple-instruction subsets of the target instructions.


