Cloud Workload Arbitraging via Task Sizing and Bid Pricing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Users face challenges in managing costs and predicting optimal processing times in cloud computing environments with dynamic pricing models, where demand and prices fluctuate, making it difficult to select the most economical time for scheduling processes across multiple data centers.
Innovation Solution
A method and system that utilize historical pricing and processing data to calculate optimal bid pricing and processing times by breaking workloads into tasks optimized based on price history and predicted duration, and a system comprising a workload packaging module, scheduling module, and probability calculator to determine the likelihood of completing tasks within a designated duration and price.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If users submit bids for computing resources in a dynamic pricing model, then they can access computing resources when demand is low, but they risk losing resources mid-processing cycle when higher competing bids are received
Solution Approach 1:
The system performs preliminary actions by monitoring pricing trends and demand patterns before submitting bids, and by establishing backup bidding strategies in advance. The system proactively detects when resource loss risk increases and pre-submits alternative bids to mitigate the harm before it occurs.
Solution Approach 2:
The system implements continuous feedback loops by monitoring bid acceptance status, pricing changes, and competing bids in real-time. When feedback indicates a higher competing bid has been received, the system automatically responds by submitting new bids or adjusting strategies to recover the computing resources.
2Loss of energy
If users operate under a dynamic pricing model to access computing resources, then they can potentially reduce costs during low-demand periods, but it becomes difficult to predict optimal scheduling times across multiple data centers
Solution Approach 1:
The system introduces an intermediary component that aggregates pricing data from multiple data centers and applies predictive algorithms. This intermediary layer simplifies the complexity by processing raw pricing information from multiple sources and presenting users with consolidated, actionable insights about optimal bidding times.
Solution Approach 2:
The system changes parameters by analyzing historical pricing patterns, demand cycles, and data center-specific characteristics to transform unpredictable dynamic pricing into predictable scheduling opportunities. It identifies periodic patterns in pricing behavior across different data centers to optimize bid timing.
3Reliability
If users increase their bid to secure computing resources during peak demand, then they can ensure resource availability, but they pay higher prices
Solution Approach 1:
The system dynamically adjusts bid pricing based on real-time demand conditions, competing bids, and predicted resource availability. Rather than using static high bids, the system continuously adapts bid amounts to match actual market conditions, securing resources when necessary while minimizing payments during lower-demand periods.
Solution Approach 2:
The system changes the pricing parameter dynamically by monitoring demand indicators and adjusting bid amounts accordingly. It identifies when high bids are truly necessary versus when lower bids suffice, optimizing the balance between resource availability and cost by continuously adjusting the price parameter based on market conditions.
Data Source
AI summary
Disclosed are methods and systems for processing a workload among a plurality of computing resources that optimizes the processing price per workload. The method includes breaking the workload into two or more tasks each having a size optimized based on (i) a price history of one or more of the plurality of computing resources and (ii) a predicted duration to complete processing of each of the respective tasks; and sending one of the two or more tasks to a computing resources for which the size of the tasks is optimized.


