Prefetch Stream Migration via Hypervisor Fault Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprefetch stream initiationVSAvoidprefetch engine availability
Core Design Contradiction:
ProductivityVSReliability

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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

Engineering Contradiction:
Improvecache access efficiencyVSAvoidthread migration management
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improveprefetch stream initiationVSAvoidprefetch stream re-instantiation
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8688960B2Managing migration of a prefetch stream from one processor core to another processor core
Publication Date: 2014.04.01 BEIJING ZITIAO NETWORK TECH CO LTD
  • US8688960B2 patent drawing
  • US8688960B2 patent drawing
  • US8688960B2 patent drawing

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.