Automated I/O Tagging Engine for Dynamic Service Level Objective Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage systems lack the ability to dynamically adjust service level objectives (SLOs) for I/O operations based on specific application processes and time-dependent factors, leading to inefficient resource allocation and potential performance violations.
Innovation Solution
A method and system that process I/O operations by receiving an I/O operation with a tag value, determining whether it is directed to a database file or log file, and adjusting the service level objective (SLO) based on the database configuration, which can be either in-memory or on-disk, and time-dependent SLOs specified for each process, allowing for asynchronous flushing of updates and monitoring of I/O statistics to match profiles and adjust SLOs accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single default service level objective is used for all I/O operations, then system complexity is reduced and ease of operation is improved, but application performance requirements cannot be optimized and resource allocation efficiency deteriorates
Solution Approach 1:
The patent segments SLO configuration by dividing it into multiple levels: default SLO for general I/O operations and process-specific SLOs for particular database processes. This segmentation allows the system to maintain simple default configurations while enabling optimized SLOs for specific processes that require them, thus resolving the contradiction between operational simplicity and resource allocation efficiency.
Solution Approach 2:
The system dynamically adjusts SLOs based on process identification and configuration settings. The data storage system monitors I/O operations, identifies database processes, and automatically applies appropriate SLOs based on process-specific configurations. This dynamic approach enables the system to switch between simple default SLOs and optimized process-specific SLOs, maintaining ease of operation while improving resource allocation efficiency for critical processes.
2Productivity
If process-specific service level objectives are implemented for database processes, then application performance is optimized and resource allocation efficiency is improved, but system complexity increases and ease of operation deteriorates
Solution Approach 1:
The system implements self-service by automatically identifying database processes through tagging mechanisms and applying appropriate SLOs without requiring manual configuration for each process. The data storage system autonomously monitors I/O operations, identifies database-related processes, and applies configured SLOs based on process characteristics, thereby reducing operational complexity while maintaining performance optimization.
Solution Approach 2:
The system uses feedback mechanisms to monitor I/O operations and process performance, automatically adjusting SLO application based on observed patterns. By continuously monitoring process behavior and performance metrics, the system can dynamically apply appropriate SLOs, reducing the need for complex manual configuration while maintaining optimized performance for database processes.
3Productivity
If service level objectives are adjusted dynamically based on process and time factors, then resource allocation efficiency is improved and application performance is optimized, but system complexity increases and reliability may deteriorate
Solution Approach 1:
The system implements preliminary action by pre-configuring process-specific SLOs for identified database processes before runtime variations occur. Administrators can define SLO configurations in advance for specific processes, and the system automatically applies these pre-configured SLOs when the corresponding processes are detected, ensuring stable and predictable behavior while maintaining dynamic adaptability.
Solution Approach 2:
The system changes parameters selectively rather than globally, adjusting SLOs only for identified database processes while maintaining default SLOs for other operations. This selective parameter change approach allows dynamic optimization for specific processes without introducing system-wide complexity or instability, thereby maintaining reliability while improving resource allocation efficiency.
4Measurement precision
If monitoring and analysis of I/O patterns is performed to match profiles, then service level objective accuracy is improved and application performance is optimized, but processing overhead increases and productivity may deteriorate
Solution Approach 1:
The system applies partial action by performing comprehensive I/O pattern monitoring only for identified database processes while using simpler classification for other operations. By focusing detailed monitoring and profile matching only where needed (database processes), the system achieves high measurement precision for critical operations without incurring excessive processing overhead across all I/O operations, thus maintaining productivity.
Data Source
AI summary
Techniques for processing I/O operations may include: receiving, an I/O operation including a tag value denoting a process of a database application that issued the I/O operation; determining, in accordance with the tag value, whether the I/O operation is directed to a data file storing content of a database or a log file of recorded operations of the database; and responsive to determining the I/O operation is directed to a data file storing content of the database, performing processing including: determining a current configuration setting of the database that indicates whether the database is configured for use with the database application as an in-memory database; and determining, in accordance with current configuration setting of the database, a first service level objective for the I/O operation, wherein the first service level objective for the I/O operation is a default service level objective or a revised service level objective.


