Lockless Shared Data Structure Updates in Emulated Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication methods in processing environments, such as those using the z/Architecture, face performance issues and require recovery procedures due to the use of locks for updating shared data structures.
Innovation Solution
A lockless capability is provided to facilitate communication between processors and I/O processes by enabling the update of shared information and queuing operations without using locks, employing compare and swap operations to ensure atomic updates of control blocks and queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If locks are used to update shared data structures, then data integrity is preserved, but performance deteriorates and recovery procedures are required
Solution Approach 1:
The patent extracts the locking mechanism from the communication path between processor and I/O process. By using lockless data structures with version numbers and compare-and-swap operations, the harmful locking overhead is removed while maintaining data integrity through alternative synchronization mechanisms.
Solution Approach 2:
The patent changes the state parameters of data structures by incorporating version numbers and using atomic compare-and-swap operations. Instead of using locks to control access, the system uses version number increments and atomic operations to ensure data integrity, fundamentally changing how synchronization is achieved.
2Stability of the object's composition
If locks are used to serialize operations, then data consistency is maintained, but operation speed decreases
Solution Approach 1:
The data structures become self-synchronizing through version numbers and atomic operations. Each data structure carries its own version information, allowing processes to independently verify consistency without external locking control. The compare-and-swap operations provide self-service synchronization that maintains consistency while enabling parallel execution.
3Ease of operation
If locks are used for shared data structure updates, then serialization is achieved, but system complexity increases due to recovery procedures
Solution Approach 1:
The patent extracts the recovery procedure complexity from the system by eliminating locks entirely. Without locks, there are no deadlocks to resolve and no complex recovery procedures needed. The version number mechanism provides automatic serialization without the overhead of lock management and recovery logic.
Data Source
AI summary
Communication between processors and I/O communications processes is facilitated. During the communication, shared control blocks and input/output queues are updated without using locks. Instead, a lockless capability is provided to update the queues and control blocks, thereby enhancing system performance and minimizing the need for recovery processes.


