A pay-per-use based mechanism for billing workload execution in a Cloud infrastructure
Publication Date: 2014-Mar-05
The IP.com Prior Art Database
A method to optimize resource consumption of batch workload in a multi-tenant cloud environment.
Page 01 of 4
-use based mechanism for billing workload execution in a Cloud
use based mechanism for billing workload execution in a Cloud infrastructure
Schedulers are a family of software products whose purpose is to execute jobs on a network of machines, according to some rules and constraints defined into a plan. A
"job" is typically defined as whatever a software agent is able to execute, like a command, a script, a code or anything that can be executed to other complex software of hardware components. In a scheduler software, typically, there is a node acting as an orchestrator, with the purpose of distributing jobs over the agents on the distributed
network, according to a plan containing roles and constraints, and to verify by acknowledgements that any job has been correctly executed to continue and complete the whole execution plan.
Clients are offloading the workload execution (or a part of it) to cloud environments that provide the orchestration service and a virtual execution environment in the cloud. These environment can be dedicated to a single client or shared among different clients in a multi-tenant fashion in which each client has the visibility of his own jobs.
In a multi-tenant cloud environment for batch workload execution, clients usually have the following requirements:
1. Each step (or job) has to be completed in the time frame between the condition that triggers the execution (time condition, predecessor job completion, event... ) and the deadline
2. The cost of this service has to be as low as possible
The service provider has the following goals:
1. Reduce the number of physical machines and devices
2. Reduce the cost of the usage of the physical devices (in terms of maintenance, energy, cooling....).
This article provides a method to optimize resource consumption of batch workload in a multi-tenant cloud environment.
The service provider can use two different handles to reach his goals (but still preserving the client requirements)
1. Move the workload over the different devices, balancing the resource demands.
2. Postpone the workload to a different time.
Load balancing techniques are well known and already applied by batch workload schedulers. The innovative idea described in this article is about postponing the
workload combined with workload balancing.
While it is easy to balance the load for most of the transactional workloads (a round robin is truly effective in most of the cases), balancing batch workload is more
Page 02 of 4
complicated. This is because each job may have a long duration and each one may require a different resource (CPU, network bandwidth, disk, memory....). The good thing is that most of the time, the behavior of a regularly scheduled job can be predicted by looking at the history of the previous executions. Still it is not easy to understand which
job is using a specific resource while it is being executed. It may be easy to monitor the memory used by a process and may...