Virtual Machine Time Synchronization in Multi-Processor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current timing solutions in multi-processor virtualized systems often fail to provide accurate and fast current time readings without occasionally reporting a time that appears to move backwards, due to synchronization challenges between time sources.

Innovation Solution

A virtual machine determines the current time by comparing a time stamp from one of multiple processors to a virtual machine time stamp, ensuring that if the time stamp is less, it returns the virtual machine time stamp, and if not, it generates a computed value based on the approximation and global time stamp, ensuring time never appears to move backwards.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current timing solutions are used in multi-processor virtualized systems, then time readings can be obtained, but time may occasionally appear to move backwards due to synchronization issues between time sources

Engineering Contradiction:
Improvetime reading accuracyVSAvoidtime stamp accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system pre-calculates and stores a virtual machine time stamp value that is guaranteed to be greater than any possible processor time stamp reading. This preliminary action ensures that when time readings are taken, the system can immediately return the pre-computed virtual machine time stamp without risk of reporting a backward time movement, thus resolving the contradiction between reliability and measurement precision.

Inventive Principle:
Principle #10Preliminary action

2Speed

If fast time readings are provided in multi-processor systems, then response speed improves, but synchronization errors cause time to occasionally appear to move backwards

Engineering Contradiction:
Improvetime reading speedVSAvoidtime progression consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary computation of the virtual machine time stamp value, adding the maximum possible processor time stamp difference to the current time. This pre-computation allows the system to return time readings at maximum speed without subsequent synchronization checks, guaranteeing that time will never appear to move backwards while maintaining fastest possible response speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system adds a cushioning time value (maximum possible processor time stamp difference) to the current time when computing the virtual machine time stamp. This beforehand cushioning compensates for any potential synchronization delays or variations between processors, ensuring that even if a processor takes longer to respond, the reported time will never move backwards, thus maintaining both speed and reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS8359488B2Keeping time in multi-processor virtualization environments
Publication Date: 2013.01.22 RED HAT INC
  • US8359488B2 patent drawing
  • US8359488B2 patent drawing
  • US8359488B2 patent drawing

AI summary

A virtual machine receives a request for a current time. The virtual machine determines an approximation of the current time based on readings from one of a plurality of processors and compares the approximation to a virtual machine time stamp value. If the approximation is smaller than the virtual machine time stamp value, the virtual machine returns the global time stamp value as the current time and if the approximation is not smaller than the virtual machine time stamp value, the virtual machine returns the approximation as the current time.