Container Pause and Resume for Resource Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing hardware resource partitioning among multiple containers in operating systems is challenging, leading to performance degradation due to resource pressure and slow container start times, especially when containers are idle or receive additional configuration post-start.
Innovation Solution
Implementing a system that allows for pausing and resuming containers by suspending process scheduling, compressing memory, and swapping pages to a page file, thereby reducing resource usage and optimizing startup times through automated commands and pre-configured triggers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If containers share hardware resources to increase deployment density, then the number of processes or virtual machines can be increased, but resource management difficulty increases and performance degrades
Solution Approach 1:
The patent segments hardware resources by introducing virtualization layers (virtual machines or containers) that divide physical hardware into isolated resource pools. Each container receives dedicated CPU time slices, memory allocations, and I/O bandwidth, transforming monolithic resource management into modular, independently controllable segments. This segmentation resolves the contradiction by maintaining high deployment density while simplifying management through standardized resource allocation units.
Solution Approach 2:
The patent introduces a resource manager or hypervisor as an intermediary layer between physical hardware and containers. This mediator abstracts complex hardware resource coordination, handling scheduling, allocation, and performance monitoring automatically. The intermediary shields container users from resource management complexity while enabling efficient multi-container deployment, thus resolving the contradiction between deployment density and management complexity.
2Loss of time
If containers are kept running to reduce startup time, then startup time is reduced, but resource consumption increases during idle periods
Solution Approach 1:
The patent implements dynamic container state management that allows containers to transition between active, suspended, and stopped states based on workload demands. The resource manager dynamically adjusts container resource allocations in real-time, suspending containers during idle periods to minimize resource consumption while maintaining the ability to rapidly resume them when needed. This dynamic approach resolves the contradiction by adapting resource usage to actual operational needs rather than maintaining static resource reservations.
Solution Approach 2:
The patent changes the operational parameters of containers by introducing suspension and resumption capabilities. When containers are suspended, their process execution is paused while maintaining memory state, allowing near-instantaneous resumption without full cold startup. This parameter change enables the system to reduce resource consumption during idle periods while minimizing startup time loss, effectively resolving the contradiction between continuous operation and resource efficiency.
3Productivity
If containers are suspended to reduce resource usage, then resource contention is reduced, but container resumption time increases
Solution Approach 1:
The patent applies preliminary action by pre-allocating and pre-configuring container resources (CPU cores, memory segments, I/O channels) during the suspension state. The resource manager maintains container configuration metadata and pre-stages resource allocations so that when resumption is triggered, containers can quickly regain operational status without full re-initialization. This preliminary preparation reduces resumption time while maintaining resource utilization efficiency during suspension.
Solution Approach 2:
The patent implements optimized resumption pathways that skip unnecessary initialization steps. When resuming suspended containers, the system rushes through the restart process by directly restoring process states from suspended memory images and bypassing full system checks that would slow down resumption. This selective skipping of non-critical initialization steps reduces resumption time while maintaining resource efficiency benefits from suspension.
Data Source
AI summary
An operating system running on a computing device uses containers for hardware resource partitioning. Using the techniques discussed herein, pausing and resuming of containers is managed to reduce the pressure a container exerts on system resources when paused. Resuming of containers can further be managed to reduce the startup time for containers. This managing of containers can implemented various different techniques, such as stopping scheduling of virtual processors, stopping scheduling of processes or threads, compressing memory, swapping pages of memory for the container to a page file on a hard drive, and so forth.


