Warmed VM Pool Allocation for Low-Latency User Code Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in efficiently managing virtual machine instances for cloud computing, including latency issues, over- or under-utilization, and resource allocation delays, which affect performance and cost efficiency.

Innovation Solution

A virtual compute system maintains a pool of pre-initialized virtual machine instances with pre-loaded software components, allowing for rapid allocation and execution of user code in isolated containers, managed by a virtual machine instance manager that configures instances based on user constraints without requiring user input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If virtual machine instances are initialized on-demand when users request them, then resource utilization is optimized, but latency increases due to initialization delays

Engineering Contradiction:
Improveresource utilizationVSAvoidlatency
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system pre-initializes virtual machine instances before they are requested by users. A pool of warmed virtual machine instances is maintained and kept ready for immediate allocation, eliminating the initialization delay that would occur if instances were created on-demand. This preliminary action resolves the contradiction by accepting some ongoing resource consumption in exchange for eliminating startup latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates multiple copies of virtual machine instances in advance and maintains them in a ready state. Instead of creating a single instance when needed (which causes latency), the system maintains several pre-initialized copies that can be immediately assigned to users, thus resolving the time delay while managing resource usage efficiently through controlled replication.

Inventive Principle:
Principle #26Copying

2Loss of time

If a pool of warmed virtual machine instances is maintained, then latency is reduced, but resource allocation complexity increases

Engineering Contradiction:
ImprovelatencyVSAvoidresource allocation complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements automated management of the warmed virtual machine instance pool, where the platform itself handles the monitoring, maintenance, and allocation of instances without requiring manual user configuration. The system automatically tracks which instances are ready, matches them to user requests based on compatibility, and performs allocations, thereby reducing the perceived complexity for users while maintaining the performance benefits of pre-warmed instances.

Inventive Principle:
Principle #25Self-service

3Productivity

If virtual machine instances are pre-configured with software components, then execution speed is improved, but initial resource consumption increases

Engineering Contradiction:
Improveexecution speedVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system pre-configures virtual machine instances with only the essential software components and configurations needed for immediate execution, rather than fully provisioning all possible software and settings. This partial preconfiguration approach provides enough functionality to achieve fast startup and execution while avoiding the excessive resource consumption that would result from complete pre-provisioning of all potential software needs.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4002113B1Method and system to process requests to execute user code on one or more virtual machine instances identified from a plurality of warmed unassigned virtual machine
Publication Date: 2026.01.21 AMAZON TECH INC
  • EP4002113B1 patent drawingFigure 1
  • EP4002113B1 patent drawingFigure 2
  • EP4002113B1 patent drawingFigure 3

AI summary

A service manages a plurality of virtual machine instances for low latency execution of user codes. The plurality of virtual machine instances can be configured based on a predetermined set of configurations. One or more containers may be created within the virtual machine instances. In response to a request to execute user code, the service identifies a preconfigured virtual machine instance suitable for executing the user code. The service can allocate the identified virtual machine instance to the user, create a new container within an instance already allocated to the user, or re-use a container already created for execution of the user code. When the user code has not been activated for a time-out period, the service can invalidate allocation of the virtual machine instance destroy the container. The time from receiving the request to beginning code execution is less than a predetermined duration, for example, 100 ms.