User-Level Interrupt Handling for CPU-GPU Task Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies when processing GPU requests due to separate memory systems, scheduling challenges, and the need for CPU intervention, which leads to high overhead and power consumption, especially when handling repetitive requests from GPUs.

Innovation Solution

Implementing a method where an accelerated processing device (APD) can enqueue tasks on a CPU-visible queue and generate user-level interrupts (ULIs) to activate a CPU thread for processing, allowing the CPU to efficiently handle multiple tasks requested by the APD without relying on the operating system for each request.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the CPU invokes the operating system to process each GPU request, then the requests are handled with proper system management, but the overhead and power consumption increase significantly

Engineering Contradiction:
Improvesystem managementVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the interrupt handling functionality from the operating system kernel and implements it as a user-level interrupt mechanism. The GPU can directly trigger CPU interrupts through a user-space interface, bypassing the need for full OS invocation. This extraction removes the heavy kernel involvement while retaining essential system management capabilities, thereby reducing power consumption and overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary user-space interrupt handler that mediates between the GPU and CPU. Instead of the GPU directly invoking the OS kernel, the interrupt flows through a user-space intermediary that can process simple requests without kernel involvement. This intermediary layer reduces the overhead of context switches and kernel mode transitions, lowering power consumption while maintaining system management.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the CPU handles each GPU request through the operating system, then proper scheduling and QoS guarantees are maintained, but the processing efficiency decreases

Engineering Contradiction:
Improvescheduling and QoSVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments interrupt handling into two paths: user-level interrupts for routine GPU requests and kernel-level interrupts for exceptional cases. By segmenting the handling mechanism, most requests can be processed efficiently in user space without OS overhead, while critical system management functions remain in the kernel. This segmentation improves processing efficiency for common operations while preserving scheduling and QoS capabilities for important tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by having the operating system involved only when necessary - specifically for scheduling decisions and QoS enforcement - rather than for every GPU request. The user-level interrupt handler processes the majority of requests independently, and only invokes kernel services when scheduling or QoS intervention is required. This partial involvement of the OS maintains reliability while significantly improving processing efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If separate memory systems are used for CPU and GPU, then each processor has dedicated memory resources, but memory latency and power consumption increase

Engineering Contradiction:
Improvededicated memory resourcesVSAvoidmemory latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the memory address spaces of the CPU and GPU into a unified virtual address space. This allows both processors to access the same memory regions without requiring costly memory copies or complex inter-memory communication protocols. The unified address space reduces memory latency by eliminating redundant memory access operations and reduces power consumption by minimizing memory transaction overhead, while dedicated physical memory resources are preserved through virtual memory management.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP2663926B1Computer system interrupt handling
Publication Date: 2017.02.22 ADVANCED MICRO DEVICES INC
  • EP2663926B1 patent drawing
  • EP2663926B1 patent drawing
  • EP2663926B1 patent drawing

AI summary

A system, method and article of manufacture for an accelerated processing device (APD) to request a central processing unit (CPU) to process a task, comprising enqueuing a plurality of tasks on a queue using the APD, generating a user-level interrupt and transmitting to the CPU the plurality of tasks in the queue using an interrupt handler associated with a CPU thread.