Chained Serializing Synchronization for Event Notification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Event notification type synchronization implementations lack benefits such as priority inheritance, deadlock detection, and performance improvements available with serializing synchronization, particularly in scenarios involving a single signaling thread and multiple waiting threads.

Innovation Solution

The method achieves event notification type synchronization by chaining re-locking of two serializing synchronization objects, allowing a signaling thread to signal events while maintaining priority inheritance and deadlock detection features, and optimizing performance by avoiding OS privileged mode entries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If event notification type synchronization is implemented using traditional mechanisms, then event signaling capability is provided, but priority inheritance and deadlock detection features are lost

Engineering Contradiction:
Improvepriority inheritance and deadlock detectionVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges event notification synchronization with serializing synchronization by having the signaler thread acquire the serializing synchronization object after signaling. This combination allows waiting threads to inherit the signaler's priority and enables deadlock detection while maintaining event notification functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The serializing synchronization object serves multiple functions: it provides serializing synchronization for resource access and simultaneously enables priority inheritance and deadlock detection for event notification. This multi-functionality resolves the contradiction by making a single mechanism provide both event signaling and reliability features.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If OS privileged mode entries are used for synchronization operations, then event notification is achieved, but performance is degraded

Engineering Contradiction:
Improvesynchronization performanceVSAvoidOS privileged mode usage
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the synchronization operations from the OS privileged mode path by implementing event notification using user-space serializing synchronization objects. This removal of OS intervention eliminates performance degradation while maintaining synchronization functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The synchronization mechanism serves itself by using user-space serializing objects that do not require OS privileged mode entries. The system handles its own synchronization needs through self-contained mutex operations, avoiding the performance overhead of kernel transitions.

Inventive Principle:
Principle #25Self-service

3Reliability

If serializing synchronization is used for event notification, then priority inheritance is gained, but the mechanism must support chained re-locking of two objects

Engineering Contradiction:
Improvepriority inheritanceVSAvoidoperation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the event notification process into distinct phases: the signaler acquires the first serializing object for signaling, then acquires a second serializing object for the actual wait condition. This segmentation allows priority inheritance while organizing the complex chained re-locking operations into manageable, well-defined steps.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9983913B2Chained use of serializing synchronization to obtain event notification type synchronization
Publication Date: 2018.05.29 DEREVENKO OLEH

AI summary

A method of using means of serializing synchronization for achieving effects of event notification type synchronization for the case of a single predefined signaler.