Batch Resource Allocation Model for Cloud Infrastructure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource allocation methods for intermittent workloads in cloud infrastructures are wasteful and inefficient, requiring continuous resource allocation and precise timing information, which is difficult to manage and leads to increased idleness and reduced utilization.

Innovation Solution

A per-user budget-based resource allocation model that uses a RESOURCE*TIME unit (e.g., CPU*HOURS, BYTES*HOUR) to manage resources, allowing for flexible allocation and prioritization, enabling efficient utilization by spreading job requests over time and ensuring Service Level Objectives (SLOs) are met without requiring deadline or load presence information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If continuous resource allocation is used for intermittent workloads, then resource availability is maintained, but resource idleness increases and utilization decreases

Engineering Contradiction:
Improveresource availabilityVSAvoidresource idleness
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements periodic resource allocation where resources are allocated in batches corresponding to intermittent workload periods rather than continuously. The system identifies periods of workload presence and absence, allocating resources only during active periods, thereby eliminating resource idleness while maintaining availability when needed.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The resource allocation system dynamically adjusts resource allocation based on actual workload conditions. Instead of static continuous allocation, the system monitors workload patterns and adapts resource allocation in real-time, allocating resources during peak periods and releasing them during low-utilization periods to optimize both availability and utilization.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If precise timing information is required for job scheduling, then job execution accuracy is improved, but system complexity and management difficulty increase

Engineering Contradiction:
Improvejob execution accuracyVSAvoidscheduling management complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts and eliminates the requirement for precise timing information from the scheduling system. Instead of requiring exact start and end times for each job, the system uses broader time windows and batch-based allocation, removing the complexity associated with precise timing management while maintaining sufficient job execution accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the temporal parameters from precise point-in-time scheduling to interval-based batch scheduling. By transforming the scheduling granularity from fine-grained precise timing to coarser batch time windows, the system reduces management complexity while preserving the ability to meet job execution requirements.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If per-job deadline and load presence information is required, then job scheduling accuracy is improved, but information management overhead increases

Engineering Contradiction:
Improvescheduling accuracyVSAvoidinformation management overhead
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent merges per-job deadline and load presence information into aggregate batch-level information. Instead of tracking individual job timing requirements separately, the system consolidates these requirements into batch time windows and resource allocation periods, reducing information management overhead while maintaining scheduling accuracy through aggregated planning.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The batch-based allocation framework serves multiple functions simultaneously: it manages resource allocation, determines scheduling windows, and tracks workload patterns without requiring separate mechanisms for each. This multi-functional approach reduces the overall information management overhead by using a unified batch-level information structure.

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

4Reliability

If resources are allocated to meet Service Level Objectives, then service quality is improved, but resource allocation flexibility decreases

Engineering Contradiction:
ImproveService Level Objective fulfillmentVSAvoidresource allocation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts resource allocation within batch time windows to meet Service Level Objectives while maintaining flexibility. Instead of rigid fixed allocations, the system adapts resource distribution based on actual workload demands within each batch period, ensuring SLO compliance while preserving allocation flexibility for varying conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240414098A1Systems and methods for provision of a guaranteed batch
Publication Date: 2024.12.12 GOOGLE LLC
  • US20240414098A1 patent drawing
  • US20240414098A1 patent drawing
  • US20240414098A1 patent drawing

AI summary

Systems and methods for providing a guaranteed batch pool are described, including receiving a job request for execution on the pool of resources; determining an amount of time to be utilized for executing the job request based on available resources from the pool of resources and historical resource usage of the pool of resources; determining a resource allocation from the pool of resources, wherein the resource allocation spreads the job request over the amount of time; determining that the job request is capable of being executed for the amount of time; and executing the job request over the amount of time, according to the resource allocation.