RDMA Ring Buffer Lock Control for Ordered Server Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing lock mechanisms in computing systems suffer from high latency due to CPU involvement and multiple round trips of communication, and struggle to maintain the execution order of lock requests, especially during server failures.
Innovation Solution
Implement a lock controller that utilizes remote direct memory access (RDMA) to connect with a primary and secondary lock server, each managing a primary and mirrored ring buffer lock, respectively, to compare orders and send reorder requests as needed to maintain execution order and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If CPU and multiple round trips of communication are used to create and manage locks, then resource sharing and organization are achieved, but latency increases and system efficiency decreases
Solution Approach 1:
The patent extracts the lock management functionality from the CPU and implements it in hardware using a ring buffer lock controller. This separation removes the communication overhead and CPU involvement from the locking mechanism, achieving reliable resource sharing without the associated latency penalties of software-based lock management.
Solution Approach 2:
The ring buffer lock controller serves as an intermediary hardware component between multiple computing systems sharing resources. It mediates lock requests directly at the hardware level, enabling resource sharing while eliminating the need for multiple CPU round trips and reducing communication latency.
2Reliability
If centralized lock management is implemented, then resource distribution is controlled, but execution order of lock requests becomes difficult to maintain during server failure
Solution Approach 1:
The patent segments the centralized lock management into distributed ring buffer lock controllers located at different server locations. Each controller independently manages lock requests for its local resources, maintaining execution order through hardware-based request queues without requiring complex coordination during server failures.
Solution Approach 2:
The ring buffer lock controllers are designed to autonomously handle lock request ordering and server failure scenarios without external coordination. The hardware logic automatically maintains execution order and handles failover, eliminating the need for complex software-based order maintenance mechanisms.
3Reliability
If multiple round trips of communication are used for lock management, then comprehensive resource control is achieved, but system efficiency and productivity decrease
Solution Approach 1:
The patent replaces the software-based, CPU-mediated lock management mechanism with a hardware-based ring buffer lock controller. This substitution eliminates multiple communication round trips and CPU overhead, achieving comprehensive resource control while significantly improving system efficiency and productivity through direct hardware-level lock management.
Data Source
AI summary
A lock controller is connected to a primary lock server having a primary memory to implement a primary ring buffer lock and a secondary lock server having a secondary memory to implement a mirrored primary ring buffer lock. The lock controller sends a first lock request and first read request to the primary lock server and receives a first order. Further, the lock controller sends a second lock request and a second read request to the secondary lock server and receives a second order. Further, the lock controller compares the first and second order, and if the second order differs from the first order, then sends a reorder request to the secondary lock server indicating the first order, so that the execution order of lock requests can be maintained. The disclosed lock controller ensures low latency and efficiently handles a server failure.


