Local Timer Management for Multiprocessor Synchronization Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor environments, existing timing mechanisms face challenges in efficiently managing synchronization overhead for global timers, leading to performance issues due to the need for frequent checks for expiration across multiple logical processors.

Innovation Solution

The introduction of a dedicated local timer that sets its expiration time to the earliest expiration time of associated global timers, allowing global timers to be tested for expiration only when the local timer expires, thereby reducing synchronization overhead and eliminating the need for frequent checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If global timers are synchronized with locks to prevent race conditions, then reliability is improved, but device complexity and synchronization overhead increase

Engineering Contradiction:
Improverace condition preventionVSAvoidsynchronization overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments timer management into local timer structures (per logical processor) and global timer structures (shared), where each logical processor has its own local timer that independently tracks expiration times without requiring locks for basic operations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The local timer structure acts as an intermediary between the logical processor and global timers, handling timing operations locally and only requiring synchronization when modifying global timer structures, thereby reducing the frequency and scope of lock operations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If frequent checks for global timer expiration are performed across multiple logical processors, then measurement precision is improved, but productivity deteriorates due to performance overhead

Engineering Contradiction:
Improvetimer expiration detectionVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

Each logical processor maintains its own local timer structure with expiration time information, allowing the processor to check its local timer without requiring access to or synchronization with other processors' timer data, thereby enabling precise expiration detection without cross-processor overhead

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system pre-calculates and stores expiration times in local timer structures before they are needed, allowing logical processors to simply compare current time against pre-computed expiration values rather than performing complex real-time calculations or frequent checks of global timer states

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7941688B2Managing timers in a multiprocessor environment
Publication Date: 2011.05.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7941688B2 patent drawing
  • US7941688B2 patent drawing
  • US7941688B2 patent drawing

AI summary

Timers are managed in a multiprocessing environment. Some timers are local to a given logical processor; such a local timer is inserted on and will be canceled only from that logical processor. Other timers are global to a logical processor. A global timer which was inserted on a given logical processor may be canceled from that logical processor or from another logical processor. Global timers are serviced in response to expiration of an associated local timer.