RDMA NIC Cache Management via Terminal Grouping and Periodic Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems using RDMA, the uneven distribution of cache resources in RDMA network interface cards leads to inefficiencies, as subcache areas struggle to store a large number of queue pairs and work queue elements, resulting in wasted resources and poor utilization of memory.

Innovation Solution

A method where terminals are grouped based on priority, with different service durations assigned to each group, allowing the server to process only read/write requests within specific service durations, thereby limiting the generation of queue pairs and work queue elements and optimizing cache area usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the subcache area stores a large quantity of SQs and WQEs to handle more clients, then the number of supported clients increases, but the memory of the subcache area becomes insufficient and resources are wasted when not fully utilized

Engineering Contradiction:
Improvenumber of SQs and WQEsVSAvoidresource utilization efficiency
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The cache area of the RDMA network interface card is divided into multiple subcache areas, and each subcache area is further divided into multiple cache pools. This segmentation allows different cache pools to be dynamically allocated to different terminal groups, enabling flexible resource allocation that adapts to varying numbers of clients and request patterns, thus resolving the contradiction between storing more SQs/WQEs and maintaining resource utilization efficiency.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the serving end processes read/write requests from all terminals simultaneously, then the system handles more requests, but the cache area resources become unevenly distributed and the server workload increases

Engineering Contradiction:
Improverequest processing capacityVSAvoidcache area resource distribution
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The server divides terminals into different terminal groups and assigns different service durations to each group. Within each service duration, the server processes requests from only one terminal group at a time, creating a periodic processing pattern. This approach maintains high request processing capacity while ensuring even distribution of cache area resources by limiting the number of active queue pairs and work queue elements at any given time.

Inventive Principle:
Principle #19Periodic action

3Volume of stationary object

If the memory of the subcache area is made larger to store all SQs and WQEs, then all requests can be stored, but vacant memory remains unused resulting in resource waste

Engineering Contradiction:
Improvememory size of subcache areaVSAvoidwaste of subcache area resources
Core Design Contradiction:
Volume of stationary objectVSLoss of energy

Solution Approach 1:

Instead of using a fixed large memory size for the subcache area, the patent implements dynamic memory allocation through cache pools. The memory is allocated based on the actual number of terminals in each group and their request patterns. This dynamic approach ensures that the memory size adapts to the current workload, preventing both insufficient storage and waste of vacant memory.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If the serving end creates QPs for each terminal, then each terminal can be served individually, but the number of QPs and WQEs increases leading to cache area insufficiency

Engineering Contradiction:
Improveindividual terminal service capabilityVSAvoidnumber of QPs and WQEs
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple terminals into terminal groups, where each group is served by a limited number of queue pairs. Instead of creating individual QPs for each terminal, multiple terminals share the same QPs and WQEs within their group. This merging approach maintains individual terminal service capability through group-based management while significantly reducing the total number of QPs and WQEs required in the cache area.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3885907B1Read/write request processing method and apparatus, electronic device, and storage medium
Publication Date: 2024.11.27 HUAWEI TECH CO LTD
  • EP3885907B1 patent drawingFigure 1~2
  • EP3885907B1 patent drawingFigure 3
  • EP3885907B1 patent drawingFigure 4~5

AI summary

A read/write request processing method and apparatus, an electronic device, and a storage medium, which belong to the field of data processing are disclosed. In this method, each terminal is grouped, and different service durations are assigned for all terminal groups, so that a server can process, within any service duration, only a read/write request sent by a terminal in a terminal group corresponding to the service duration, so that quantities of QPs and WQEs that are generated based on the read/write request sent by the terminal in the terminal group are limited, thereby enabling a cache area of a network interface card of the server to store only limited quantities of QPs and WQEs, and further preventing a problem of uneven resource distribution from occurring in the cache area of the network interface card.