Policy Engine I/O Scheduling for Shared Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management systems face challenges in efficiently managing shared I/O resources, leading to performance bottlenecks and interference between applications, requiring manual enforcement of I/O usage and separate resource allocation, which is inefficient and costly.

Innovation Solution

Implementing a policy engine that manages I/O scheduling groups through I/O policies, using queues to delay requests and enforce I/O limits based on IOPS and MBPS metrics, allowing for efficient sharing of resources without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If storage is dedicated exclusively to a particular application to avoid interference, then application performance is improved, but device complexity and licensing costs increase

Engineering Contradiction:
Improveapplication performanceVSAvoidstorage allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple applications' I/O operations into a shared storage system, using a single I/O manager to coordinate access. This combines previously separate storage resources into a unified pool that serves multiple applications, reducing overall system complexity while maintaining performance through coordinated I/O scheduling and throttling mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The I/O manager is designed as a universal component that handles I/O operations for multiple different applications through a common interface. This multi-functional approach allows a single storage management system to serve diverse applications with different I/O requirements, eliminating the need for separate dedicated storage management for each application.

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

2Reliability

If I/O intensive jobs are run at off-peak hours or user access is limited, then storage system performance is improved, but productivity decreases

Engineering Contradiction:
Improvestorage system performanceVSAvoidjob completion rate
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic I/O throttling that automatically adjusts I/O rates based on real-time system conditions and application priorities. Instead of static time-based scheduling, the system dynamically modulates I/O operations during runtime, allowing high-priority applications to receive more I/O resources when needed while automatically throttling less critical operations, thereby maintaining productivity without sacrificing performance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The I/O manager incorporates feedback mechanisms that monitor storage system performance metrics and application I/O patterns in real-time. This feedback is used to continuously adjust I/O throttling levels, ensuring that storage performance requirements are met while maximizing overall system productivity through adaptive resource allocation rather than rigid scheduling.

Inventive Principle:
Principle #23Feedback

3Reliability

If manual enforcement of I/O usage is implemented, then I/O resource control is improved, but ease of operation deteriorates

Engineering Contradiction:
ImproveI/O resource controlVSAvoidadministrative overhead
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service I/O management where the I/O manager automatically enforces I/O policies and throttling rules without requiring continuous manual intervention. The system autonomously monitors I/O usage, applies configured policies, and adjusts resource allocation based on real-time conditions, eliminating the need for administrators to manually enforce I/O controls while maintaining reliable resource management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system allows administrators to pre-configure I/O policies and throttling parameters in advance. These preliminary configurations are then automatically executed by the I/O manager without requiring ongoing manual enforcement. The preliminary setup captures the essential control logic, which the system then applies autonomously, reducing administrative overhead while maintaining I/O resource control.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If the number of concurrent I/O intensive users is limited, then storage system performance is improved, but productivity decreases

Engineering Contradiction:
Improvestorage system performanceVSAvoidconcurrent job throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic throttling that continuously adjusts the effective number of concurrent I/O operations based on real-time storage system performance and application priorities. Instead of limiting the absolute number of concurrent users, the system dynamically modulates I/O rates for each application, allowing more concurrent operations when storage capacity is available while automatically reducing concurrency when performance thresholds are approached, thereby maintaining both performance and productivity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9436389B2Management of shared storage I/O resources
Publication Date: 2016.09.06 ORACLE INT CORP
  • US9436389B2 patent drawing
  • US9436389B2 patent drawing
  • US9436389B2 patent drawing

AI summary

Automated management of shared I/O resources involves use of a policy engine for implementing I/O scheduling group I/O policies. The I/O policies are used for determining whether corresponding I/O requests should be issued to a shared storage system immediately or should be delayed via corresponding policy-based queues. In the context of database systems, a database administrator can specify policies regarding how I/O resources should be used and the database system itself enforces the policies, rather than requiring the database administrator enforce the I/O usage of the database and of the individual users.