Snap Value Time Synchronization in Distributed Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing time synchronization methods in distributed storage systems require suspending user operations, causing delays due to the need for two-phase commit protocols and message exchanges between nodes.
Innovation Solution
Implementing a single-phase commit operation for incrementing snap values stored in distributed storage nodes, allowing for timestamp-based synchronization without suspending user operations by using a single source of truth updated via atomic operations, with backup instances and mirroring to reduce latency and hotspots.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a two-phase commit protocol is used for time synchronization, then time consistency among nodes is ensured, but user operations are suspended causing delay
Solution Approach 1:
The patent segments the time synchronization process from user operations by introducing a separate snap value increment mechanism. The snap value is incremented independently in a single phase, while user operations can proceed concurrently by reading the current snap value and timestamps, thus eliminating the need to suspend operations for synchronization.
Solution Approach 2:
The snap value is incremented in advance before user operations need to access synchronized time information. This preliminary action allows user operations to simply read the pre-incremented snap value and associated timestamps without waiting for any commit protocol, thereby eliminating operation delays.
2Reliability
If message exchange between nodes is performed for time synchronization, then common time is established, but system overhead and latency increase
Solution Approach 1:
The patent extracts the time synchronization function from the traditional distributed consensus message exchange mechanism. By maintaining a centralized snap value that can be incremented independently and read by all nodes, the system eliminates the need for complex inter-node message exchanges while still achieving time synchronization.
Solution Approach 2:
Instead of having nodes exchange messages to establish common time, the patent uses a single source of truth (the snap value) that is copied or read by all nodes. Each node obtains the current time state by reading the snap value and its associated timestamps, eliminating the need for iterative message exchange protocols.
3Measurement precision
If snap value incrementation is performed frequently, then time synchronization precision is improved, but I/O operation overhead increases
Solution Approach 1:
The snap value is incremented periodically rather than continuously or with every user operation. This periodic incrementation balances the need for time synchronization precision with the need to minimize I/O overhead, as nodes can read the snap value and timestamps without triggering frequent write operations.
Solution Approach 2:
The snap value is incremented in advance and stored with associated timestamps before user operations require it. This allows multiple user operations to read the same pre-incremented value without triggering additional I/O operations, thus reducing overall I/O overhead while maintaining synchronization precision.
Data Source
AI summary
A system and method for time synchronization. The method includes incrementing at least one instance of a snap value, wherein the at least one instance is stored in at least one storage node of a distributed storage system, wherein each of the at least one instance is incremented using a single-phase commit operation, wherein each of the plurality of storage nodes includes at least one timestamp, wherein each timestamp indicates a corresponding snap time, wherein each snap time is determined by reading one of the at least one instance at a time of creation of the corresponding timestamp.


