Storage Server CPU Load Balancing via Rendezvous Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems, the increased performance of storage devices like key-value solid state drives leads to CPU overloading, causing bottlenecks as central processing units struggle to handle input/output requests and coordinate data transfer across multiple storage devices and clients, resulting in inefficiencies and underutilization of available CPU cores.
Innovation Solution
Implementing a method that uses a hashing algorithm, such as Rendezvous hashing, and a round-robin technique to distribute input/output requests across multiple CPU cores and storage devices, along with remote direct memory access and transmission control protocols, to balance loads and establish connections efficiently, thereby reducing CPU bottlenecks and improving data storage performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If storage device performance is increased, then data storage speed is improved, but CPU becomes overloaded causing bottlenecks
Solution Approach 1:
The patent segments the monolithic CPU into multiple cores, with each core independently handling IO requests and coordinating with storage devices. This segmentation distributes the processing workload across multiple parallel units, preventing any single CPU from becoming a bottleneck while maintaining high data storage speed.
Solution Approach 2:
The patent introduces a network processor as an intermediary component between the host and storage devices. This intermediary handles IO request distribution, connection management, and coordination tasks, freeing the storage devices to operate at full speed while preventing CPU overload through specialized intermediate processing.
2Productivity
If multiple CPU cores are available, then processing capacity increases, but load imbalance causes underutilization of some cores
Solution Approach 1:
The patent implements preliminary load balancing by pre-establishing connection mappings between hosts and storage devices using hashing algorithms. This preliminary action distributes IO requests across multiple CPU cores before processing begins, ensuring balanced utilization of all available cores and preventing underutilization during operation.
Solution Approach 2:
The patent dynamically adjusts load distribution parameters based on system state, using techniques such as round-robin assignment and hashing algorithms to optimize the distribution of IO requests across CPU cores. This parameter adjustment ensures balanced utilization while adapting to changing workload conditions.
Data Source
AI summary
Provided is a method of packet processing, the method including receiving an input/output (IO) request from a host, selecting a drive corresponding to the IO request using a hashing algorithm or a round-robin technique, and establishing a connection between the host and the drive.


