Lockless Shared Data Structure Updates in Emulated Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoidcommunication performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If locks are used to serialize operations, then data consistency is maintained, but operation speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidoperation speed
Core Design Contradiction:
Stability of the object's compositionVSSpeed

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.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If locks are used for shared data structure updates, then serialization is achieved, but system complexity increases due to recovery procedures

Engineering Contradiction:
Improveserialization capabilityVSAvoidrecovery procedure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7743234B2Facilitating communication within an emulated processing environment
Publication Date: 2010.06.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7743234B2 patent drawing
  • US7743234B2 patent drawing
  • US7743234B2 patent drawing

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.