Customized Operating Systems for Low-Latency Code Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies in executing user code due to resource overhead from provisioning virtual machines with operating systems and limited computing resources, particularly in on-demand code execution environments.

Innovation Solution

An on-demand code execution system that instantiates virtual machine instances with pre-configured operating systems tailored to the required functionality of user-specified code, reducing unnecessary provisioning overhead and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are provisioned with standard operating systems, then reliability and functionality are ensured, but resource overhead and provisioning time increase

Engineering Contradiction:
Improveoperating system functionalityVSAvoidprovisioning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of user code to identify required operating system functionalities before provisioning the virtual machine. This allows the operating system to be customized with only the necessary components pre-configured, reducing provisioning time while maintaining required functionality. The analysis happens in advance during the code submission phase, enabling optimized OS creation before the VM needs to run.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If virtual machines are provisioned with full-featured operating systems, then adaptability to different code requirements is improved, but resource utilization efficiency decreases

Engineering Contradiction:
Improveoperating system functionalityVSAvoidcomputing resource overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system applies local quality by customizing the operating system to have different functionality configurations based on the specific requirements of each user code. Instead of using a uniform full-featured OS for all VMs, the system analyzes the code and provisions OS variants with only the necessary components - some VMs may have networking enabled while others use minimal configurations. This reduces resource overhead while maintaining the adaptability to meet each code's specific needs.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameters of the operating system configuration based on code analysis results. It dynamically adjusts OS parameters such as enabled services, available APIs, and system resources allocated to match the requirements of the user code. This allows the same base OS image to be transformed into different customized variants, reducing resource consumption while maintaining versatility.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If standard operating system images are used for all virtual machines, then device complexity is reduced, but computing efficiency and resource utilization worsen

Engineering Contradiction:
Improvesystem configuration complexityVSAvoidcode execution efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system performs preliminary analysis of user code to identify required operating system functionalities before provisioning the virtual machine. This allows the operating system to be customized with only the necessary components pre-configured, reducing provisioning time while maintaining required functionality. The analysis happens in advance during the code submission phase, enabling optimized OS creation before the VM needs to run.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a universal code analysis mechanism that can evaluate different types of user code and determine their OS requirements. This universal analyzer works for all programming languages and code types, and its output drives the customization of operating systems. The same analysis framework serves multiple purposes: identifying required APIs, determining resource needs, and optimizing OS configuration, thereby improving efficiency without proportionally increasing system complexity.

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

Data Source

PatentEP3814895B1Operating system customization in an on-demand network code execution system
Publication Date: 2026.04.15 AMAZON TECH INC
  • EP3814895B1 patent drawingFigure 1
  • EP3814895B1 patent drawingFigure 2
  • EP3814895B1 patent drawingFigure 3

AI summary

Systems and methods are described for managing operating system customization in an on-demand code execution system in a manner that enables efficient execution of code. A user may generate a task on the system by submitting code. The system may determine the operating system functions that the submitted code may invoke when executed on the system, and may determine whether the required functionality can be provided by a customized operating system, The customized operating system may provide some functionality but omit other functionality, and thereby avoid consuming any resources associated with making the omitted functionality available. For example, the system may determine that the user-submitted code does not require filesystem interactions, network interactions, interactions with particular devices, caching, paging, profiling, etc., and may thus provide an operating system that does not include one or more of these services.