Parallel Global State Updates via Temporary Buffer Deltas
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor environments, parallelizing updates to global state is challenging due to potential inconsistencies and conflicts, leading to inefficiencies such as frequent locking and increased complexity, which hampers throughput in storage servers.
Innovation Solution
The method involves making updates to a copy of the global state in a temporary buffer during file system changes, allowing parallel processing without explicit locking, and merging deltas into the global state only when consistent, thus reducing the need for frequent synchronization operations and minimizing code disturbance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If mutual exclusion locks are used to update global state, then consistency is maintained, but throughput decreases due to frequent blocking and contention
Solution Approach 1:
The patent segments the global state into individual counter components that can be updated independently. Instead of locking the entire global state structure, the system divides it into separate updateable elements, allowing multiple processors to update different counters simultaneously without mutual exclusion, thereby maintaining consistency while improving throughput
Solution Approach 2:
The patent creates a copy of the global state structure that can be updated independently without affecting the original. This copying mechanism allows parallel updates to proceed without blocking, and the copied updates can be applied to the original global state in a controlled manner, resolving the contradiction between consistency and throughput
2Productivity
If individual locks are taken for each global counter update, then parallelism is increased, but system complexity and overhead increase
Solution Approach 1:
The patent merges the locking mechanism into the counter update operations themselves. Rather than implementing separate lock acquisition and release operations for each counter, the update functions incorporate synchronization directly within the counter modification logic, reducing overhead and simplifying the overall system architecture while maintaining parallel update capability
Data Source
AI summary
A method and apparatus for synchronizing updates to a large set of global counters are described. In one embodiment, the method includes making updates to a global state in response to a file system making changes to data in memory. In parallel, updates are made to a copy of the global state in a temporary buffer in response to the file system flushing the data changes to a mass storage device. The temporary buffer thus includes a set of deltas representing the changes to be made to the global state in response to the changed data in memory being pushed to the mass storage device. The method further includes merging the deltas in the temporary buffer with the global state.


