RDMA Storage Throttling via Kernel Resource Manager

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in managing resources effectively due to mismatched usage patterns between computing and storage resources, leading to performance issues and inefficient resource allocation, especially in single-sided operations where server-side processing is absent.

Innovation Solution

Implementing a distributed storage system with memory hosts that utilize remote direct memory access (RDMA) for direct client access to storage resources, where a data processor determines throttle data transfer rates for each client based on bandwidth reservations and isolation configurations, ensuring fair resource allocation and performance isolation among clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If server-side processing is used to manage client requests, then resource management and request rejection capabilities are improved, but processing overhead and latency increase

Engineering Contradiction:
Improveresource management capabilityVSAvoidrequest processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the resource management function from the server process and places it in kernel mode, separating request processing (user mode) from resource management (kernel mode). This allows client requests to be processed quickly in user mode while resource management decisions are made in kernel mode without blocking the fast path.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a kernel-mode resource manager as an intermediary between client requests and storage resources. This mediator monitors resource usage and enforces limits without requiring full server-side processing of each request, reducing latency while maintaining control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If single-sided operations (RDMA) are used for storage access, then storage access speed and CPU decoupling are improved, but server-side resource management capability deteriorates

Engineering Contradiction:
Improvestorage access speedVSAvoidserver-side resource management capability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent extracts resource management functionality from the user-space server process and relocates it to kernel mode, where it can monitor and control RDMA operations without interfering with the high-speed single-sided access path. The kernel-mode manager observes RDMA memory access patterns and enforces resource limits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system enables self-service resource management where the kernel-mode component automatically monitors storage resource usage and throttles client access based on predefined policies, without requiring continuous server intervention. The resource manager autonomously adjusts client access rates to maintain fair resource allocation.

Inventive Principle:
Principle #25Self-service

3Productivity

If client-side rate limiting is implemented, then resource usage control is improved, but global resource awareness and performance isolation capability deteriorate

Engineering Contradiction:
Improveresource usage control efficiencyVSAvoidperformance isolation capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the kernel-mode resource manager continuously monitors global storage resource usage and adjusts client rate limits dynamically. Each client receives feedback about its current usage and the system's overall state, enabling adaptive rate limiting that maintains performance isolation while utilizing available capacity efficiently.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The kernel-mode resource manager serves multiple functions: it monitors global resource usage, enforces per-client rate limits, provides performance isolation between clients, and dynamically adjusts limits based on system conditions. This universal component handles all resource management tasks centrally, improving both control efficiency and isolation capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3495959B1Isolating clients of distributed storage systems
Publication Date: 2020.03.18 GOOGLE LLC
  • EP3495959B1 patent drawingFigure 1A
  • EP3495959B1 patent drawingFigure 1B
  • EP3495959B1 patent drawingFigure 1C

AI summary

A distributed storage system (100) includes memory hosts (110), each including non-transitory memory (114) and a network interface controller (116) in communication with the memory and servicing remote direct memory access requests (122) from clients (120). The memory receives a data transfer rate (313) from each client in communication with the memory host through remote direct memory access. Each memory host also includes a data processor (112) in communication with the memory and the network interface controller. The data processor executes a host process (118) that reads each received client data transfer rate, determines a throttle data transfer rate (317) for each client, and writes each throttle data transfer rate to non-transitory memory accessible by the clients through remote direct memory access.