Managed Compute Environment Job Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current managed compute environments lack efficient automated management of computing resources, leading to inefficiencies in resource allocation and utilization, particularly in distributed systems and cloud computing setups, where resources are not optimally provisioned or deprovisioned based on user-defined constraints and job requirements.

Innovation Solution

A compute environment management system that allows clients to specify constraints for computing resources, automatically selects and reserves resources from a provider network, and dynamically manages resource allocation and deallocation based on job queues and user-defined constraints, including the use of scheduled reserved compute instances for efficient resource utilization during reserved windows of time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated management system is implemented, then resource allocation efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A compute environment management system is introduced as an intermediary between clients and the provider network. This management system automatically selects, reserves, and manages compute instances based on user-defined constraints and job queue contents, eliminating the need for clients to manually manage complex resource allocation while improving overall efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If manual resource management is used, then system complexity is reduced, but resource utilization efficiency deteriorates

Engineering Contradiction:
Improvemanagement complexityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The compute environment management system performs self-service by automatically monitoring job queues, selecting appropriate compute instances based on predefined constraints, and dynamically allocating resources without human intervention. This automation maintains simplicity for users while achieving optimal resource utilization through programmatic management.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If dynamic resource provisioning is implemented, then resource adaptability is improved, but management complexity increases

Engineering Contradiction:
Improveresource adaptabilityVSAvoidmanagement complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system dynamically provisions and deprovisions compute instances based on real-time job queue contents and user-defined constraints. The management system automatically adjusts resource allocation levels, instance types, and quantities to match current workload demands, enabling high adaptability while keeping management simple through automation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20220276904A1Job execution with managed compute environments
Publication Date: 2022.09.01 AMAZON TECH INC
  • US20220276904A1 patent drawing
  • US20220276904A1 patent drawing
  • US20220276904A1 patent drawing

AI summary

Methods, systems, and computer-readable media for job execution with managed compute environments are disclosed. A specification of a managed compute environment comprises one or more constraints associated with computing resources in the managed compute environment. A queue or other data structure that is associated with the managed compute environment is monitored. The data structure is configured to store jobs. Data indicative of a job is detected in the data structure. One or more computing resources are reserved for the job from a pool of available computing resources. The one or more computing resources are selected for the job based at least in part on the one or more constraints associated with computing resources in the managed compute environment. Execution of the job using the one or more computing resources is initiated.