Offload Programming Model for Local Checkpoints in HPC

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing (HPC) systems face significant challenges with exponential failure rates of compute entities, leading to inefficient checkpoint-restart schemes that consume substantial storage resources and processing bandwidth, making large-scale HPC jobs unsustainable.

Innovation Solution

An offload programming model is employed for local checkpoints, which automatically defines checkpoints, reduces synchronization overhead, and decomposes state saving operations throughout job execution, allowing for smaller storage footprints and improved restart success rates without suspending compute entities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional checkpoint-restart scheme is used with frequent synchronized checkpoints, then reliability is improved, but storage consumption and processing bandwidth increase substantially

Engineering Contradiction:
ImprovereliabilityVSAvoidstorage consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system segments the checkpoint operation into two independent parts: (1) compute entities continue processing without suspension, and (2) state information is asynchronously written to storage. This segmentation eliminates the need to halt computation for checkpointing, thereby maintaining reliability while reducing storage bandwidth consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-allocating storage resources and preparing checkpoint infrastructure before failures occur. State information is continuously tracked and prepared for checkpointing, allowing rapid recovery without requiring substantial storage bandwidth during actual checkpoint operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If conventional checkpoint-restart scheme is used with frequent synchronized checkpoints, then reliability is improved, but processing bandwidth is wasted significantly

Engineering Contradiction:
ImprovereliabilityVSAvoidprocessing bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system maintains continuity of useful action by allowing compute entities to process workloads continuously without suspension for checkpointing. State information is captured asynchronously in the background, ensuring that processing bandwidth is fully utilized for productive computation rather than being wasted on synchronized checkpoint operations.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system introduces an intermediary mechanism that decouples the checkpointing function from the computation function. A separate state management layer handles state capture and storage operations independently, allowing computation to proceed without interruption while still maintaining reliability through continuous state tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If checkpoint groups involve large numbers of entities with coarse granularity, then synchronization overhead is reduced, but restart capability becomes less efficient

Engineering Contradiction:
Improvesynchronization overheadVSAvoidrestart success rate
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The system applies local quality by allowing different granularity levels for different checkpoint operations. Individual compute entities or small groups can maintain fine-grained state information locally, enabling efficient restarts of specific entities without requiring global synchronization across all entities. This localized approach maintains restart efficiency while reducing overall synchronization overhead.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10089197B2Leverage offload programming model for local checkpoints
Publication Date: 2018.10.02 INTEL CORP
  • US10089197B2 patent drawing
  • US10089197B2 patent drawing
  • US10089197B2 patent drawing

AI summary

Methods, apparatus, and systems for leveraging an offload programming model for local checkpoints. Compute entities in a computing environment are implemented as one or more sources and a larger number of sinks. A job dispatcher dispatches jobs comprising executable code to the source(s), and the execution of the job code is managed by the source(s). Code sections in the job code designated for offload are offloaded to the sinks by creating offload context information. In conjunction with each offload, an offload object is generated and written to storage. The offloaded code sections are executed by the sinks, which return result data to the source, e.g., via a direct write to a memory buffer specified in the offload context information. The health of the sinks is monitored to detect failures, and upon a failure the source retrieves the offload object corresponding to the code section offloaded to the failed sink, regenerates the offload context information for the code section and sends this to another sink for execution.