Process-State-Aware Queues for Concurrent Synchronous Writes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Synchronous writing in operating systems is time-consuming and affects system performance, especially in multi-threaded scenarios, with existing techniques either ensuring data integrity at the cost of speed or vice versa.
Innovation Solution
A method and device that manage command queues by using a process state table to ensure synchronous write commands are ordered and added to the queue efficiently, reducing the need for order-preserving commands, particularly in multi-threaded environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If synchronous write commands are processed without order-preserving commands in multi-threaded environments, then write speed increases, but data integrity cannot be ensured
Solution Approach 1:
The patent introduces order-preserving commands as intermediary elements in the command queue. These special commands act as mediators that coordinate between multiple threads issuing synchronous write commands, ensuring that data integrity is maintained while allowing concurrent processing. The order-preserving commands insert themselves into the command queue at appropriate positions to maintain write ordering without requiring complete serialization of all write operations.
Solution Approach 2:
The system dynamically adjusts the insertion behavior of order-preserving commands based on the current state of the command queue and process state table. When multiple synchronous write commands from the same process are detected, the system dynamically inserts order-preserving commands to maintain proper ordering. This dynamic approach allows the system to optimize performance by only inserting order-preserving commands when necessary, rather than serializing all writes.
2Reliability
If order-preserving commands are issued for every synchronous write command, then data integrity is ensured, but system performance deteriorates
Solution Approach 1:
The patent applies order-preserving commands selectively rather than universally. The system examines the process state table to determine whether previous synchronous write commands from the same process are already in the command queue. Order-preserving commands are inserted only in the local context where needed - specifically when multiple synchronous writes from the same process are detected - rather than inserting them for every write operation system-wide.
Solution Approach 2:
The system changes the parameter of command insertion behavior based on process state. By tracking which processes have synchronous write commands in the queue and modifying the insertion logic accordingly, the system adapts its behavior to maintain data integrity only when necessary. This parameter-based control allows the system to reduce the frequency of order-preserving command insertion, improving overall performance while maintaining reliability.
3Reliability
If synchronous write commands are serialized to maintain order, then data integrity is ensured, but write speed decreases
Solution Approach 1:
The patent segments the write command processing into independent units that can be concurrently processed. Instead of serializing all synchronous write commands from all processes, the system allows concurrent processing of commands from different processes while using order-preserving commands to maintain ordering only within the same process. This segmentation enables parallel execution where possible, improving write speed while maintaining integrity.
Solution Approach 2:
The system dynamically determines the level of serialization needed based on process state. By tracking which processes have commands in the queue and adjusting the insertion of order-preserving commands accordingly, the system maintains data integrity dynamically rather than through static serialization. This allows the system to maximize concurrency while ensuring proper ordering only when necessary for the same process.
Data Source
AI summary
A synchronous write method includes: receiving a synchronous write command of a process; if a process state table indicates that another synchronous write command of the process has not been added to a command queue, adding the synchronous write command to the command queue; if the process state table indicates that the other synchronous write command has been added to the command queue, adding an order preserving command to the command queue, and then adding the synchronous write command to the command queue; and sending commands in the command queue to a storage device according to the order of the commands in the command queue. The order preserving command is used to indicate that a synchronous write commands located before the order preserving command in the command queue is to be executed prior to the synchronous write command by the storage device.


