Virtual Machine Memory Transitioning Based on Predicted Request Timing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies in resource usage due to the trade-off between maintaining execution environments in a ready state for rapid task execution and the costs associated with idle environments, particularly in limited computing resource scenarios.

Innovation Solution

The on-demand code execution system dynamically manages memory states of execution environments based on predicted next usage, transitioning them to lower-tier memory when not immediately needed, using historical data and cost calculations to optimize resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If execution environments are maintained in primary memory in a ready state, then task execution speed is improved, but computing resource usage increases

Engineering Contradiction:
Improvetask execution speedVSAvoidcomputing resource usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system dynamically transitions execution environments between primary memory and secondary storage based on predicted usage timing. Environments are kept in primary memory when rapid execution is needed and moved to secondary storage when not immediately needed, making the memory allocation dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system predicts when execution environments will be needed and proactively transitions them to primary memory before actual usage. This preliminary action ensures environments are ready for rapid execution without maintaining them in primary memory continuously, optimizing resource usage.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If execution environments are transitioned to secondary storage, then computing resource usage is reduced, but task execution time increases

Engineering Contradiction:
Improvecomputing resource usageVSAvoidtask execution time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs preliminary transitions of execution environments to primary memory based on predicted usage timing. By anticipating when environments will be needed and preparing them in advance, the system avoids execution delays while still maintaining environments in secondary storage during idle periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses historical execution data and usage patterns to predict future usage of execution environments. This feedback mechanism allows the system to make informed decisions about when to transition environments between memory tiers, optimizing the balance between resource usage and execution speed.

Inventive Principle:
Principle #23Feedback

3Productivity

If more execution environments are maintained in primary memory, then system productivity is improved, but memory consumption increases

Engineering Contradiction:
Improvesystem productivityVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the number of execution environments in primary memory based on predicted usage patterns. Rather than maintaining a fixed number of environments, the system optimizes memory allocation in real-time, keeping frequently needed environments in primary memory and moving less frequently used environments to secondary storage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the memory tier parameter for execution environments based on predicted usage timing and system state. By adjusting which environments reside in primary versus secondary storage, the system optimizes the balance between productivity and memory consumption.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10713080B1Request-based virtual machine memory transitioning in an on-demand network code execution system
Publication Date: 2020.07.14 AMAZON TECH INC
  • US10713080B1 patent drawing
  • US10713080B1 patent drawing
  • US10713080B1 patent drawing

AI summary

Systems and methods are described for selectively transitioning execution environments in an on-demand code execution system based on a timing of a next request to execute code within such environments. The system can predict, from a history of requests to the system, when a next call to execute code in an environment, such as a virtual machine instance, will occur. The system can then calculate and compare the relative costs of maintaining the environment in an executing state or of halting the environment and moving the environment to a lower tier of memory, each of which can be based on the predicted next call to execute code within the environment. If the relative cost of maintaining the environment in an executing state exceeds that of halting the environment and moving the environment to a lower tier of memory, the virtual machine is halted and transitioned to secondary memory.