Inter-VM I/O Profiling via Shared Timer Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines running on shared hardware resources face challenges in synchronizing timing references and profiling I/O requests across multiple operating systems, leading to inefficiencies in resource allocation and performance monitoring.

Innovation Solution

A method involving shared memory for timer values, where one virtual machine writes and another reads kernel timing parameters to facilitate a common timing reference, and embeds these values in I/O requests to profile processing delays across virtual machines and the hypervisor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual machines share hardware resources without a common timing reference, then resource sharing capability is improved, but timing synchronization accuracy deteriorates

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidtiming synchronization accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent introduces a shared memory location as an intermediary between virtual machines and the hypervisor. Timer values are written to this shared memory by the hypervisor in response to hardware timer interrupts, and read by virtual machines for timing synchronization. This intermediary structure enables accurate timing reference sharing across virtual machines while maintaining resource virtualization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If virtual machines use independent timing references, then operational independence is improved, but I/O transaction profiling accuracy deteriorates

Engineering Contradiction:
Improveoperational independenceVSAvoidI/O transaction profiling accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent implements a feedback mechanism where timer values are continuously written to shared memory by the hypervisor in response to hardware timer interrupts. Virtual machines read these timer values to profile I/O transactions, creating a feedback loop that enables accurate timing measurement while maintaining operational independence. The timer values provide feedback information about system timing state to all virtual machines.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If a common timing reference mechanism is implemented across virtual machines, then timing synchronization accuracy is improved, but system complexity deteriorates

Engineering Contradiction:
Improvetiming synchronization accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the timing reference system into distinct components: hardware timer interrupts at the physical level, hypervisor-level timer value generation, shared memory for timer value storage, and virtual machine-level timer value reading. This segmentation allows each component to operate independently with well-defined interfaces, reducing overall system complexity while enabling accurate timing synchronization.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If timer values are stored in shared memory accessible by multiple virtual machines, then timing reference accessibility is improved, but memory access contention deteriorates

Engineering Contradiction:
Improvetiming reference accessibilityVSAvoidmemory access efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent uses copying by having the hypervisor write timer values to shared memory in response to hardware timer interrupts, and virtual machines read these copied values for their timing operations. This copying mechanism allows multiple virtual machines to access timing information without direct contention for the timer hardware itself, improving memory access efficiency while maintaining timing reference accessibility.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8468524B2Inter-virtual machine time profiling of I/O transactions
Publication Date: 2013.06.18 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8468524B2 patent drawing
  • US8468524B2 patent drawing
  • US8468524B2 patent drawing

AI summary

Disclosed is a virtual machine system where hardware timer interrupts are processed by a first virtual machine. The first virtual machine writes a timer value to a shared memory location while processing the hardware timer interrupt. The timer value may be based on a kernel timing parameter maintained by the operating system of the first virtual machine. A second virtual machine may read the shared timer value from the shared memory location in order to time inter-virtual machine processes such as I/O processing and I/O requests.