Prefetch Stream Migration via Hypervisor Fault Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual machine environments, there is no known method to re-instantiate a prefetch stream when hardware data prefetching is disabled or insufficient, leading to performance issues due to unfulfilled data requests.
Innovation Solution
A method where a Special Purpose Register (SPR) signals a cache prefetch engine controller to initiate a prefetch stream request, and if unavailable, sets a Prefetch Stream Dispatch Fault indicator, prompting the Hypervisor to migrate the thread to a core with available prefetch engines, ensuring the stream is re-established and data is prefetched as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If hardware data prefetching is disabled or prefetch engines are unavailable, then software applications can execute without hardware interference, but prefetch stream requests cannot be initiated leading to performance degradation
Solution Approach 1:
The patent introduces a fault indicator bit in the SPR as an intermediary mechanism that mediates between the software prefetch request and the hardware prefetch engine availability. When prefetch engines are unavailable, the fault indicator is set, triggering Hypervisor intervention to migrate the thread to a core with available prefetch engines, thus resolving the contradiction between software execution and hardware availability
Solution Approach 2:
The patent replaces the direct hardware-based prefetch mechanism with a software-managed migration mechanism. Instead of relying solely on hardware prefetch engines, the system uses thread migration controlled by the Hypervisor to substitute for unavailable hardware prefetching, maintaining prefetch functionality through a different mechanism
2Productivity
If the Hypervisor migrates threads to cores with available prefetch engines, then prefetch streams can be re-established, but system complexity increases due to migration management
Solution Approach 1:
The patent implements a self-service mechanism where the system automatically detects prefetch engine availability through fault indicator bits and autonomously migrates threads without external intervention. The Hypervisor monitors fault indicators and automatically performs migrations, eliminating the need for manual configuration or complex external management systems
3Ease of operation
If software applications initiate prefetch streams directly, then hardware prefetching overhead is avoided, but prefetch streams cannot be re-instantiated when hardware resources are unavailable
Solution Approach 1:
The patent implements a feedback mechanism where the fault indicator bit in the SPR provides feedback about prefetch engine availability to the software application. This feedback loop allows the system to detect when prefetch streams cannot be initiated and triggers appropriate corrective action through Hypervisor intervention, enabling adaptive response to hardware resource availability
Data Source
AI summary
A method, system and computer-usable medium are disclosed for managing prefetch streams in a virtual machine environment. Compiled application code in a first core, which comprises a Special Purpose Register (SPR) and a plurality of first prefetch engines, initiates a prefetch stream request. If the prefetch stream request cannot be initiated due to unavailability of a first prefetch engine, then an indicator bit indicating a Prefetch Stream Dispatch Fault is set in the SPR, causing a Hypervisor to interrupt the execution of the prefetch stream request. The Hypervisor then calls its associated operating system (OS), which determines prefetch engine availability for a second core comprising a plurality of second prefetch engines. If a second prefetch engine is available, then the OS migrates the prefetch stream request from the first core to the second core, where it is initiated on an available second prefetch engine.


