Time Dependent Service Level Objectives for I/O Operations
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 processes and their instances, leading to inefficient resource allocation and performance variations across different times and applications.
Innovation Solution
A method and system that tag I/O operations with a unique tag value associated with the process name, allowing the data storage system to determine and apply specific service level objectives based on time-specific criteria, using a table that maps process names to service level objective-time frame pairs, and defaults to a lower or higher service level depending on the time criteria met.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single service level objective is applied to all I/O operations, then system simplicity is maintained, but performance optimization for specific processes and time periods is lost
Solution Approach 1:
The patent segments service level objectives by process name and time frames, dividing the monolithic SLO management into granular, process-specific time-dependent SLOs. Each process can have its own SLO profile activated during specific time periods, allowing differentiated performance management without overwhelming complexity through structured organization.
Solution Approach 2:
The patent implements dynamic SLO adjustment by transitioning from static, universal SLOs to time-dependent, process-specific SLOs that automatically activate and deactivate based on current time and process identity. This dynamic approach allows the system to adapt service levels in real-time according to operational requirements while maintaining automated management.
2Adaptability or versatility
If service levels are adjusted dynamically based on process and time, then resource allocation efficiency is improved, but system complexity increases
Solution Approach 1:
The patent applies preliminary action by pre-configuring process names, time frames, and associated SLOs in advance through automated discovery and configuration mechanisms. The system discovers processes, determines their SLO requirements, and sets up time-dependent SLO profiles beforehand, so that during runtime, the system only needs to match current process and time against pre-established rules, reducing runtime complexity while maintaining high adaptability.
Solution Approach 2:
The system implements self-service by automatically discovering processes on the host, determining their service level requirements, and configuring time-dependent SLOs without manual intervention. The automated discovery and configuration mechanisms enable the system to self-manage the complexity of dynamic SLO assignment, allowing high adaptability while minimizing operational burden.
3Reliability
If multiple service level objectives are maintained for different processes, then performance differentiation is achieved, but resource overhead increases
Solution Approach 1:
The patent applies universality by creating a unified time-dependent SLO framework that serves multiple processes with different requirements through a single structured system. Instead of maintaining separate, independent SLO configurations for each process, the universal framework handles process identification, time frame matching, and SLO selection in a consolidated manner, reducing the effective number of active configurations while maintaining comprehensive service level guarantees across all processes.
Data Source
AI summary
Described are techniques for processing I/O operations that may include: issuing, by a process of an application on a host, an I/O operation; tagging the I/O operation with a tag value in accordance with a process name associated with the process that issued the I/O operation; sending the I/O operation from the host to a data storage system; and determining, on the data storage system, an service level objective (SLO) for the I/O operation in accordance with the tag value of the I/O operation. The process name may include a first portion and a second customizable or configurable portion used to distinguish between different instance of the same application process. It may be determined which of multiple time-dependent SLOs for the process name is active and used with the I/O operation based on a receipt or processing time associated with the I/O operation.


