Chained Serializing Synchronization for Event Notification
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If OS privileged mode entries are used for synchronization operations, then event notification is achieved, but performance is degraded
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.
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.
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
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.
Data Source
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.