Shared Clock Caching in Distributed Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed storage systems, frequent accesses to a shared clock across a network for time stamping purposes degrade system performance due to the need for constant updates and synchronization across multiple compute nodes.
Innovation Solution
Implement a caching mechanism in compute nodes for the shared clock, where a cached value is used when the time gap before the next update exceeds a threshold, and the actual clock value is read when the update is imminent, thereby reducing unnecessary network access and improving performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If frequent accesses to the shared clock are made across the network for timestamping purposes, then the timestamp accuracy is improved, but the system performance deteriorates
Solution Approach 1:
The patent applies preliminary action by caching the shared clock value in each compute node before it is needed for timestamping operations. The clock value is retrieved from shared storage and stored locally in advance, so that subsequent timestamping operations can use the cached value without accessing the network, thus maintaining timestamp accuracy while improving system performance.
Solution Approach 2:
The patent applies copying by creating local copies of the shared clock value in each compute node's memory. Instead of all compute nodes accessing the same physical clock resource over the network, each node maintains a copy of the clock value, eliminating network access overhead while preserving the ability to generate accurate timestamps.
2Measurement precision
If the shared clock is updated frequently across the network, then the clock synchronization accuracy is improved, but the network traffic and processing overhead increase
Solution Approach 1:
The patent applies periodic action by updating the shared clock in the shared storage at fixed intervals rather than continuously or on every timestamping operation. Compute nodes cache the clock value and use it until the next periodic update, reducing network traffic and processing overhead while maintaining acceptable clock synchronization accuracy through the periodic refreshes.
Data Source
AI summary
A method for reading a shared clock that is stored in a shared storage space of a storage system, the method may include (a) reading by a compute node a cached value of the shared clock when a time gap before a next update of the shared clock exceeds a time threshold, wherein the cached value is cached in the compute node and is valid during an allowable caching period, wherein the shared clock is shared by a group of compute nodes, wherein a default update of the shared clock has a cycle that exceeds the time threshold; and (b) reading by the compute node a read value of the shared clock when the time gap before the next update of the shared clock does not exceed the time threshold, wherein the read value of the shared clock is stored in the shared storage space.


