Disk IO Attribution via Cache Manager Pointer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems lack accurate accounting for disk Input/Output (IO) operations, leading to overcounts and undercounts, and are unable to attribute IOs that are buffered or performed indirectly, making it difficult to assess system performance effectively.

Innovation Solution

A system and method for attributing disk IO to system entities by generating a disk IO attribution context that defines utilization parameters, attaching a pointer to system entities to prompt reporting from system components, and recording these parameters, enabling accurate tracking of IO operations, including direct and indirect IOs, and buffered writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If estimates are made about whether an IO would eventually end up hitting the disk, then disk IO accounting can be performed without detailed tracing, but the estimates lead to over counts and under counts

Engineering Contradiction:
Improvedisk IO accounting efficiencyVSAvoiddisk IO count accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent introduces a cache manager as an intermediary component that tracks IO operations from the point they are issued by processes until they are either satisfied from cache or actually written to disk. The cache manager maintains attribution information that links IO operations to their originating processes, allowing accurate accounting without requiring detailed tracing of every IO path through the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback mechanisms where the cache manager continuously monitors and updates IO attribution information as IO operations progress through the caching layer. This feedback loop ensures that when IO operations are eventually written to disk, the original process attribution is preserved and can be accurately recorded, eliminating both overcounts and undercounts.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If detailed IO tracing analysis tools are used to determine disk time, then accurate disk time measurement is achieved, but the tools are expensive and complex

Engineering Contradiction:
Improvedisk time measurement accuracyVSAvoidtracing analysis tool complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having the cache manager establish and maintain IO attribution context and timing information at the point where IO operations are first issued and when they are queued for disk writing. By pre-tracking the time when IO operations are placed in the disk queue and when they are actually written, the system eliminates the need for complex post-hoc tracing analysis tools to determine disk time consumption.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If buffered writes are used to modify files, then write performance is improved, but the source process of disk IO operations cannot be attributed

Engineering Contradiction:
Improvewrite performanceVSAvoidprocess attribution information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The cache manager serves as an intermediary that maintains process attribution information throughout the buffered write process. When a process performs buffered writes, the cache manager captures the process identity and associates it with the IO operation in the attribution context. This information is preserved through the buffering process and when the data is eventually written to disk, ensuring that the original source process can be accurately identified despite the delayed actual disk I/O.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10101920B2Disk I/O attribution
Publication Date: 2018.10.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10101920B2 patent drawing
  • US10101920B2 patent drawing
  • US10101920B2 patent drawing

AI summary

Embodiments disclosed herein are related to systems and methods for attributing disk Input/Output (IO) to one or more system entities. A disk IO attribution context is generated that defines disk IO utilization parameters for a system entity. A pointer is attached to the system entity that points to the disk IO attribution context. The pointer is exposed to system components of an underlying computer system. The pointer prompts the system components to report the disk IO utilization parameters when the system components have performed a disk IO operation for the system entity. The disk IO utilization parameters reported by the one or more system components are recorded in the disk IO attribution context.