NVMe Block Store Throttling for Cloud I/O Overload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Routing of input/output (I/O) processing operations to servers can cause performance degradation due to overload, leading to delays and overheating, as servers may be unable to process large volumes of operations within a time duration.

Innovation Solution

Implementing a throttling system at a centralized node in a cloud infrastructure environment to distribute I/O operations across multiple servers, dynamically assigning tasks based on throttling values and processing parameters, and utilizing multiple routing paths to ensure efficient resource allocation and failover.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large volume of I/O processing operations is routed to a server, then the processing capacity utilization is improved, but the server performance degrades due to overload causing delays and overheating

Engineering Contradiction:
Improveprocessing capacity utilizationVSAvoidserver performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the I/O processing operations by routing them through multiple servers in parallel rather than concentrating all operations on a single server. The system divides the workload across a server fleet, with each server handling a portion of the total I/O operations, thereby preventing any single server from becoming overloaded while maintaining high processing capacity utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a controller as an intermediary component between the I/O operations and the servers. The controller receives I/O operations, determines routing paths to appropriate servers based on current system state, and manages the distribution of operations. This intermediary enables intelligent load balancing and prevents direct overload of individual servers while maintaining efficient processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If I/O processing operations are routed to servers, then data processing is enabled, but performance degradation occurs due to routing overhead and server overload

Engineering Contradiction:
Improvedata processing capabilityVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic routing where the controller continuously monitors server status and adjusts routing decisions in real-time. The system dynamically determines optimal routing paths based on current server performance, load conditions, and I/O operation characteristics, enabling adaptive load distribution that minimizes processing delays while maintaining high data processing capability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary routing decisions at the controller before I/O operations reach the servers. By pre-determining routing paths and preparing server allocation strategies in advance, the system reduces processing delays and avoids the overhead of reactive load balancing, thereby improving overall data processing efficiency.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple routing paths are implemented, then system reliability is improved through failover capability, but device complexity increases

Engineering Contradiction:
Improvesystem failover capabilityVSAvoidrouting path management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the routing path management functionality from the servers and concentrates it in the controller. The controller independently handles path determination, monitoring, and failover decisions, while servers simply execute I/O operations on their assigned paths. This extraction simplifies server design and reduces overall system complexity while maintaining robust failover capability through multiple routing paths.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11650745B1Increased data processing performance of a non-volatile memory express (NVME) block store
Publication Date: 2023.05.16 ORACLE INT CORP
  • US11650745B1 patent drawing
  • US11650745B1 patent drawing
  • US11650745B1 patent drawing

AI summary

The present embodiments relate to throttling input/output (IO) processing tasks at a centralized node (e.g., a SmartNIC device) and implement multiple routing paths to prevent performance degradation in handling data patterns. For instance, the centralized node can implement a throttling system to assign portions of a number of input/output operations to be performed to a series of extent servers in a cloud infrastructure environment. The present embodiments also can implement multiple paths and/or multiple path groups to route the assigned portions of the I/O operations. For instance, the assigned portions of I/O operations can be routed to the extent servers via a first path of multiple paths. In the event of a failure of the first path, the assigned portions of I/O operations can be re-directed to a second path or another path in the path group.