GPU Profiling Tool Virtualization via Security Processor Register Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization schemes lack a mechanism for sharing, allocating, or deallocating registers for use as performance counters for different virtual functions associated with virtual machines, preventing the streaming of performance counter values to memory for inspection or other uses.

Innovation Solution

The proposed solution involves a security processor that allocates registers configured as performance counters to virtual functions upon request, with authorization checks and secure access management to ensure proper allocation and usage, and includes a method for restoring performance counter registers during virtual function restoration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtualization schemes are implemented to share hardware resources among multiple virtual machines, then resource utilization efficiency is improved, but the ability to allocate and manage performance counter registers for each virtual function is lost

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidperformance counter allocation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the performance counter register allocation by creating virtual function-specific register allocations. Each virtual function receives dedicated performance counter registers that can be independently configured and managed, allowing per-virtual-machine performance monitoring while maintaining overall virtualization efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a performance monitoring unit as an intermediary layer between the virtualization manager and the physical performance counters. This intermediary manages the allocation, configuration, and streaming of performance counter values to memory, enabling virtual functions to access performance data without direct hardware access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If performance counter registers are allocated to virtual functions, then performance monitoring capability is improved, but system complexity increases due to authorization checks and secure access management

Engineering Contradiction:
Improveperformance monitoring capabilityVSAvoidauthorization and access management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The performance monitoring unit automatically performs authorization checks and manages secure access to performance counter registers based on virtual function identities. The system self-manages the complexity of access control without requiring external intervention, streamlining the monitoring process while maintaining security.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates virtual copies of performance counter registers for each virtual function. These virtual registers mirror the functionality of physical counters but are managed software-defined, allowing complex access control and authorization logic to be implemented in the virtualization layer rather than hardware.

Inventive Principle:
Principle #26Copying

3Loss of information

If performance counter values are streamed to memory for inspection, then performance analysis capability is improved, but memory bandwidth and system resources are consumed

Engineering Contradiction:
Improveperformance data accessibilityVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The patent implements periodic streaming of performance counter values to memory at configurable intervals. Instead of continuous streaming that would consume constant memory bandwidth, the system samples and transfers performance data at regular periods, reducing overall resource consumption while maintaining adequate monitoring capability.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The performance monitoring unit allows different virtual functions to have customized streaming configurations tailored to their specific monitoring needs. Critical performance counters can be streamed more frequently while less important ones are updated periodically or on-demand, optimizing memory bandwidth usage based on local requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20210049030A1Graphics processing unit profiling tool virtualization
Publication Date: 2021.02.18 ADVANCED MICRO DEVICES INC
  • US20210049030A1 patent drawing
  • US20210049030A1 patent drawing
  • US20210049030A1 patent drawing

AI summary

The present disclosure relates to techniques for allocating performance counters to virtual functions in response to a request from a respective one of the virtual functions. In response to receiving a request from a respective one of the virtual functions for a performance counter, a security processor is configured to allocate, via a controller, a register associated with a processor to the virtual function, such that the register is configured to implement the performance counter.