Compute Instance Warmup via Pre-warmed Pool

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing platforms face delays in provisioning compute instances due to extensive warm-up procedures, such as downloading dependencies and performing connectivity tests, which render instances unavailable to users during this time, especially in serverless architectures.

Innovation Solution

Implementing an automatic compute instance warm-up process that loads necessary classes, tracks common operations, and uses a warm-up timer to ensure instances are available, reducing delays by performing initialization operations before user requests and maintaining a repository of latest initialization operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If compute instances perform extensive warm-up procedures (downloading dependencies, connectivity tests) before being made available, then the reliability and readiness of compute instances is improved, but the time required to provision instances and the availability to users deteriorates

Engineering Contradiction:
Improvecompute instance readinessVSAvoidinstance provisioning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs warm-up procedures in advance by maintaining a pool of pre-warmed compute instances that have already executed initialization operations, downloaded dependencies, and performed connectivity tests. When a compute instance is requested, the system can immediately allocate a pre-warmed instance from the pool, eliminating the need to wait for warm-up procedures to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains multiple copies of compute instances in a pre-warmed state within a pool. Instead of warming up a single instance when requested, the system provisions copies that are already prepared, allowing immediate allocation to users without waiting for initialization operations to complete.

Inventive Principle:
Principle #26Copying

2Productivity

If compute instances are created and destroyed routinely in serverless architectures, then resource utilization and cost efficiency are improved, but the frequency of warm-up delays and user access interruptions increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidinstance availability delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system creates a universal pool of pre-warmed compute instances that can serve multiple different user requests and workloads. Instead of warming up instances individually for each user request, the system maintains a shared pool of ready-to-use instances that can be allocated to any user needing compute resources, improving both efficiency and availability.

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

Solution Approach 2:

The system performs warm-up procedures in advance for multiple instances and maintains them in a ready state in the pool. This preliminary preparation ensures that when users request compute instances, immediately available pre-warmed instances can be allocated, eliminating delays caused by routine instance creation and destruction cycles.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If extensive initialization operations are performed on newly created compute instances, then the functionality and completeness of compute instances is improved, but the speed of instance deployment and user access deteriorates

Engineering Contradiction:
Improvecompute instance functionalityVSAvoidinstance deployment speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system performs all necessary initialization operations, including downloading dependencies and executing connectivity tests, in advance while maintaining instances in a pre-warmed pool. This preliminary action ensures that when instances are deployed to users, they are already fully functional and ready to execute code immediately, eliminating deployment delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates multiple copies of fully-initialized compute instances and maintains them in a ready state. These pre-initialized copies can be rapidly allocated to users without requiring additional initialization operations, thus maintaining complete functionality while achieving fast deployment speeds.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12020039B2Compute instance warmup operations
Publication Date: 2024.06.25 SALESFORCE INC
  • US12020039B2 patent drawing
  • US12020039B2 patent drawing
  • US12020039B2 patent drawing

AI summary

Methods, apparatuses, and computer program products are described. An application server may create a compute instance associated with a pool of compute instances. The application server may select, based on one or more operation usage metrics that may indicate operations previously performed by compute instances in the pool of compute instances, a set of initialization operations from a plurality of available initialization operations. The application server may retrieve, at the compute instance, the set of initialization operations based on the selecting. The application server may perform the set of initialization operations with the compute instance as part of a compute instance warmup process in response to the compute instance being created. The application server may indicate the compute instance as an available compute instance in the pool of compute instances based on the compute instance warmup process.