Dynamic Container Resource Scaling for Latency and Cost Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computer systems face inefficiencies in resource utilization and latency performance due to fixed resource allocation for tasks, leading to idle resources and increased latency during traffic fluctuations, as existing techniques either waste resources or result in costly cold starts when demand exceeds capacity.

Innovation Solution

Implementing dynamic task priority management and multi-tiered scaling, where resource allocations on individual tasks are adjusted without changing the number of running tasks, and the number of tasks is adjusted based on incoming traffic, to optimize resource utilization and reduce idle resources and cold starts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed set of computing resources is reserved for each task, then resource allocation is simple and stable, but resource utilization decreases during low traffic and latency increases during high traffic

Engineering Contradiction:
Improveresource allocation stabilityVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts the computing resources allocated to tasks based on real-time traffic conditions. When traffic increases, resources are allocated to tasks; when traffic decreases, resources are released. This dynamic allocation resolves the contradiction by making resource allocation flexible rather than fixed, improving both utilization and responsiveness while maintaining stability through automated control.

Inventive Principle:
Principle #15Dynamics

2Productivity

If tasks are terminated to reduce idle resources, then resource utilization improves, but cold start latency increases when demand exceeds capacity

Engineering Contradiction:
Improveresource utilizationVSAvoidcold start latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by keeping tasks in a suspended state with minimal resources allocated instead of completely terminating them. When traffic increases, these suspended tasks can be quickly resumed and resources allocated, avoiding the cold start penalty of full task initialization. This preliminary maintenance of task state resolves the contradiction by balancing resource savings with快速 responsiveness.

Inventive Principle:
Principle #10Preliminary action

3Speed

If more tasks are run to handle increased traffic, then latency performance improves, but computing resource costs increase

Engineering Contradiction:
Improvelatency performanceVSAvoidcomputing resource costs
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system changes the parameter of resource allocation dynamically based on traffic demand. Instead of running a fixed number of tasks, the system adjusts the number of active tasks and their resource allocations in real-time. This parameter change approach resolves the contradiction by optimizing the balance between performance (latency) and cost (resource consumption) according to actual workload conditions.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11989586B1Scaling up computing resource allocations for execution of containerized applications
Publication Date: 2024.05.21 AMAZON TECH INC
  • US11989586B1 patent drawing
  • US11989586B1 patent drawing
  • US11989586B1 patent drawing

AI summary

The present application relates to performing a scale-up of the computing resources allocated to executing a software application. For example, the software application for implementing a web server may be packaged as a container image, and one or more instances of the container images may be executed as one or more tasks. The individual tasks may be allocated a set of computing resources such as CPU and memory, and the incoming requests sent to the web server may be distributed across the tasks. If the volume of incoming requests drops below a threshold level, one or more of the tasks may be placed in standby mode, and the amount of computing resources allocated to such tasks may be reduced. When the volume of incoming requests returns above the threshold level, the amount of computing resources allocated to such tasks can be scaled back up to the full amount.