Tiered Container Image Loading for Reduced Startup Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container start-up times in Function-as-a-Service (FaaS) and Container-as-a-Service (CAAS) environments are lengthy, leading to high latencies and unpredictable performance, which is detrimental for real-time processing and high-priority workloads, and existing solutions like keeping containers warm in RAM are costly and inefficient.

Innovation Solution

Implementing a tiered storage system using Intel 3D XPoint technology for lazy loading of container images, where critical layers are pre-fetched into high-performance memory tiers while less critical layers are stored in slower tiers, utilizing a landmark-based compression format to segment layers for efficient loading and prioritization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If container images are loaded completely into memory before execution, then start-up time is reduced, but memory cost increases significantly

Engineering Contradiction:
Improvecontainer start-up timeVSAvoidmemory cost
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The container image is divided into multiple layers (read-only layers and writable layer). Only the necessary read-only layers are loaded into memory (RAM or persistent memory) while other layers remain on slower storage. This segmentation allows selective loading of critical image portions, reducing memory usage while maintaining fast start-up for essential container operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the container image are stored in different memory tiers based on their access priority. Critical layers are placed in high-performance memory (RAM or persistent memory) while less critical layers are stored in slower, cheaper storage. This creates a hierarchy where each layer has its storage location optimized for its specific access patterns and importance.

Inventive Principle:
Principle #3Local quality

2Productivity

If containers are kept warm in RAM to reduce start-up time, then performance is improved, but resource allocation efficiency deteriorates

Engineering Contradiction:
Improvecontainer execution speedVSAvoidmemory resource usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically determines which container image layers to load into memory based on actual workload demands and priority levels. Instead of statically pre-loading all layers for all containers, the system adapts memory allocation to real-time needs, loading only high-priority layers into fast memory while keeping lower-priority layers on slower storage until needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the storage location parameter of container layers from a static all-or-nothing approach to a dynamic tiered approach. Layers can be moved between different memory tiers (RAM, persistent memory, disk) based on their priority level and access patterns, optimizing the balance between performance and resource usage.

Inventive Principle:
Principle #35Parameter changes

3Speed

If all container layers are loaded into fast memory, then access speed is improved, but storage cost increases

Engineering Contradiction:
Improvelayer access speedVSAvoidstorage cost
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system performs preliminary loading of high-priority container layers into fast memory (RAM or persistent memory) before they are needed for container execution. This pre-loading of critical layers ensures fast access when containers need to start, while lower-priority layers remain on slower storage until they are actually required.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a new dimension of storage hierarchy by utilizing persistent memory as an intermediate tier between traditional RAM and disk storage. This creates a multi-dimensional storage architecture where layers can be positioned at different levels (RAM, persistent memory, disk) based on their access speed requirements and cost constraints, optimizing both performance and storage expenses.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP4020197B1Methods and apparatus for loading of a container image
Publication Date: 2023.10.11 INTEL CORP
  • EP4020197B1 patent drawingFigure 1A
  • EP4020197B1 patent drawingFigure 1B
  • EP4020197B1 patent drawingFigure 2

AI summary

Methods, apparatus, systems, and articles of manufacture for loading of a container image are disclosed. An example apparatus includes a prioritizer to determine a priority level at which a container is to be executed. A container controller is to determine a first expected location for a first set of layers of the container, the container controller to determine a second expected location for a second set of layers of the container, the first expected location and the second expected location determined based on the determined priority level, the second set of layers separated from the first set of layers in an image by a landmark. A container loader is to mount the first set of layers from the first expected location. A container executor is to initiate execution of the container based on the mounted first set of layers.