Hybrid Message Passing for Coprocessor Data Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multiprocessor or multicore processor computing environments, existing communication paradigms face inefficiencies in data transmission between coprocessors, particularly when dealing with varying message sizes, as they either require full message passing for small data or rely on shared memory for large data, leading to suboptimal performance and scalability.
Innovation Solution
A method that determines the size of data to be communicated and uses a hybrid approach, attaching data to a message if it's below a threshold and transmitting a pointer to its location in memory if it exceeds the threshold, allowing efficient communication regardless of size, with the option to include metadata for additional context.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full message passing is used for small data, then data transmission is reliable, but communication overhead and time increase
Solution Approach 1:
The patent changes the parameter of data transmission approach based on data size. For small data (below threshold), full message passing is used ensuring reliability. For large data (above threshold), pointer transmission is used to reduce communication time while maintaining reliability through shared memory access.
2Productivity
If shared memory is used for large data, then communication efficiency improves, but complexity of memory management increases
Solution Approach 1:
The patent introduces dynamic selection between two communication mechanisms based on data size threshold. The system dynamically switches from full message passing for small data to pointer-based access for large data, optimizing efficiency while managing complexity through size-based routing.
3Ease of manufacture
If a fixed communication paradigm is used, then implementation is simple, but performance scalability deteriorates
Solution Approach 1:
The patent transforms a static communication paradigm into a dynamic one by introducing size-based routing logic. The system automatically selects the appropriate communication mechanism (full message passing or pointer transmission) based on data size, enabling scalability without significantly increasing implementation complexity.
Data Source
AI summary
A method of communicating data between at least two coprocessors in a single computing environment wherein one of the coprocessors is a transmitting processor and the other of the coprocessors is a receiving processor and the single computing environment includes a memory accessible by the coprocessors includes, among other things, determining in the transmitting processor the size of data to be communicated, attaching the data to a message and transmitting the message to the receiving processor if the size of the data is below or equal to a predetermined threshold value, and transmitting to the receiving processor a pointer that points to a location of the data in the memory if the size of the data is above the predetermined threshold value.

