Event Port Alert Mechanism for Thread Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer operating systems face challenges in synchronizing multiple threads or processes efficiently, particularly when competing for resources, as conventional methods like semaphores can lead to performance degradation and synchronization issues due to user locks and limited data transfer.
Innovation Solution
The implementation of alert events and event ports allows for asynchronous detection and notification of alert states, enabling almost synchronous triggering of threads or processes, with data transfer and avoiding synchronization problems by using an event queue and request queue system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If semaphores are used for synchronization, then thread/process synchronization is achieved, but performance degradation occurs due to user locks and limited data transfer
Solution Approach 1:
The patent introduces an event port as an intermediary mechanism between threads/processes. Instead of direct semaphore-based synchronization, the system uses event ports to broadcast alert events to multiple waiting threads simultaneously. This intermediary approach eliminates the need for user locks and enables efficient data transfer during synchronization, resolving the performance degradation issue while maintaining synchronization reliability.
Solution Approach 2:
The patent replaces the mechanical semaphore system with an event-driven asynchronous I/O mechanism. By substituting the traditional mechanical locking and waiting approach with asynchronous event notification through event ports, the system achieves faster synchronization without the performance penalties of user locks and limited data transfer inherent in semaphore-based systems.
2Reliability
If semaphores are used for synchronization, then thread/process synchronization is achieved, but synchronization problems arise due to user locks
Solution Approach 1:
The event port serves as an intermediary that mediates between producing and consuming threads. It broadcasts alert events to all waiting threads simultaneously, eliminating the need for user locks and preventing synchronization problems. The event port handles the coordination automatically, making synchronization operations smoother and more reliable.
3Reliability
If waiting processes use semaphores, then synchronization is achieved, but performance degradation occurs because waiting processes cannot perform tasks
Solution Approach 1:
The patent implements preliminary action by allowing threads to wait on event ports in a blocked state without performing useless polling or locking operations. When an alert event occurs, the event port simultaneously notifies all waiting threads, enabling them to resume execution immediately. This eliminates the time loss associated with continuous waiting and checking in semaphore-based systems.
Solution Approach 2:
By replacing semaphore-based waiting with asynchronous event notification through event ports, the system eliminates the need for waiting processes to continuously monitor or poll. Threads can block efficiently and resume immediately upon event notification, significantly reducing time loss during waiting periods while maintaining synchronization reliability.
Data Source
AI summary
Methods and apparatus, including computer program products, implementing and using techniques for alerting one or more computer software application threads waiting to retrieve events from an event port. An alert event generated by a computer software application is received at the event port. A state of the event port is changed to an alert state, if the event port is not already in an alert state, in response to receiving the alert event. One or more of the computer software application threads is notified about the alert state of the event port.


