Unified Virtual Memory Address Segmentation for Accelerator Checkpoint Restoration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual memory management systems face challenges in restoring checkpoints across multiple processors due to address interleaving, leading to failures in memory allocation and restoration, especially when using checkpoint/restore technology.

Innovation Solution

A method and device for managing a unified virtual memory (UVM) that allocates virtual addresses separately for accelerators and host processors, reserving non-overlapping address spaces and dynamically expanding them as needed, using a compute unified device architecture (CUDA) to reduce communication overhead and API interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If virtual addresses are allocated in execution order across multiple processors, then memory allocation is simple, but checkpoint restoration fails due to address interleaving

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidcheckpoint restoration accuracy
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The virtual address space is segmented into distinct non-overlapping regions for each processor type. Accelerators are allocated specific virtual address ranges while host processors receive separate ranges, preventing address interleaving and enabling reliable checkpoint restoration while maintaining allocation simplicity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If separate virtual address spaces are reserved for accelerators and host processors, then checkpoint restoration accuracy improves, but device complexity increases

Engineering Contradiction:
Improvecheckpoint restoration accuracyVSAvoidvirtual memory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Virtual address spaces are pre-reserved and pre-configured for different processor types before execution. This preliminary segmentation eliminates the need for complex runtime address management and checkpoint restoration logic, as the non-overlapping address regions are established in advance.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If dynamic allocation is used to expand address spaces, then memory adaptability improves, but address randomness increases

Engineering Contradiction:
Improveaddress space flexibilityVSAvoidaddress predictability
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

Different allocation strategies are applied to different processor types within the unified virtual memory system. Accelerators receive dynamically allocatable address spaces from their reserved regions, while host processors receive statically allocated spaces, allowing flexibility where needed while maintaining predictability where required for reliable checkpointing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240411597A1Method and device with virtual memory management
Publication Date: 2024.12.12 SAMSUNG ELECTRONICS CO LTD
  • US20240411597A1 patent drawing
  • US20240411597A1 patent drawing
  • US20240411597A1 patent drawing

AI summary

A device for managing a virtual memory is disclosed. The device includes: a host processor configured to, in response to a memory request from an accelerator, allocate to the accelerator, from among virtual address spaces, a virtual address of first virtual address subspaces reserved for the accelerator; and a host processor allocation device configured to, in response to a memory request from a host processor, allocate to the host processor, from among the virtual address spaces, a virtual address of second virtual address subspaces that are exclusive of the first virtual address subspaces.