Pre-initialized Virtual Machine Pool for Low Latency Code Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face challenges in efficiently utilizing virtual machine instances for cloud computing, including high latency in instance startup, over- or under-provisioning of resources, and difficulty in predicting traffic changes, leading to performance issues and increased costs.

Innovation Solution

A virtual compute system maintains a pool of pre-initialized virtual machine instances with loaded operating systems and language runtimes, allowing for rapid deployment and dynamic resource allocation based on user requests, with a warming pool for pre-configured instances and an active pool for assigned users, enabling efficient execution of user code with reduced latency and optimized resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual machine instances are initialized on-demand when users request them, then resource allocation flexibility is improved, but startup latency increases

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidinstance startup latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system pre-initializes virtual machine instances in a warming pool before they are actually needed by users. This preliminary action allows instances to be ready for immediate deployment when requested, eliminating startup latency while maintaining resource allocation flexibility through dynamic provisioning from the pre-initialized pool

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If more virtual machine instances are provisioned in advance, then latency is reduced, but resource over-provisioning and costs increase

Engineering Contradiction:
Improveinstance deployment latencyVSAvoidresource provisioning quantity
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the size and composition of the warming pool based on actual demand patterns, traffic predictions, and current resource utilization. This dynamic approach ensures instances are pre-initialized when needed for low latency while avoiding static over-provisioning that increases costs, allowing the system to adapt resource quantity to actual usage requirements

Inventive Principle:
Principle #15Dynamics

3Reliability

If security checks are performed on user code before execution, then system security is improved, but execution time increases

Engineering Contradiction:
Improvesystem securityVSAvoidcode execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Security protocols and code validation are performed in advance during the instance initialization phase in the warming pool, before user code is executed. This preliminary security checking ensures system security is maintained while allowing rapid execution of pre-validated code when users submit requests, as the security overhead has already been incurred during pre-initialization

Inventive Principle:
Principle #10Preliminary action

4Productivity

If virtual machine instances are kept ready in a pool, then execution speed is improved, but resource utilization efficiency worsens

Engineering Contradiction:
Improvecode execution speedVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system maintains a warming pool of pre-initialized instances that are kept in a ready state with operating systems and language runtimes loaded, enabling continuous immediate execution of user code without cold starts. This continuous readiness improves execution speed while the pool size is dynamically managed to balance resource utilization, ensuring instances are kept ready only when they will be actively used

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11461124B2Security protocols for low latency execution of program code
Publication Date: 2022.10.04 AMAZON TECH INC
  • US11461124B2 patent drawing
  • US11461124B2 patent drawing
  • US11461124B2 patent drawing

AI summary

A system for providing security mechanisms for secure execution of program code is described. The system may be configured to maintain a plurality of virtual machine instances. The system may be further configured to receive a request to execute a program code and allocate computing resources for executing the program code on one of the virtual machine instances. One mechanism involves executing program code according to a user-specified security policy. Another mechanism involves executing program code that may be configured to communicate or interface with an auxiliary service. Another mechanism involves splitting and executing program code in a plurality of portions, where some portions of the program code are executed in association with a first level of trust and some portions of the program code are executed with different levels of trust.