Multi-line PLB for Early Tail Release in Log Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Active-active log-structure storage systems face inefficiencies in processing write transactions due to the need for a single large transaction to write pages and parity, leading to log throttling and increased latency, as breaking this transaction into smaller ones requires costly read-modify-write operations.
Innovation Solution
Introducing a multi-line physical layer block (PLB) structure that supports multiple small transactions, allowing pages and parity to be written independently across lines, with a bitmap to manage usage and enable early tail release without read-modify-write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single large transaction is used to write pages and parity to the log, then data consistency is maintained, but log throttling increases and latency increases
Solution Approach 1:
The patent divides the log into multiple independent lines within a physical layer block, allowing write transactions to be segmented across different lines. Each line can be written independently with its own parity, enabling parallel processing of multiple small transactions instead of requiring a single large transaction. This segmentation resolves the contradiction by maintaining data consistency within each line while improving overall write throughput through parallelism.
2Productivity
If the transaction is broken into smaller ones, then log throttling is reduced and latency is reduced, but read-modify-write operations are required which increase complexity
Solution Approach 1:
The log is segmented into multiple lines where each line is an independent write target. This allows small transactions to be written directly without requiring read-modify-write operations, as each line can be appended to independently. The segmentation eliminates the complexity issue while maintaining the productivity benefits of smaller transactions.
Solution Approach 2:
The patent introduces a bitmap as an intermediary data structure to track which lines within a physical layer block have been written. This bitmap manages the complexity of tracking multiple partial transactions, allowing the system to handle small transactions efficiently without requiring complex read-modify-write operations. The bitmap serves as a mediator that simplifies the transaction management process.
3Productivity
If multiple partial transactions are supported, then capacity utilization is enhanced and parallel processing is enabled, but the data structure complexity increases
Solution Approach 1:
The physical layer block is segmented into multiple lines, each capable of holding partial transactions. This segmentation enables parallel processing of multiple transactions simultaneously while keeping each line's data structure relatively simple. The overall complexity is managed by the modular nature of the segmented structure.
Solution Approach 2:
The bitmap acts as an intermediary that manages the complexity of tracking multiple partial transactions across lines. It provides a simple mechanism to record which lines have been written, enabling parallel processing without requiring complex data structure management. The bitmap absorbs the complexity burden, keeping the line structures themselves relatively simple.
Data Source
AI summary
A method, computer program product, and computer system for obtaining, by a computing device, one or more pages from a log to complete a write transaction. Parity of a line in a multi-line physical layer block may be calculated. The one or more pages may be written to the line in the multi-line physical layer block. The parity to the line may be written in the multi-line physical layer block. A bitmap associated with the physical layer block may be updated based upon, at least in part, writing the one or more pages and the parity to the line in the multi-line physical layer block.


