Compute Kernel Suspend-Resume via Conditional Halting Points
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Compute accelerators (CAs) cannot pause and resume workloads from the same execution point, leading to inefficiencies in resource utilization and fault tolerance, as they must restart from the beginning if interrupted, which is problematic for load balancing and fault tolerance in shared environments.
Innovation Solution
A method is introduced to launch a compute kernel with conditional halting points on a host computer's CPU, allowing the kernel to be suspended and resumed at specific points, with kernel variables written to a file for later retrieval, enabling workload migration and resumption without restarting from the beginning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a compute accelerator workload is interrupted during execution, then the compute accelerator must restart from the beginning, but this causes loss of time and reduces productivity
Solution Approach 1:
The patent inserts conditional halting points into the compute kernel code before execution begins. These halting points are predetermined locations where the kernel can be suspended and later resumed. By preparing these checkpoints in advance, the system enables fault tolerance without requiring a full restart, thus resolving the contradiction between reliability and time loss.
2Productivity
If a compute accelerator is shared between multiple applications, then resource utilization improves, but migration becomes difficult without restart capability
Solution Approach 1:
By pre-inserting conditional halting points into the compute kernel, the system enables workloads to be suspended at known locations and migrated between hosts. The halting points include bookmark values that track execution progress, allowing the workload to resume from the same point on a different host. This preliminary preparation makes migration feasible while maintaining high resource utilization through shared accelerator access.
3Ease of operation
If a compute kernel is executed without conditional halting points, then execution is continuous and simple, but suspension and resumption are impossible
Solution Approach 1:
The patent segments the compute kernel execution flow by inserting conditional halting points at specific locations. These halting points divide the continuous execution into suspendable segments. Each halting point includes a bookmark value that marks the execution position. This segmentation enables suspension and resumption capability while maintaining relatively simple kernel code structure, resolving the contradiction between ease of operation and adaptability.
Data Source
AI summary
The disclosure provides an approach for modifying a kernel by adding conditional halting points. The disclosure also provides an approach for modifying a kernel by implementing a virtual shared memory between an application running on a CPU and a workload running on a compute accelerator. The disclosure provides an approach for setting up the kernel and its working set on a compute accelerator, executing the workload, suspending the workload, and then resuming the workload at a later time, optionally on a different host computer.


