Metadata Streamer Parallel Processing Filtered Transaction Logs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in efficiently managing and processing transaction logs for metadata operations in large-scale distributed storage systems, particularly in supporting multiple parallel metadata operations while maintaining minimal processing overhead and responsiveness.
Innovation Solution
A novel metadata streamer configuration is introduced that sequentially retrieves log entries from a transaction log and uses multiple transaction log filters to selectively provide subsets of these entries to metadata operations, allowing these operations to execute in parallel, with features like fanout sockets for replication and reference counters for managing completion notifications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple metadata operations are supported in a distributed storage system, then the functionality and versatility of the system improve, but the processing overhead and complexity of the metadata streamer increase
Solution Approach 1:
The patent divides the metadata streamer into multiple independent worker threads, each responsible for processing a specific metadata operation type. This segmentation allows the system to support multiple metadata operations (replication, notification, indexing, garbage collection, data scrub, parameter calculation) simultaneously while keeping each worker thread's complexity manageable and focused on a single operation type.
Solution Approach 2:
The patent creates a universal metadata streamer architecture where a single streamer instance can handle multiple types of metadata operations through its multiple worker threads. Each worker thread is configured to process specific operation types, making the overall streamer multi-functional and adaptable to various metadata operation requirements without requiring separate streamers for each operation.
2Productivity
If multiple metadata operations are processed in parallel, then the productivity and efficiency of the system improve, but the difficulty of managing and coordinating these operations increases
Solution Approach 1:
The patent implements a reference counting mechanism where each log entry maintains a reference count that tracks how many worker threads are currently processing it. When the reference count reaches zero, the log entry can be safely removed or recycled. This feedback mechanism automatically coordinates parallel operations and manages resource lifecycle without requiring complex external coordination logic.
Solution Approach 2:
Each worker thread independently manages its own processing of metadata operations and automatically notifies the system when processing is complete. The reference counting system enables log entries to self-manage their own lifecycle by tracking their own processing status, eliminating the need for centralized coordination of each operation's completion and resource release.
3Reliability
If log entries are retained for parallel processing by multiple metadata operations, then the reliability of the processing increases, but the loss of time for log entry management and the processing overhead increase
Solution Approach 1:
The reference counting mechanism provides real-time feedback on the processing status of each log entry. When all worker threads that need to process a log entry have completed their work, the reference count automatically decrements to zero, triggering immediate log entry release. This ensures reliable processing (all operations complete successfully) while minimizing log entry retention time to only what is absolutely necessary.
Solution Approach 2:
The system performs preliminary actions by pre-allocating and initializing the reference counting structure for log entries before they enter parallel processing. This preliminary setup enables automatic and efficient resource management during parallel processing, ensuring that log entries are released immediately when processing is complete without requiring additional coordination overhead.
Data Source
AI summary
Example storage systems and methods provide data storage management using parallel processing of filtered transaction logs. Transaction logs are comprised of log entries corresponding to storage operations for at least one storage node. Sets of log entries are sequentially retrieved from the transaction log and filtered through multiple transaction log filters to generate multiple subsets of the log entries. Different metadata operations are executed in parallel using the different filtered subsets of log entries.


