APD Process Preemption via Time Quanta
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face challenges in efficiently preempting rogue processes from GPUs and context switching due to high memory latency, power consumption issues, and limited programming capabilities, which hinder the effective utilization of combined CPU and GPU resources.
Innovation Solution
A system with an accelerated processing device (APD) that preempts processes based on a running time threshold, allowing for efficient context switching by configuring a time quanta and using preemption and context switch logic to manage process execution on the APD.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processes are allowed to run on the GPU for extended periods to improve processing throughput, then productivity increases, but rogue processes can occupy the GPU for arbitrary amounts of time preventing effective utilization of system capacity
Solution Approach 1:
The patent implements periodic preemption by dividing GPU execution time into fixed time quanta. Each process is allocated a specific time slice during which it can execute on the GPU, after which it is preempted regardless of completion status. This periodic time slicing ensures that no single process can monopolize the GPU indefinitely, thereby maintaining system capacity utilization while allowing substantial processing throughput during each allocated time slice.
2Productivity
If fine-grain offloading of computational tasks from CPU to GPU is implemented to improve productivity, then processing efficiency increases, but separate memory systems and driver managed shared memory create unacceptable overhead
Solution Approach 1:
The patent merges the memory systems of the CPU and GPU into a unified memory architecture. This consolidation eliminates the need for separate memory systems and complex driver-managed shared memory protocols. By providing a single unified memory space that both processors can access directly, the system achieves fine-grain offloading efficiency without the overhead of memory translation and coordination between separate memory subsystems.
3Productivity
If computational commands are dispatched to the GPU with high frequency to improve processing speed, then productivity increases, but the latency incurred by sending commands to the GPU becomes unacceptable
Solution Approach 1:
The patent implements preliminary action by pre-positioning computational commands in CPU memory before GPU execution is needed. Commands are prepared and staged in advance in the unified memory space, so when the GPU requires them, they are already available locally without requiring time-consuming dispatch from the CPU. This eliminates command dispatch latency while maintaining high processing speed, as the GPU can immediately access pre-positioned commands from unified memory.
Data Source
AI summary
Methods and apparatus are described. A method includes an accelerated processing device running a process. When a maximum time interval during which the process is permitted to run expires before the process completes, the accelerated processing device receives an operating-system-initiated instruction to stop running the process. The accelerated processing device stops the process from running in response to the received operating-system-initiated instruction.


