Logical Processor Lock Contention Resolution via Execution Interval Reallocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor information processing systems, logical processors often encounter resource contention due to locked resources, leading to inefficiencies as they wait for other processors to release locks, especially when the lock-holding processor is not running, causing unnecessary delays and potential endless loops.
Innovation Solution
A method where a first logical processor determines if a required resource is locked by another processor, checks if the lock-holding processor is running, and if not, issues a command to a super-privileged process to relinquish its execution interval, allowing the lock-holding processor to regain control and release the lock more efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a logical processor waits for a lock-holding processor to release a resource lock, then resource access is ensured, but system efficiency deteriorates when the lock-holding processor is not running
Solution Approach 1:
The system enables automatic detection and resolution of lock contention. When a logical processor encounters a locked resource, the system automatically checks whether the lock-holding processor is running, and if not, automatically triggers execution interval reallocation without requiring manual intervention or prolonged waiting, thus resolving the contradiction between reliable resource access and system efficiency
Solution Approach 2:
The system implements a feedback mechanism where the status of the lock-holding processor is continuously monitored. When the first logical processor detects that a resource is locked, it queries the running status of the lock-holding processor. Based on this feedback information, the system dynamically adjusts resource allocation - either allowing the first processor to wait (if the holder is running) or triggering execution interval reallocation (if the holder is not running), thereby balancing reliability and productivity
2Stability of the object's composition
If logical processors use lock mechanisms to protect shared resources, then resource contention is avoided, but waiting time increases when locks are held by non-running processors
Solution Approach 1:
The system performs preliminary checking of the lock-holding processor's running status before the first logical processor enters a waiting state. By proactively determining whether the lock holder is currently running, the system can immediately trigger execution interval reallocation if the holder is not running, preventing unnecessary waiting time while maintaining resource protection through the lock mechanism
Solution Approach 2:
The system dynamically changes the resource allocation parameter (execution interval) based on the running status of the lock-holding processor. When the lock holder is determined to be non-running, the system modifies the execution interval allocation to transfer control to the waiting logical processor, thereby reducing waiting time while preserving resource integrity through controlled parameter adjustment
3Productivity
If execution intervals are reallocated when locks are held by non-running processors, then system efficiency improves, but complexity of resource management increases
Solution Approach 1:
The system introduces an intermediary mechanism (the super-privileged process or hypervisor) that handles the complexity of execution interval reallocation. When a logical processor detects that a lock-holding processor is not running, it triggers the intermediary to reallocate the execution interval. This intermediary absorbs the management complexity, allowing individual logical processors to focus on their computational tasks while the intermediary handles the sophisticated resource management logic
Data Source
AI summary
An embodiment provides for operating an information processing system. An aspect of the invention includes allocating an execution interval to a first logical processor of a plurality of logical processors of the information processing system. The execution interval is allocated for use by the first logical processor in executing instructions on a physical processor of the information processing system. The first logical processor determines that a resource required for execution by the first logical processor is locked by another one of the other logical processors. An instruction is issued by the first logical processor to determine whether a lock-holding logical processor is currently running. The lock-holding logical processor waits to release the lock if it is currently running. A command is issued by the first logical processor to a super-privileged process for relinquishing the allocated execution interval by the first logical processor if the locking holding processor is not running.


