Streaming Remote Procedure Invocation for Multi-Core Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-core processors face inefficiencies in data streaming for real-time multimedia applications due to the need for clients to wait until servers finish procedures during Remote Procedure Call (RPC) execution, which is not time-efficient.
Innovation Solution
A method and middleware for streaming remote procedure invocation in multi-core systems that temporarily stores data for transmission, utilizing a transmitting thread and an aggregating thread, with a streaming channel module, buffer modules, and a controller module to manage data flow and prevent repeated server calls, allowing clients to continue processing without waiting for server responses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional RPC is used in multi-core systems, then clients can call servers to execute procedures, but clients must wait until servers finish their procedures which reduces time efficiency
Solution Approach 1:
The patent applies preliminary action by having the client send data to a buffer before the server is ready to process it. The transmitting thread places data in the buffer and can continue execution without waiting for the server, while the aggregating thread retrieves data from the buffer when the server is ready. This decouples the client-server synchronization and eliminates the waiting time penalty.
Solution Approach 2:
The patent introduces a buffer as an intermediary component between the client and server. The buffer acts as a mediator that temporarily stores data, allowing the transmitting and aggregating threads to operate independently without direct synchronization. This intermediary mechanism resolves the timing mismatch between data production and data consumption.
2Productivity
If clients repeatedly call servers for data transmission, then data can be transmitted, but the repeated calls reduce data transmitting efficiency
Solution Approach 1:
The patent implements continuity of useful action by establishing persistent transmitting and aggregating threads that continuously exchange data through the buffer. Instead of repeatedly starting and stopping RPC calls, the threads maintain continuous operation, reducing communication overhead and improving data transmission efficiency through sustained productive action.
3Productivity
If data is temporarily stored in buffers, then repeated server calls are prevented, but buffer management complexity increases
Solution Approach 1:
The patent applies self-service by implementing automatic buffer management within the transmitting and aggregating threads. The threads autonomously handle buffer allocation, data placement, and retrieval operations without requiring external intervention or complex centralized control. This self-managing approach reduces overall system complexity while maintaining efficient data flow.
Data Source
AI summary
A method of streaming remote procedure invocation for multi-core systems to execute a transmitting thread and an aggregating thread of a multi-core system comprises the steps of: temporarily storing data to be transmitted; activating the aggregating thread if the amount of the temporarily stored data is equal to or greater than a threshold and the aggregating thread is at pause status; pausing the transmitting thread if there is no space to temporarily store the data to be transmitted; retrieving data to be aggregated; activating the transmitting thread if the amount of the data to be aggregated is less than a threshold and the transmitting thread is at pause status; and pausing the aggregating thread if there is no data to be retrieved.


