GPU Checkpointing and Recovery via Non-Volatile Memory Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems lack effective mechanisms for checkpointing and recovering the state of graphics processing units (GPUs), including application data and kernel execution state, which is critical for ensuring crash recoverability in computing environments, especially in datacenters and supercomputers where GPU failures can occur frequently.

Innovation Solution

The implementation of a method that checkpoints GPU application data and kernel execution state, synchronizes CPU and GPU states, and persists this data on non-volatile memory, using APIs such as 'register_data_structure', 'create_checkpoint', and 'restore_checkpoint' to ensure efficient recovery, allowing for debugging and execution migration without modifying application kernels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If GPU application data and kernel execution state are checkpointed and persisted on non-volatile memory, then crash recoverability is improved, but device complexity and overhead increase

Engineering Contradiction:
Improvecrash recoverabilityVSAvoidcheckpointing mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary checkpointing of GPU application data and kernel execution state to non-volatile memory before crashes occur. This advance preparation ensures that recovery can be performed quickly by simply restoring from the pre-saved checkpoint, rather than attempting complex recovery procedures after a failure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention creates copies of GPU application data and kernel execution state and stores them on non-volatile memory. This copying mechanism allows the original GPU state to be preserved while maintaining a backup that can be restored if needed, enabling reliable crash recovery without modifying the original execution environment.

Inventive Principle:
Principle #26Copying

2Reliability

If checkpointing is implemented for GPU states, then data integrity is improved, but processing time and overhead worsen

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The checkpointing mechanism is designed to operate autonomously with minimal interference to the main GPU processing workflow. The system self-manages the checkpointing operations, automatically saving state information to non-volatile memory without requiring external intervention or significant disruption to ongoing computations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements selective checkpointing that focuses on critical GPU state information rather than attempting to save every possible data element. This partial action approach captures the essential information needed for recovery while minimizing the overhead associated with checkpointing operations.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If CPU and GPU states are synchronized during checkpointing, then recovery consistency is improved, but execution time increases

Engineering Contradiction:
Improverecovery consistencyVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The invention introduces an intermediary synchronization mechanism that coordinates between CPU and GPU states during checkpointing. This mediator ensures that both processing units are in a consistent state when the checkpoint is taken, allowing for reliable recovery without requiring extensive coordination overhead during actual execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11016861B2Crash recoverability for graphics processing units (GPU) in a computing environment
Publication Date: 2021.05.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11016861B2 patent drawing
  • US11016861B2 patent drawing
  • US11016861B2 patent drawing

AI summary

Embodiments for crash recoverability for graphics processing units (GPUs) by a processor. GPU application data and kernel execution state of one or more GPUs may be checkpointed. The checkpointed GPU application data and the kernel execution state may be recovered. The checkpointed GPU application data and the kernel execution state may be persisted on non-volatile memory.