Unified Virtual Memory Address Segmentation for Accelerator Checkpoint Restoration
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Reliability
If separate virtual address spaces are reserved for accelerators and host processors, then checkpoint restoration accuracy improves, but device complexity increases
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.
3Adaptability or versatility
If dynamic allocation is used to expand address spaces, then memory adaptability improves, but address randomness increases
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.
Data Source
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.


