NVMe Block Store Throttling for Cloud I/O Overload
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If multiple routing paths are implemented, then system reliability is improved through failover capability, but device complexity increases
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.
Data Source
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.


