Partitioned RPC Architecture Reducing Host Processor Workload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current RPC communication systems face inefficiencies due to processor workloads and latency issues, particularly when handling numerous remote procedure calls, as they often require overhead from RPC libraries for data serialization, networking, and security, which can lead to increased latency and resource contention.
Innovation Solution
A partitioned RPC architecture is introduced, where business logic and communication infrastructure are executed in separate processes, with the latter running on accelerators like network interface devices, utilizing direct memory access and shared memory to minimize latency and resource contention, and employing a shepherding layer for efficient communication between processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If RPC libraries handle data serialization, networking, and security in a monolithic design, then communication functionality is integrated and simplified, but processor workload increases and latency increases
Solution Approach 1:
The patent divides the RPC communication infrastructure into separate processes: a first process executes business logic on the host, while a second process executes communication infrastructure (serialization, networking, security) on a network interface device or accelerator. This segmentation allows each process to be optimized independently, reducing processor workload for communication tasks while maintaining integrated functionality through process-to-process communication.
2Adaptability or versatility
If RPC libraries perform data serialization and networking operations, then communication functionality is provided, but latency increases due to processing overhead
Solution Approach 1:
The patent extracts communication infrastructure operations (data serialization, networking, security) from the business logic process and places them in a separate second process on the network interface device. This extraction eliminates the overhead of performing these operations on the host processor, reducing RPC latency while maintaining full communication functionality through the shepherding layer that coordinates between processes.
Solution Approach 2:
The shepherding layer acts as an intermediary mechanism that enables efficient communication between the first process (business logic) and second process (communication infrastructure). It manages the coordination and data exchange between processes, ensuring that communication functionality is maintained while minimizing the time overhead associated with process-to-process interaction.
3Reliability
If RPC libraries handle security and networking operations on the host processor, then communication security is maintained, but resource contention increases
Solution Approach 1:
The patent extracts security and networking operations from the host processor to the network interface device or accelerator. The second process on the network interface device handles authentication, encryption, load balancing, and other security/networking functions, eliminating resource contention on the host processor while maintaining communication security through the same functional operations.
Data Source
AI summary
Examples described herein relate to a network interface device that includes packet processing circuitry and circuitry. In some examples, the circuitry is to execute a first process to provide a remote procedure call (RPC) interface for a second process. In some examples, the second process comprises a business logic. In some examples, resource and deployment definitions of the first and second processes are based on an Interface Description Language (IDL) and a memory allocation. In some examples, the memory allocation among the processes provides share at least one RPC message as at least one formatted object accessible from memory.


