Distributed Transactional Memory Clock Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed transactional memory systems, synchronizing nodes within a cluster to ensure precise timing and integrity is challenging, particularly when nodes fail or reconfigure, as existing solutions rely on expensive external clocks and lack efficient mechanisms for maintaining clock synchronization and transaction serialization.

Innovation Solution

Implementing a method where each node maintains a local clock synchronized with a master clock, using measures of uncertainty to account for clock drift and uncertainty, allowing for optimistic concurrency control and RDMA reads to improve access speed and prevent bottlenecks, while enabling the cluster to re-synchronize the master clock without external resilient clocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a resilient master clock signal is provided to each node in the cluster, then clock synchronization precision is improved, but system cost and complexity increase

Engineering Contradiction:
Improveclock synchronization precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the master clock function from external resilient clock systems and implements it using local clocks within the cluster nodes. Each node maintains a local clock that can serve as a master clock, eliminating the need for expensive external clock distribution infrastructure while maintaining synchronization precision through software-based coordination.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cluster nodes perform self-synchronization using their own local clocks without requiring external clock signals. The system uses internal timestamp comparison and coordination protocols to maintain synchronization, allowing the system to serve its own timing needs without external dependencies.

Inventive Principle:
Principle #25Self-service

2Reliability

If strict sequential transaction ordering is enforced across all nodes, then transaction integrity is improved, but system performance and throughput deteriorate

Engineering Contradiction:
Improvetransaction integrityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements transaction ordering at the local node level rather than enforcing global sequential ordering across all nodes. Each node maintains its own transaction queue and ordering, allowing parallel transaction processing across different nodes while ensuring integrity within each node's local transaction sequence.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system segments the transaction ordering function into individual node responsibilities rather than centralized control. Each node independently manages its own transaction sequencing using local timestamps, dividing the global ordering problem into manageable local segments that can operate in parallel.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If local clocks are used instead of external resilient clocks, then system cost is reduced, but clock synchronization reliability deteriorates

Engineering Contradiction:
Improvesystem costVSAvoidclock synchronization reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where nodes continuously exchange timestamp information and adjust their local clocks based on observed drift and synchronization status. This closed-loop control compensates for the lack of external resilient clock signals, maintaining synchronization reliability through active monitoring and adjustment.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary clock synchronization and drift compensation before transactions occur. Nodes pre-coordinate their timing and establish synchronization bounds in advance, allowing them to operate reliably with local clocks without requiring real-time external clock signals during transaction execution.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10929376B2Performing transactions in distributed transactional memory systems
Publication Date: 2021.02.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10929376B2 patent drawing
  • US10929376B2 patent drawing
  • US10929376B2 patent drawing

AI summary

In various examples, there is provided methods performed by nodes in a cluster of nodes for performing transactions comprising one or more read operations and/or one or more write operations. The node comprises a local clock which is synchronized with a master clock and maintains a measure of uncertainty indicating current minimum and maximum values of the master clock. The method to perform transactions involving read operations generates a read timestamp representing a point in time which is earlier than a current minimum value of the master clock. The method then reads the objects and determines, for each of them, whether a timestamp associated with that object is later than the read timestamp. If so, an error handling procedure is performed for that object.