Storage Server CPU Load Balancing via Rendezvous Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Speed

If storage device performance is increased, then data storage speed is improved, but CPU becomes overloaded causing bottlenecks

Engineering Contradiction:
Improvedata storage speedVSAvoidCPU processing capacity
Core Design Contradiction:
SpeedVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple CPU cores are available, then processing capacity increases, but load imbalance causes underutilization of some cores

Engineering Contradiction:
ImproveCPU processing capacityVSAvoidload distribution efficiency
Core Design Contradiction:
ProductivityVSEase of operation

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250021509A1Scaling performance in a storage server with storage devices
Publication Date: 2025.01.16 SAMSUNG ELECTRONICS CO LTD
  • US20250021509A1 patent drawing
  • US20250021509A1 patent drawing
  • US20250021509A1 patent drawing

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.