Multi-Queue I/O Throttling via Weighted Credit Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for sharing multi-queue resources do not effectively utilize the high bandwidth provided by modern processors and resources, leading to inefficient processing of I/O requests from multiple process groups.

Innovation Solution

An I/O throttling method that sets a total credit for a multi-queue capable resource, allocates individual credits to process groups based on their weights, and selectively dispatches I/O requests by consuming these credits, thereby efficiently managing access to the resource.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing methods for sharing multi-queue resources are used, then resource access is allowed, but the high bandwidth provided by modern processors is not effectively utilized

Engineering Contradiction:
ImproveI/O request processing efficiencyVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system pre-allocates credits to process groups based on their weights before I/O requests arrive. This preliminary credit allocation enables the system to immediately process I/O requests using pre-configured bandwidth portions, effectively utilizing the high bandwidth capacity of modern processors without waiting for dynamic allocation decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The total bandwidth is segmented into multiple credit portions, each allocated to different process groups based on their weights. This segmentation allows parallel processing of I/O requests from multiple process groups simultaneously, fully utilizing the multi-queue capability and high bandwidth of modern processors.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple process groups access the multi-queue resource simultaneously, then resource utilization increases, but inefficient processing of I/O requests occurs

Engineering Contradiction:
Improveresource utilizationVSAvoidI/O request processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts the credit allocation and consumption rate based on the weight of each process group. Process groups with higher weights consume credits faster and receive preferential treatment in I/O request processing, while lower-weight groups consume credits more slowly. This dynamic mechanism optimizes processing time by ensuring that critical processes receive timely service while maintaining high overall resource utilization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10346205B2Method of sharing a multi-queue capable resource based on weight
Publication Date: 2019.07.09 SAMSUNG ELECTRONICS CO LTD
  • US10346205B2 patent drawing
  • US10346205B2 patent drawing
  • US10346205B2 patent drawing

AI summary

An input/output (I/O) throttling method of a process group, performed with respect to a multi-queue capable resource, includes setting a total credit corresponding to the multi-queue capable resource, allocating an individual credit to the process group based on the total credit and a weight of the process group, and selectively dispatching an I/O request of the process group to a multi-queue manager by consuming at least a part of the individual credit.