Group-Based Container Checkpoint Deduplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional systems generate checkpoints for individual containers on a per-container basis, which is highly inefficient, especially in host devices with large numbers of running containers, leading to excessive resource usage and undermining system performance in maintenance, upgrade, scale-out, and migration contexts.
Innovation Solution
Implementing group-based checkpointing techniques where containers are assigned to groups based on designated criteria, identifying shared memory pages using deduplication techniques, and generating checkpoints for groups without duplicating shared pages, allowing for efficient restoration of container groups.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If checkpoints are generated for individual containers on a per-container basis, then each container can be restored independently, but excessive resources are consumed and system performance deteriorates
Solution Approach 1:
The patent merges multiple individual container checkpoints into a single group-level checkpoint. Instead of generating separate checkpoints for each container, the system generates one checkpoint that represents the entire group, thereby reducing resource consumption while maintaining restoration capability.
Solution Approach 2:
The group checkpoint serves multiple containers simultaneously, making it a universal solution that can restore any container within the group. This multi-functional approach eliminates the need for separate checkpoints for each container, improving efficiency without sacrificing reliability.
2Reliability
If checkpoints are generated for individual containers on a per-container basis, then complete container state is captured, but excessive memory and storage resources are required
Solution Approach 1:
The patent extracts and identifies shared memory pages that are common across multiple containers within a group. By separating shared pages from unique pages, the system only stores unique portions for each container, significantly reducing memory and storage resource requirements while maintaining complete state capture.
Solution Approach 2:
The system merges the checkpoint representation for multiple containers by identifying and consolidating shared memory pages. Instead of storing duplicate copies of shared pages for each container, the system maintains a single copy that serves all containers in the group, reducing overall resource consumption.
3Reliability
If checkpoints are generated for individual containers on a per-container basis, then each container checkpoint is self-contained, but excessive time is required for checkpoint generation and restoration
Solution Approach 1:
The patent merges the checkpoint generation process for multiple containers into a single coordinated operation. By generating one group-level checkpoint instead of multiple individual checkpoints, the system reduces the total time required for checkpoint generation and restoration while maintaining the self-contained nature of the checkpoint data.
Solution Approach 2:
The system performs preliminary identification of shared memory pages before generating the actual checkpoint. This preliminary action allows the system to avoid redundant processing during checkpoint generation, significantly reducing the time required while ensuring complete and accurate state capture.
Data Source
AI summary
An apparatus in one embodiment comprises a host device that includes at least one processor and an associated memory. The host device is configured to implement a plurality of containers each configured to access one or more portions of the memory. The containers are implemented as respective kernel control groups utilizing operating system level virtualization of the processor of the host device. The host device is further configured to assign the containers to groups in accordance with one or more designated criteria, and to generate checkpoints for respective groups of the containers. In conjunction with generation of a given one of the checkpoints for a particular one of the groups of containers, the host device identifies one or more pages of the memory that are shared by at least first and second containers of the particular group of containers, and generates the given checkpoint without duplicating the one or more shared pages to persistent storage.


