Processor Cores Using Content Object Identifiers for Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Parallel computing systems face increased complexity in distributing complex computations among multiple nodes, particularly due to the need for reassembling higher-level data structures and managing communication and synchronization between nodes, which hampers performance and resource utilization.
Innovation Solution
The system employs a network of computational nodes where data is routed using content objects, allowing for flexible packetization and abstraction, enabling efficient distribution and computation without the need for reassembly, and utilizing common labels and identifiers across nodes to streamline communication and computation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If data is routed using traditional NoC methods with higher-level data structures, then data can be organized semantically, but the system requires reassembly and translation operations that increase latency and complexity
Solution Approach 1:
The patent segments higher-level data structures into lower-level packets for routing, then reassembles them at the destination. This segmentation allows the routing system to handle data as simple packets rather than complex structures, eliminating the need for reassembly and translation operations during routing, thereby reducing latency while maintaining organizational capabilities.
Solution Approach 2:
The patent introduces content object identifiers as an intermediary layer between the routing system and the computational nodes. These identifiers allow data to be routed based on semantic meaning without requiring the routing infrastructure to understand or manipulate the actual data structures, thus reducing complexity and latency while preserving organizational benefits.
2Device complexity
If data is packetized into lower-level units for routing, then routing complexity is reduced, but computations must wait for complete data structures to be reassembled
Solution Approach 1:
The patent performs preliminary actions by pre-processing data into content objects with identifiers before routing. This allows the routing system to handle simple packets while the computational nodes can begin processing as soon as they receive the necessary packets, rather than waiting for complete reassembly. The preliminary packaging enables parallel processing to commence earlier.
Solution Approach 2:
The patent allows computations to proceed with partial data structures rather than requiring complete reassembly. Computational nodes can perform operations on the packets they have received so far, using the content object identifiers to track and complete the computation once all necessary data arrives, thus reducing wait time while maintaining routing simplicity.
3Quantity of substance
If traditional NoC routing is used with separate packaging and routing operations, then data can be transmitted, but resource overhead for translation and packaging increases
Solution Approach 1:
The patent merges the packaging and routing operations by using content object identifiers that are embedded within the data packets themselves. This eliminates the need for separate packaging and routing operations, as the identifier is integrated into the packet structure. The computational nodes also merge receiving and processing operations, reducing the overall resource overhead while maintaining effective data transmission.
Solution Approach 2:
The content object identifier serves multiple functions simultaneously: it acts as a routing address, a data structure descriptor, and a computation tracker. This multi-functionality eliminates the need for separate operations for each of these tasks, reducing resource overhead while maintaining comprehensive data management capabilities across the distributed system.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Processor cores using content object identifiers for routing and computation are disclosed. One method includes executing a complex computation using a set of processing cores. The method includes routing a set of content objects using a set of content object identifiers and executing a set of instructions. The set of instructions are defined using a set of operand identifiers. The operand identifiers represent content object identifiers in the set of content object identifiers. The content objects can be routed according to a named data networking (NDN) or content-centric networking (CCN) paradigm with the content object identifiers mentioned above serving as the names for the computation data being routed by the network.