Address Translation Cache Invalidation Filter Construct
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large symmetric multi-processor (SMP) configurations, the process of invalidating address translation information across multiple processors in a network incurs increased latency, leading to performance bottlenecks due to the need for software-controlled invalidation of address translation buffer entries in each processor.
Innovation Solution
Implementing a filter construct with outgoing and incoming filter lists that identify logical partition identifications (LPIDs) to determine which processors need to process address translation invalidation instructions, allowing only relevant processors to acknowledge and process these instructions, thereby reducing unnecessary cross-processor communication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If address translation invalidation instructions are broadcast to all processors in the system, then all processors can be ensured to invalidate their cache entries, but the processing latency increases and system throughput decreases
Solution Approach 1:
The patent segments the invalidation process by dividing processors into groups based on outgoing filter lists. Each processor only sends invalidation instructions to specific groups rather than broadcasting to all processors, thereby reducing the number of recipients while ensuring complete invalidation within each segment.
Solution Approach 2:
The patent pre-computes and stores outgoing filter lists that identify which processor groups need to receive invalidation instructions for each LPID. This preliminary organization allows processors to quickly determine the minimal set of recipients without scanning all processors, reducing invalidation latency while maintaining reliability.
2Reliability
If address translation invalidation instructions are sent to all processors, then no cache entries are left valid, but the system incurs increased processing overhead and reduced throughput
Solution Approach 1:
The patent segments the processor network into targeted groups using outgoing filter lists, allowing invalidation instructions to be sent only to relevant processor groups rather than all processors. This segmentation maintains complete invalidation reliability while reducing the total number of instruction transmissions, thereby improving system throughput.
Solution Approach 2:
The patent applies partial action by sending invalidation instructions only to the minimal necessary subset of processors identified by outgoing filter lists, rather than performing excessive action of broadcasting to all processors. This partial targeting achieves complete invalidation for the affected LPID while reducing overall system overhead and improving throughput.
3Adaptability or versatility
If software-controlled invalidation is used for address translation buffers, then flexibility in handling different invalidation scenarios is achieved, but the processing speed decreases
Solution Approach 1:
The patent introduces outgoing filter lists as an intermediary data structure that bridges software flexibility and hardware speed. The filter lists are software-computed to provide adaptability for different invalidation scenarios, but once computed, they enable hardware-efficient targeted broadcasting that significantly improves processing speed compared to pure software-controlled invalidation.
Data Source
AI summary
A method and an information handling system having a plurality of processors connected by a cross-processor network, where each of the plurality of processors preferably has a filter construct having an outgoing filter list that identifies logical partition identifications (LPIDs) that are exclusively assigned to that processor and/or an incoming filter list that identifies LPIDs on that processor and at least one additional processor in the system. In operation, if the LPID of the outgoing translation invalidation instruction is on the outgoing filter list, the address translation invalidation instruction is acknowledged on behalf of the system. If the LPID of the incoming invalidation instruction does not match any LPID on the incoming filter list, then the translation invalidation instruction is acknowledged, and if the LPID of the incoming invalidation instruction matches any LPID on the incoming filter list, then the invalidation instruction is sent into the respective processor.


