Hypervisor Clock Cycle Allocation for Distributed Node Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computer systems, nodes often experience delays due to management tasks performed by operating systems, leading to increased synchronization barriers and reduced efficiency in parallel computation across multiple nodes.

Innovation Solution

The method involves configuring hypervisors on each node to allocate specific clock cycles to application and privileged domains, allowing for semi-synchronous execution by synchronizing hardware clocks and switching between domains uniformly, thereby reducing the impact of management tasks on computation time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If operating systems perform management tasks on each node, then system management functionality is improved, but synchronization delay increases and computation efficiency deteriorates

Engineering Contradiction:
Improvesystem management functionalityVSAvoidcomputation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system segments management tasks from application execution by introducing a privileged domain separate from the application domain. The privileged domain executes management tasks while the application domain executes user applications, allowing parallel execution without mutual interference. This segmentation resolves the contradiction by enabling both management functionality and computation efficiency to operate simultaneously on the same node.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention adds a temporal dimension to task execution by using time-sliced virtualization. The hypervisor allocates specific time slots (clock cycles) to different domains, creating a multi-dimensional execution space where management tasks and applications can coexist. This dimensional approach allows the system to maintain both management capabilities and computational productivity without one blocking the other.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If nodes wait for all nodes to reach synchronization barriers, then synchronization accuracy is improved, but execution delay increases

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidexecution delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary synchronization setup by configuring the hypervisor to allocate specific clock cycles to the privileged domain before application execution begins. This pre-configuration ensures that management tasks have predetermined time slots, allowing applications to execute knowing when synchronization points will occur, thereby reducing unexpected delays while maintaining accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements periodic synchronization through regular clock cycle allocations to the privileged domain. By establishing a periodic rhythm where management tasks execute at fixed intervals (every N clock cycles), the system creates predictable synchronization barriers that reduce execution delay while maintaining synchronization accuracy across all nodes.

Inventive Principle:
Principle #19Periodic action

3Productivity

If hypervisors allocate specific clock cycles to privileged domains, then execution overlap is improved, but scheduling complexity increases

Engineering Contradiction:
Improveexecution overlapVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system manages scheduling complexity by changing the parameter of time allocation from continuous to discrete clock cycle units. The hypervisor uses a simple parameter N (number of clock cycles) to control privileged domain execution, transforming a complex continuous scheduling problem into a manageable discrete parameter problem. This parameter change enables execution overlap while keeping scheduling logic relatively simple.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The hypervisor acts as an intermediary layer between the hardware clock and the domains. It mediates the time allocation by intercepting clock cycles and directing them to either the application domain or privileged domain based on the configured schedule. This intermediary approach simplifies scheduling complexity by centralizing time management in a single component rather than requiring complex coordination between multiple components.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If all nodes synchronize clocks and execute semi-synchronously, then synchronization efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvesynchronization efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention applies universality by using a single hypervisor architecture across all nodes in the distributed system. Each node implements the same hypervisor that manages both application and privileged domains with identical clock cycle allocation logic. This universal approach enables synchronization efficiency across nodes while managing system complexity through standardization rather than requiring node-specific complex configurations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8132173B2Method and system for coordinating hypervisor scheduling
Publication Date: 2012.03.06 ORACLE AMERICAN INC
  • US8132173B2 patent drawing
  • US8132173B2 patent drawing
  • US8132173B2 patent drawing

AI summary

A method for executing an application on a plurality of nodes, that includes synchronizing a first clock of a first node of the plurality of nodes and a second clock of a second node of the plurality of nodes, configuring a first hypervisor on the first node to execute a first application domain and a first privileged domain, configuring a second hypervisor on the second node to execute a second application domain and a second privileged domain, and executing the application in the first application domain and the second application domain, wherein the first application domain and the second application domain execute semi-synchronously and the first privileged domain and the second privileged domain execute semi-synchronously.