Shared Donor Memory for Faster Compute Instance Startup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud computing systems face inefficiencies in initializing compute instances due to the time-consuming process of loading user data, which can be exacerbated by the dynamic and scalable nature of cloud resources, leading to increased latency and resource utilization challenges.

Innovation Solution

Implementing a donor memory system where multiple compute instances within a group can access and execute user data stored on a shared donor memory, reducing the need for repeated data loading by initializing a compute instance group with a donor file system and donor memory, allowing subsequent instances to directly access the stored data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If compute instances are initialized by loading user data from storage, then compute instances can be provisioned dynamically, but initialization time increases and latency rises

Engineering Contradiction:
Improvecompute instance initialization speedVSAvoiddata loading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-loading user data into the donor memory before compute instances need it. When a compute instance is initialized, the data is already available in the donor memory, eliminating the time-consuming process of loading data during instance initialization. This is achieved through background data loading mechanisms and caching strategies that prepare data in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The donor memory acts as an intermediary between the storage system and compute instances. Instead of compute instances directly loading data from storage (which causes delays), they access pre-loaded data from the donor memory. This intermediary layer buffers the data access operations and provides fast read access while the actual data remains stored in the background storage system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is loaded into each computeinstance during initialization, then data is available for execution, but resource utilization efficiency decreases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidrepeated data loading overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system merges the data storage and data access functions into a unified donor memory structure that is shared by multiple compute instances. Instead of each compute instance independently loading data from storage, they all access the same pre-loaded data in the donor memory. This combining approach eliminates redundant data loading operations and improves resource utilization efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The donor memory serves multiple functions: it acts as a cache for frequently accessed data, a shared memory space for multiple compute instances, and a buffering layer between storage and computation. This multi-functionality reduces the overall resource consumption by consolidating data access operations that would otherwise be performed separately by each compute instance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If a traditional storage access model is used, then data can be retrieved on-demand, but system latency increases

Engineering Contradiction:
Improvedata access speedVSAvoiddata retrieval latency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary data loading into the donor memory before compute instances need the data. Background processes continuously load data from storage into the donor memory cache, so when compute instances issue read requests, the data is already available in fast memory. This eliminates the latency associated with on-demand data retrieval from storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The donor memory serves as an intermediary cache layer between the slow storage system and the fast memory requirements of compute instances. It buffers data access operations, providing fast read access for frequently used data while the actual data remains stored in the background storage system. This intermediary significantly reduces data retrieval latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12475051B1Shared donor memory compute instances
Publication Date: 2025.11.18 AMAZON TECH INC
  • US12475051B1 patent drawing
  • US12475051B1 patent drawing
  • US12475051B1 patent drawing

AI summary

Described are systems and methods that use a donor memory that is accessible from multiple compute instances to access and execute portions of user data stored on the donor memory, thereby decreasing the time required to initialize a compute instance. Upon receipt of a first request to execute a user data, a compute instance group is initialized that includes a donor memory and a donor file system. At least a portion of the requested user data, or a snapshot of at least a portion of the user data, is loaded into the donor memory and a first compute instance is initialized in the compute instance group to execute the user data from the donor memory. Upon receipt of a second request to execute the user data, rather than having to again load the portion of the user data (or snapshot), a second compute instance is initialized within the compute instance group that is able to directly access the donor memory and execute the user data.