TLB Purge Scope Expansion via Thread Affinity Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computing environments with virtualization technology, managing the purging of translation look-aside buffers (TLBs) is complex and can negatively affect system performance due to the time-consuming nature of dynamic address translation and the need for frequent purging of entries.
Innovation Solution
A method is implemented where a hardware thread issues a purge request, determining if it is a local request, and accordingly purges entries in the TLB across multiple hardware threads, increasing the scope of local purging, thereby reducing overall purging and enhancing system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If the scope of local purges is limited to a single hardware thread, then the complexity of managing purges is reduced, but system performance deteriorates due to increased frequency of purging operations
Solution Approach 1:
The patent merges the purge scope from a single hardware thread to multiple hardware threads by detecting thread affinity and broadcasting purge requests to affiliated threads. This combines the purge operations across multiple threads while maintaining coordinated management, thereby reducing overall purge frequency and improving system performance without excessive complexity increase.
Solution Approach 2:
The patent performs preliminary actions by detecting thread affinity relationships before purging operations and pre-establishing the scope of threads that need to be purged. This preliminary detection and planning allows for more efficient purge execution across multiple threads, reducing the overall number of purges needed and improving performance.
2Reliability
If purging is performed frequently on Start Interpretative Execution entry, then address translation correctness is maintained, but system performance deteriorates due to time consumption
Solution Approach 1:
The patent applies local quality by differentiating the purge scope based on thread affinity relationships. Instead of uniform purging across all threads, it selectively expands the purge scope only to locally affiliated threads that share address translation structures with the issuing thread. This targeted approach maintains translation correctness while reducing unnecessary purges and time consumption.
Solution Approach 2:
The patent uses partial action by performing purges on a selective subset of threads rather than all threads in the system. By identifying and purging only those threads with affinity relationships to the issuing thread, it achieves sufficient address translation correctness without the excessive time cost of system-wide purging.
3Productivity
If the scope of local purges is increased to multiple hardware threads, then system performance improves by reducing overall purging, but purge management complexity increases
Solution Approach 1:
The patent implements self-service by automatically detecting thread affinity relationships and determining the appropriate scope of threads to purge. The system autonomously identifies which threads share address translation structures and expands the purge scope accordingly, without requiring complex external coordination or manual configuration, thus improving performance while managing complexity through automation.
Solution Approach 2:
The patent uses feedback mechanisms by detecting thread affinity relationships and using this information to dynamically adjust the purge scope. The system monitors thread execution patterns and affinity metadata, providing feedback that guides the expansion of purge scope to the appropriate threads, thereby improving performance while maintaining manageable complexity through informed decision-making.
Data Source
AI summary
Increasing the scope of local purges of structures associated with address translation. A hardware thread of a physical core of a machine configuration issues a purge request. A determination is made as to whether the purge request is a local request. Based on the purge request being a local request, entries of a structure associated with address translation are purged on at least multiple hardware threads of a set of hardware threads of the machine configuration.


