You are on page 1of 26

J Supercomput (2020) 76:1536–1561

https://doi.org/10.1007/s11227-018-2279-8

Genetic algorithm-based cost minimization pricing


model for on-demand IaaS cloud service

Sahil Kansal1 · Harish Kumar1 ·


Sakshi Kaushal1 · Arun Kumar Sangaiah2

Published online: 1 March 2018


© Springer Science+Business Media, LLC, part of Springer Nature 2018

Abstract Cloud computing has emerged as the most effective distributed computing
paradigm. It has grabbed the attention of many organizations owing to its business
prospects and significant features like agility and flexibility. Dynamic scalability of
cloud services and availability of number of homogenous cloud service providers in
market make it difficult for the provider to fix the prices of cloud services, especially
on-demand Infrastructure-as-a-Service cloud service instances. It is quite problematic
for provider to map the dynamics of prices with the variation in service requirement
and satisfying the users’ quality of service requirement simultaneously. At the same
time, it is very essential for the provider to determine the lower bound price of the
services beyond which he could not afford the provisioning of the services. This paper
presents dynamic demand-based pricing model for on-demand IaaS cloud service
instances that will assist the provider to dynamically determine the price of provision-
ing the cloud services by considering the provider’s and users’ utility concurrently.
Genetic algorithm is applied for the optimized evaluation users’ request parameters
and provider’s computation capacity that will minimize the cost of execution. Exper-
imental results demonstrate that price evaluation is more efficient and users’ utility
increases considerably using the proposed framework in comparison with the existing
utility-based pricing model.

Keywords On-demand pricing · Cloud computing · Infrastructure as a Service ·


Genetic algorithm

B Arun Kumar Sangaiah


sarunkumar@vit.ac.in; arunkumarsangaiah@gmail.com

1 Department of Computer Science and Engineering, University Institute of Engineering and


Technology, Panjab University, Chandigarh, India
2 School of Computing Science and Engineering, Vellore Institute of Technology (VIT), Vellore
632014, India

123
Genetic algorithm-based cost minimization pricing model… 1537

1 Introduction

Cloud computing is an emerging distributed computing paradigm that has transformed


the way information technology (IT) resources are being provided by the companies. It
allows the consumers and organization to leverage the IT resources on pay-as-use basis
[1–3]. It incentivizes the users toward its utilization owing to its distinguishing features
like agility, flexibility and scalability. Cloud computing enables the small and growing
IT companies to focus on business operations instead of maintaining and purchasing
the in-house infrastructure resources. By the virtue of its great business potential
and significant features, numbers of organizations have entered in the cloud market
[4]. These providers offer different sets of homogeneous as well as heterogeneous
services [5]. As more providers are available in the market, users have more options
in the selection of providers, rendering same quality of service (QoS). Thus, it has
become extremely crucial for the providers to efficiently price the cloud services. Every
provider has the reserve price or lower bound of the prices beyond which provisioning
of the services will become non-profitable. So it has become very essential to determine
the minimum cost of executing the users’ task beyond which they could not afford the
provision of the services.
The provisioning of the cloud services is predominantly classified as reserved
service instances (RSI), on-demand service instances (ODSI) and hybrid (i.e., combi-
nation of RSI and ODSI) [6–11]. Different sets of pricing strategies are being devised
for each provisioning type. Econometric and market-based pricing models that aim
at maximizing the provider’ revenue [12] and provide admission control mechanism
to restrict the arrival of excess of consumers have been proposed [13]. But with the
availability of more number of cloud providers it has become equally essential for the
providers to consider the consumer’s perspective simultaneously. RSI are 60% cheaper
than ODSI, but in the long term where the service requirement is not predefined, there
ODSI ought to be less expensive as provisioning duration of the RSI is very long and
resources allocated to the users using RSI are not entirely utilized. Thus, it makes the
user to pay for the whole duration unlike ODSI where the service provisioning is made
on hourly basis. Cloud service providers, like Rackspace, Amazon EC2, provide both
RSI and ODSI [6]. For every new instance of service, Amazon charged fixed prices,
and there is no variation in the prices even if the total numbers of instances required by
the consumers vary at the providers’ end. But, according to econometric principles,
variation in the total demand of the resources greatly affects the price of the cloud
services. So, this demands the dynamic strategy for ODSI that can capture the dynam-
ics of the price of the cloud service with the change in the demand of the resources.
The conventional pricing models [14, 15], considering the static and dynamic pricing
parameters, evaluate the static and linear evaluation of the price. The optimized values
of the parameters like execution time and processing capacity are not evaluated earlier.
Our endeavor in this paper is to assist the provider to provide dynamic demand-
based pricing using the variable factors and to minimize the cost of executing the
user’s tasks. Numbers of cost factors are involved in the evaluation of the prices of the
cloud services, static as well as dynamic. But, the main focus in the paper is to assist
the provider in reaching the minimum the prices of the cloud services considering
the transaction-level variable factors [16]. However, cost of the cloud services can

123
1538 S. Kansal et al.

be further optimized by considering the other factors like data center geographical
location, data transfer rate (i.e., inbound, outbound data transfer), data center cooling
and other factors that also vary dynamically with the change in the users’ request
requirements. Transactional (capacity) [16] cost factors are prime concern in this
paper.
This paper presents a mathematical framework that can model the variation of the
price of cloud resources with the change in their demand. It enables the service provider
to calculate the dynamic demand-based prices of Infrastructure as a Service (IaaS) by
considering the users’ QoS requirements concurrently. Genetic algorithm is applied to
determine the optimal value of execution time from the range of deadline time and pro-
cessing capacity that minimize the cost of executing tasks. The proposed framework
assists the provider in prioritizing the execution of users’ tasks and in deciding the min-
imum cost processing capacity from the available processors. Performance analysis of
the framework is carried out by conducting the comparative analysis with the existing
pricing model, and experimental results exhibit better performance in terms of cost
minimization and users’ utility. Rest of the paper is organized as follows. Section 2
discusses the related work followed by problem formulation and proposed approach
in Sect. 3. Section 4 presents the experimental setup and performance analysis. Lastly,
Sect. 5 concludes the paper and gives future directions.

2 Literature survey

This section presents the work related to the existing pricing models used for the
evaluation of the cloud services followed by short coming in the previous works and
contribution statement.

2.1 Related work

Recent cloud services like Amazon Web Services, Google Cloud Platform follow
consumption-based pricing policies or utility-based pricing strategy. Economic and
market-based mechanisms have been deployed in cloud computing because financial
valuation of resources and services tends to be important aspect of this computing
model. Pordan et al. [12] proposed market-negotiation-based continuous double auc-
tion (CDA) mechanism for economically efficient execution of workflow application.
The auction mechanism is both users’ centric and providers centric where there exists
negotiation protocol between scheduler and resource manager. Authors try to gener-
alize users’ request behavior pattern that can be subsequently used to optimize the
resource allocation at provider end and simultaneously minimize the cost of execution
of the users’ application.
In [13], a dynamic automatic metered pricing mechanism based on utility is pre-
sented that regulates the prices on the basis of demand and supply. The mechanism
works on the demand and availability of the resources and can attract/restrict the users.
The proposed model is highly efficient for the providers but affects the utility of the
users and acts as an admission control mechanism for the users’ request.

123
Genetic algorithm-based cost minimization pricing model… 1539

Cloud computing services have been classified as: Subscription/Reserve instance-


based service provisioning pricing Model, On-demand service provisioning Pricing
Model, Spot pricing [7, 17, 8, 18]. A close theoretical insight of the subscription-
based and pay-per-use-based pricing policies for different cloud computing service
models is given in [7] and deduced that provider should use pricing policies according
to different market situations. For instance, for light business the provider should
use pay-per-use, and for heavy business user should adopt subscription-based pricing
policies: Contract-based Service-Level Agreement (SLA) service provisioning Pricing
Model. This pricing model involves the negotiation between the consumers and the
providers for the prices and QoS. QoS parameters range from reliability and then reach
a mutual agreement called SLA. In SLA, the cloud providers guaranteed to provide
agreed QoS to the client and violation to which panelize the provider.
In [19], the authors have presented a multi-objective negotiation mechanism that
tries to attain price maximization, total revenue maximization, client satisfaction. A
dynamic hybrid pricing strategy by considering the basic components of PaaS is pro-
posed in [20]. Authors have considered the cost as a driving factor for the more demand
of PaaS and proposed theoretical model so as to alter the PaaS prices. Multi-issue nego-
tiation mechanism for reserving the time slots and pricing the time slots for the spot
instances is demonstrated in [21, 22]. Provisioning spot instances was first introduced
by Amazon. Authors have used pricing time negotiation (PTN) between the providers
and agents so as to attain the reliability of the spot instances. Spot instances were mainly
introduced to overcome the resource wastage in dedicated resource provisioning. The
unused reserved resources in dedicated resource provision are further auctioned by
the consumers themselves at the rate more than the spot rates fixed by the providers.
But, spot instances are highly unreliable because if the consumers’ rates degrade less
than spot prices, the services are discontinued immediately.
Authors in [23] have developed database to determine the percentage shift of the
providers toward the spot instances. Though the spot instances are 52% cheaper than
the on-demand cloud instances, the shift is hardly 3.7% for the spot instances. This
on-demand pricing (ODP) is a dynamic rate price charged by the provider for different
instances of the virtual machines. These are real-time pricing (RTP), i.e., utility-based
pricing, where the provider incentivizes the consumers to shift toward off-peak low
pricing rates. Agmon et al. [23] have declassified the Amazon EC2 spot instances and
observed that pricing of these instances does not follow any specific pricing mech-
anism. The prices are randomly fixed by the providers. Fixed pricing methods are
economically inefficient to generate more revenue than dynamic pricing Models. In
[24], authors used the flat rate pricing with congestion control (FRPCC) pricing, as a
congestion control mechanism for cloud resources similar to the network pricing where
the pricing acts as the medium to control the arrival of requests to the servers. Deter-
mining the pricing of spot instances is comparatively less difficult due to availability
of historical information, but the on-demand pricing as mentioned in [21] follows the
dynamic downward stepping pricing mechanism so it is hard to determine their prices.
Black–Scholes model (BSM) is used to predict the option price of the resources in
[25]. This BSM option price mechanism is capable of predicting the future prices of
the resources, but it lacks accuracy and stability as it entails the fuzziness [26]. So this

123
1540 S. Kansal et al.

may involves the risk of loss that can be faced by the providers due to unstable option
prices.
Buell and Collofello [16] present the pricing framework for calculating the prices
of the application at the transactional level factors that includes memory, storage,
processing power and required bandwidth. More pricing factors like inflow data, out
flow data, maintenance are considered by Martens et al. [27]. But deeper knowledge of
the transactional cost factors greatly assists the developer in maximizing or minimizing
the profit of the providers. This paper considers the transactional factors that can assist
the provider in fixing the prices of the cloud services.
Researchers in [27, 15] have considered all the major fixed and dynamic cost factors
that all together come under total cost of ownership (TCO). It is the cost that incurs to
the cloud service provider for purchasing, maintaining and running the cloud services.
These factors include hardware, software licensing, labor, business premises, cloud
service and deployment cost. Cloud service providers on average typically charge 8%
more than the price of the service to compensate the cost of ownership [28] and they
are linearly independent. But there are certain factors like transaction factors [14] and
SLA components that bring the variation in the cost of cloud services. Such dynamics
is countered in this paper so as to deduce the optimal prices of the IaaS cloud services.
Authors in [14, 15] presented a comprehensive cost model for federated hybrid
cloud. As shown in Table 1, authors have covered all the aspects, i.e., traffic-related
cost factors, deployment-related cost factors, fixed cost factors, variable cost factors
that are the part of cloud pricing. The pricing functions except variable pricing factor
infer the independency of these factors and are not affected by the variation in the
demand of services. These are the factors that can variably affect the prices of cloud
services and can affect the decision of the consumers. Such kind of analysis is not
being done in the previous work. Considering these variable cost factors, this paper
presents the dynamic pricing model that can calculate the variation in the prices of
these resources with change in demand. Moreover, this paper also presents framework

Table 1 Cost factors in cloud computing [14, 15]

Cost type Cost factors

Traffic-related cost factors Data traffic, service placement, traffic cost rate
Deployment-related cost factors Cost of migrating the virtual machine from one public
cloud to another public cloud
Fixed cost factors The purchasing cost of for all the network devices, i.e.,
server, software licensing, middleware licensing,
facility space, non-electric equipments, SSL certificate
Initial and permanent training Internal training (amount of preparation time invested
by one or more employee*amount of time invested by
participating employee) (PIT )
External training (PET ), instruction material (C mat )
Training cost  PIT + PET + C mat
Variable cost factors (service cost) Computing power, storage power, inbound data transfer,
outbound data transfer
Maintenance Expenditure of time

123
Genetic algorithm-based cost minimization pricing model… 1541

that can optimally calculate the execution time of the user request from the range of
time given in SLA and also assist the providers in determining the processing capacity
required for the execution.

2.2 Contribution statement

From the literature, it is concluded that work has been done to optimize the cost
of resource allocation or cost-efficient resource allocation in utility computing, grid
computing and cloud computing. But very less work has been done toward resolving
and optimizing the dynamic pricing of on-demand cloud services where the users’
request varies. Earlier models have not taken into the consideration of the dynamics
of pricing with the variation in the length tasks. The present work models a dynamic
and adaptable pricing model for on-demand instances of IaaS that give an insight into
the provider of how it should fix the prices for the set of resources available with IaaS
cloud services. Considering the issues in the pricing of the cloud services, following
are the main contribution in this paper:
1. Proposed a dynamic on-demand mathematical pricing model for cloud providers
using transaction-level pricing factors, i.e., memory, storage and computational
power. These are the factors that dynamically affect the prices of the cloud services
and play crucial role in deciding the prices of cloud services.
2. Deployed the genetic algorithm to determine the execution time and processing
capacity of the users’ jobs in the given deadline time that returns the best prices
for the users’ task.
3. Performed the comparative analysis of the proposed framework with utility-based
pricing model in terms of minimum price calculation for the provisioning services
and users’ utility.

3 Problem description and system model

Nowadays, number of cloud service providers providing the same kind of services has
increased in the market. This provides more options to the end users for selecting the
providers. At the same time, on-demand cloud service requirement for the execution
of scientific application has made it difficult for the providers in deciding the prices
of the cloud services. Instead of revenue maximization, it is becoming very essential
for the providers to minimize the cost of execution and evaluate the minimum price
beyond which the provisioning of the services will be non-profitable to the provider.
As in case of scientific applications like workflow applications, the requests arrive to
the provider with specific deadline with no predefined cost. In that case, the provider
needs to evaluate whether the execution of user request will be increasing profit or
decreasing profit. For that, provider will be required to evaluate the minimum price
by considering all the cost factors. As given in Table 1, a number of cost factors
are involved in pricing the cloud services. From that, variable cost factors are taken
and aim to minimize the cost of execution. The prime focus of the proposed model
is to assist the provider in reaching the minimum cost considering memory, storage,

123
1542 S. Kansal et al.

Table 2 Notations used


Notation Definition

Ji Job length (in million instruction)


CJ Processing capacity of the of the virtual machine
(j ∈ 1 to n)
αi Negative constant of the downward price slope
Di Deadline time for job
ETi Actual execution time of every job
Ccost Variable processor cost
Stcost Variable storage cost
Mrcost Variable RAM cost
Pr tp Total price
Pr stat Static price component
Pr var Dynamic price component

computation power, job length and deadline time. The problem statement is defined
as:

Problem definition In the presence of multiple homogeneous service providers and


dynamic demand for on-demand cloud services instances, how to fix the prices of the
services such that the prices are dynamic with respect to demand and supply. Given job
length, i.e.,Ji , processor capacity, i.e.,C 1J , C 1J , . . . , C nJ and deadline time, i.e., D min
to D max what should be the execution time and computation capacity required for
the user job such that the provider is able to calculate the minimum price of the cloud
service instances (Table 2).

3.1 Proposed pricing model

The proposed pricing framework is the combination of the demand-based pricing


model and genetic algorithm-based optimization. The flowchart of the proposed
scheme is shown in Fig. 1.
The pricing function calculates the total price that incurs to the consumer. The
pricing function here consists of two components: static component and variable
component. Static component, i.e., base price, will remain fixed, and the variable
component, as mentioned in Table 1, is the dynamic component, i.e., variable factors,
whose value varies according to the utilization of the resources by the consumers.
Equation (1) presents the static and dynamic components of total price.

Pr tp  Pr stat + Pr var (1)

Pr stat is the base price of using any service that is obtained by the providers consid-
ering all the TCO factors and that varies from provider to provider. Typically, cloud
service providers on average charge 8% more than the price of the services to com-
pensate the cost of ownership [28], but that too vary from company to company. Pr var

123
Genetic algorithm-based cost minimization pricing model… 1543

Start

User’s request

U ( J j , D min
j − D max
j , Q St , Q Mr ).

User’s request arrives to cloud provider with provisioning


capacity Pr ( C j , St , M pr , N )

Using Demand based model, dynamic price of Storage and


Memory is evaluated using eq. (10)

Optimal value of Execution time and Processing capacity is


evaluated using Genetic Algorithm

Total variable cost of execution, i.e., Pr is calculated


using eq. (12)

End

Fig. 1 Flowchart of proposed pricing framework

is a variable component that fluctuates with time and dynamically affects the prices of
the cloud services. These variable factors effectively help the provider in generating
the higher profits. But at the same time, optimal pricing of the services by considering
the QoS of the consumer is equally required so as to mitigate the trade-offs between

123
1544 S. Kansal et al.

the providers and consumers’ interest. So, in this paper we have considered the dead-
line time of the consumer as the QoS, i.e., (D min , D max ), that should be satisfied
by the cloud service provider. The transaction-level cost factors for pricing the cloud
services, i.e., processing cores, storage and memory that are important factors for run-
ning any application on cloud, are taken [27]. Processing cores includes job length,
computation capacity and execution time.

Pr var  (Ccost + Stcost + Mrcost ) (2)

Proposition The variable component of total revenue, i.e.,Pr var with job length(Ji ),
computing capacity (C J ), storage(Q st ) and memory(Q Mr ) at transaction level is given
as
   2   
Jj Jj  
Pvar  α1 + 1 + β1 +1 + α2 × Q 2st + β2 × Q st + α3 × Q 2Mr + β3 × Q Mr
C j × ETi C j × ETi
(2.1)

The profit attained by the provider is the revenue that exceeds the total expenses of
the organization or the company. Profit function that incurs to the cloud provider will
be calculated as shown in Eq. (2.2) [18].

πi  Pr tp − TC (2.2)

where TC is the total cost of ownership (TCO) and it is the cost that incurred to the
provider owing to up-front cost and the on-going cost [29] and Pr tp is the total revenue
generated by the provider by the provisioning of the services.

Proof The execution time of the job should lies in deadline time of the job, i.e.,
between Dimin and Dimax [5]. For that, more number of computing processor with
same computation power (C j ) will be required. Let say n be the number of required
processors, so C j ∗ n is the required computation power for the execution of the job.

C J  processing capacity of the virtual machine of the virtual machine may vary
according to two factors, i.e., job length and the deadline of the requested job. When
the length arriving job is higher and the deadline time is low, then more cycles of the
processor will be required for the completion of the job.
If J j is the length of the job, then execution cost, i.e., ETi , is calculated as given
by Eq. (3).

Jj
ETi  (3)
Cj × n

From Eq. (3) number of processing cores, i.e., n is calculated, as shown in Eq. (4)

Jj
n (4)
C j × ETi

123
Genetic algorithm-based cost minimization pricing model… 1545

Using the demand curve, the change in the price of the resources with the increase
in demand is represented as: C  α ∗ Q + β where Q is the quantity of the resources,
β is the base price and α is the small fraction of change in price with the increase in
the prices of cloud services.
  
Jj
Computation cost per unit is calculated as  α1 + 1 + β1 (5)
C j × ETi

This is the case where demand is linear demand function. α1 < 0 as demand function
follows the downward slope and processing computation is fixed. Value of α1 shows
the variation in the price of the different types of resources. More the requirement of
the resource increases, less will be the cost of per unit of resource. But the processor’s
requirement for the execution of task also varies with the variation in the deadline time
and job length. So the computation cost per unit of time is shown in Eq. (6)
  
Jj
Ccost  α1 + 1 + β1 × C j (6)
C j × ETi

Similarly, Stcost , i.e., cost per unit storage, is calculated by Eq. (7) as:

Stcost  α2 × Q st + β2 (7)

where Q st is the quantity or amount of storage.


Mrcost , i.e., cost per unit RAM, is calculated by Eq. (8) as:

Mrcost  α3 × Q Mr + β3 (8)

Q Mr is amount of required RAM. In Eq. (7) and Eq. (8) the values of α2 , α3 < 0 due
to downward slope.
Total variable cost that incurs to the consumer is calculated by Eq. (9) as cost per
unit resource multiplied by quantity of the resource.

Pvar  (Ccost ∗ n + Stcost ∗ Q st + Mrcost ∗ Q Mr ) (9)

Using Eqs. (5), (7), (8) and (9) can be further written and expanded as shown in
Eqs. (10) and (11)
       
Jj Jj
Pvar  +1 α1 + 1 + β1 × C j + Q st (α2 × Q st + β2 ) + Q Mr (α3 × Q Mr β3 ) (10)
C j × ETi C j × ETi
   2   
Jj Jj  
Pvar  α1 + 1 + β1 × C j +1 + α2 × Q 2st + β2 × Q st + α3 × Q 2Mr + β3 × Q Mr
C j × ETi C j × ETi
(11)

Equation (11) represents the variable component of the pricing function that models
the prices of the resources dynamically with the change in demand.
The IaaS cloud services are mainly provisioned in the form of VMs, and these
VMs are configured on the fly for on-demand cloud services [28]. Providers have the

123
1546 S. Kansal et al.

processors with different ranges of processing capacity. Each user request consists of
deadline range, i.e., Dimin to Dimax , in which the provider is bound to execute the
users’ request. It is difficult for the cloud provider to decide the optimal processing
capacity from the range of processing capacities and optimal execution time within the
deadline such that the cost of executing the users’ task is minimum. So, another part
of the problem lies in determining the execution time of the users’ job in the deadline
time Dimin to Dimax , evaluating the capacity of the processors that satisfies the users’
requirement with minimum value of Pvar . To solve this problem, next section presents
the evolutionary-based optimization technique. Each users’ request consists of set of
service requirements, and every provider follows service model for the provisioning
its services. Users’ task model and provider’s service model are defined in Sects. 3.1.1
and 3.1.2, respectively.

3.1.1 User task model

Number of end users’ requests arrive to cloud service provider for the execution of
tasks. Each task differs in the service requirements, and its attributes mainly consists
of job length, i.e., J j , deadline time in which the job need to be get executed, i.e.,
D min
j − D max
j , storage requirement (Q St ) and RAM (Q Mr ) as service requirement.
These users’ tasks are modeled as U (J , D min −D max , Q , Q ), and on the basis of
j j j St Mr
user’s requests, providers manage the provisioning of the resources to the consumers.

3.1.2 Provider service model

Cloud providers disseminate different sets of services to the cloud users. IaaS cloud ser-
vice providers deliver the resources in the form of VMs with different configurations.
In on-demand, service instance of the consumer is allowed to update the configuration
of the services dynamically. From the provider’s side, cloud service model consists of
processing power, i.e., C j , storage (St), RAM (Mpr ) and number of processing cores
(N). So, the provider cloud service model is considered as set of service provisioning
attributes and is represented as Pr(C j , St, Mpr , N ).

3.2 Execution time and processing capacity using genetic algorithm

Genetic algorithm (GA) is meta-heuristic and evolutionary optimization algorithm,


based on the biological evolution of genes. Its adaptability to the change in the envi-
ronment makes it highly used in the optimization problems. In GA, there are pool of
possible solutions and these solutions undergone series operations like initialization,
selection, crossover and mutation to reach the optimal solution [30]. It is self-adaptive
optimization algorithm where the end solution is the result of recombination and repro-
duction of individuals with better fitness value. For proposed model, GA is deployed
to evaluate the execution time of the job in the given deadline and to determine the
required processing power that returns the minimum cost of executing the users’ task.
So, the problem is reduced to minimize the variable price, i.e., Pr var , of the cloud
services.

123
Genetic algorithm-based cost minimization pricing model… 1547

i.e., f (x)  Min(Pr var )


Subject to α1 , α2 , α3 < 0 and ET ∈ D min
j , D max
j

The steps involved in the evaluation of execution time and processing capacity
using the GA are as follows.

3.2.1 Encoding

The overall aim of the proposed framework is the evaluation of optimal execu-
tion time and optimal processing capacity. The users’ request, i.e., U (J j , D min
j −
D max
j , Q St , Q Mr ), arrives to the provider with service provisioning capacity, i.e.,
Pr(C j , St, Mpr , N ). The cost of Q St and Q Mr is calculated dynamically, using the
proposed model as given in Sect. 3.1, but the processing power and execution time are
evaluated optimally by the GA. Let T1, T2, …, and T10 be the users’ tasks and differ-
ent processors available with provider are P1 , P2 , P3 , P4 and P5 . As shown in Fig. 2,
allocation of the users’ task is required to be done optimally on available processors
for minimizing the cost of execution.

3.2.2 Initialization

GA begins with initialization. It is the process of choosing the individuals from the set
of available possible solutions. Initial population can be selected randomly or by using
heuristics. In random initialization, individuals are populated randomly, and in heuris-
tic, individuals are populated using some pattern and knowledge about problem. In our
work, random initialization is deployed for the selection of initial population. Different
ranges of processors are given in Fig. 2c. As shown in Fig. 2a, random initialization

Processor Tasks
P1 T5, T3 P3 P4 P1 P5 P1 P2 P2 P2 P4 P5
P2 T6,T7, T8
P3 T1 (b)
P4 T2, T9
P5 T4, T10
(a)

Processor Processing Capacity in MIPS


P1 300-330
P2 330-360
P3 360-390
P4 390-420
P5 420-450
(c)
Fig. 2 Encoding and random initialization. a Two-dimensional string. b Users’ task–processing capacity
mapping. c Processor range

123
1548 S. Kansal et al.

is done by allocating the tasks randomly to the processors. User’ task and processing
capacity mapping are represented as shown in Fig. 2b. This initial population then
undergoes to recombination and reproduction to produce better chromosomes for the
next generation.

3.2.3 Fitness function

It is the deciding criterion in the selection of the individuals from the initial population.
It measures the degree fitness of the chromosome. In our proposed minimization
problem, Pvar , as mentioned in Eq. (11), is the fitness function.

3.2.4 Selection

It is the process of selecting the parents from the initial population for the intermediate
generation. There are number of ways in which selection can be done, i.e., Roulette
wheel, Boltzmann selection, rank selection and tournament selection.
We have used tournament-based selection as it is computationally more efficient
and more effective to parallel implementation. Moreover, the distance between the
individuals is more in tournament selection as compared to the other selection meth-
ods as evaluated, thus preventing the premature convergence of the solution. In this
selection method, two individuals are chosen randomly from the population. The indi-
vidual with more fitness value is selected, and these two individuals are then returned
to the original population for again participating in the selection process.
As shown in Fig. 3, Parent (a) with more fitness value is selected using tournament
selection. It undergoes crossover process with other selected parent. Parent (a) is send
back to the initial population so that it can again go through selection process.

3.2.5 Crossover

Crossover is the convergence operation which is used to pull the solution toward the
local maxima or minima. It is used to create the new individuals by the rearrangements
of the existing individuals. Individuals with better fitness value are selected, and using
scattered crossover operation, random vector of binary values is obtained. Genes are
selected from first parent where the vector value is 1, and genes from the second parent
are selected where the vector value is 0. Let the random vector is [1 1 0 0 1 1 0 1 1

Parcipated in Produce Child 1


Parent (a) Selected Crossover with other
selected parent Child 2

Parent (a)
Inial populaon

Fig. 3 Tournament selection

123
Genetic algorithm-based cost minimization pricing model… 1549

P3 P4 P1 P5 P2 P2 P2 P4 P5 P5
(a)
P6 P3 P4 P1 P5 P2 P4 P5 P3 P4
After scattered crossover using vector [1 1 0 0 1 1 0 1 1 0]
(b)
P3 P4 P4 P1 P2 P2 P4 P4 P5 P4
(c)
Fig. 4 Crossover. a Parent 1. b Parent 2. c Child

Table 3 Pseudocode for price optimization

0], and individuals selected based on tournament selection are Fig. 3a, b as shown in
Fig. 4. After crossover, the chromosome is shown in Fig. 4c.

3.2.6 Mutation

Mutation process is a divergent operation that breaks the members of a population out
of the local maxima and intends to discover the better maxima or minima. This process
helps the GA to explore and find the better genetic material than previously considered.
To find the global minima, in this proposed framework, constraint-dependent mutation
process is used.
Table 3 presents the pseudocode for obtaining the optimal calculation of the exe-
cution time and the computation capacity required by the user task using proposed
framework. Table 4 presents the parameters setting for genetic algorithm.

123
1550 S. Kansal et al.

Table 4 Parameters settings in


Factors Parameters setting
GA
Initial population 20
Crossover fraction .8
Mutation rate .01
Scaling iteration 50

4 Experimental results

For the evaluation of the proposed model, different sets of user’s requests are taken.
These requests are varying in terms of resource requirement and QoS requirement. As
such, no standard dataset is available for the performance evaluation of the proposed
DGA model. Data for the scientific workflow applications are available [31] which
consist of the number of interconnected files. So, for the evaluation, different files
from the available data are taken as the user’s requests that vary in terms of job length
(i.e., file size in number of instructions and execution time). For the same set of user’s
requests, performance of the existing UBP model is done.

4.1 Experimental setup

For the experimental assessment, different user’s requests U, as given in Sect. 3.1.1,
are considered. Values of memory and storage are increasing, and deadline time is
taken as decreasing linear function of time.
The users’ requests have been categorized as: (1) static job length request and (2)
variable job length request. In the first case, the job length is kept constant while
keeping memory, storage requirement and deadline time varying. In second case, all
the factors i.e., the job length, memory, storage and deadline time are varying.
Values of the constants α1 , α2 , α3 and β1 , β2 , β3 are fixed by the cloud provider
according to the TCO. α is the variation in the unit price of the resources that vary
according to the increase in the quantity of the resources, and β is the fixed price of
the resources around in which the value of α varies. So, these two values are fixed by
the provider according to the cost that incurred to the provider. Here, we have taken
the values of α1  −.06, α2  −.0008 and α3  −.003 from the available cloud
services. Base values of the resources, i.e., processor, storage and memory, are taken
as β1  .5, β2  10 and β3  20, respectively, and for the comparative analysis of
DGA and UBP model, base value of the resources is considered same. Values of GA
parameters are given in Table 4.
Experiments are performed on system with configuration as: 4 GB RAM, 500 GB
hard disk and i5 processor with 3.30 GHz processing speed. Computation is done
using optimization computation toolbox for MATLAB 2012b.

4.2 Performance evaluation

For the performance analysis of the proposed framework, price variation and con-
sumer’s utility are considered. Price variation is the change in price of the users’

123
Genetic algorithm-based cost minimization pricing model… 1551

requests with the change in requirement of users’ request for resources and that is
evaluated as presented in Sect. 3.2. Consumer’s utility, i.e., UC , is the measure of
consumer’s QoS satisfaction for the users’ request of the required resources with cor-
responding price. UC is calculated as given in Eq. (12).

RT
UC  ×λ (12)
PVar

where RT is the total normalized resources, λ is the constant variable, PVar is the
variable price as calculated by Eq. (11).
RT is calculated as:

RT  Ncores + NMemory + NStorage (13)

where Ncores is normalized cores, NMemory is normalized memory and NStorage is


normalized storage.
Authors in [13] have proposed utility-based pricing (UBP) model for the evaluation
of the prices of the cloud services, specifically for IaaS service instances given in
Eq. (14).

Rmax
PUtility  φ1 ∗ Pbase + φ2 ∗ Pbase (14)
Rfree

where Rmax is the upper limit of available resources with the provider, Rfree is the
amount of resources free, Pbase is the base price of the resources, φ2 and φ1 are the
weighting fractions [13]. For the performance evaluation, we have compared our pro-
posed demand and GA (DGA)-based pricing model with UBP model. For comparison
analysis, the base price of resources in DGA model and UBP model are kept same.

4.3 Results and analysis

The variation in the prices of the cloud services with variation in job length and
deadline time is analyzed using the proposed model as shown in Fig. 5. It shows that
the values of the price vary slightly linearly when the deadline time is high, i.e., when
deadline is 80–90 s and 70–80. Price is varying nonlinearly when the corresponding
values of deadline are comparatively low, i.e., 20–30 and 30–40 s.
Main focus of the proposed framework is to minimize the price of on-demand
services and to determine the processing power of provider and execution time of
user’s request that will results in minimizing the cost of execution. For the analysis,
two different scenarios are taken. In the first one, the processing power of the VM is
kept constant and evaluated only the execution time of the users’ tasks. In the second
scenario, both the processing power and execution time are variable and analysis is
also done for the jobs of different lengths.

123
1552 S. Kansal et al.

1600

1400
Price

1200 20-30
30-40
1000
40-50

Deadline me
800 50-60
600 60-70
540
580

70-80
620
660
700
740
780

80-90
820
860
900
960
Job Length *1000
Fig. 5 Price variation with job length and deadline time

Table 5 Optimal prices for different sets of resources using DGA-based pricing model and UBP model

Task no. Deadline Storage in Memory in Execution DGA pricing UBP


time in (s) GBs GBs time (pricing)

1 110 30 0.5 107.44 4966.939 5131.33


2 100 40 0.5 99.78 5339.279 5528.58
3 90 50 0.7 89.20 5987.995 6227.25
4 80 60 1.0 78.22 6910.337 7227.79
5 70 70 1.5 68.92 7418.719 8243.32
6 60 80 2.0 59.60 9030.868 9594.20
7 50 90 2.5 48.60 10,765.741 11,552.94
8 40 100 3.0 37.90 13,844.001 14,930.22
9 30 120 3.5 29.80 17,542.864 19,943.00
10 20 130 4.0 19.80 25,630.432 31,565.83

4.3.1 For homogenous processing power and static job length

In this scenario, arrived task job length remains same, i.e., job length is set to
980,000 million instructions. Processing capacity of the processer too varies from one
hardware architecture to another, but here the processor capacity is kept constant, i.e.,
550 MIPS. Table 5 presents the different users’ requests. Values of ETi , Q Mr and
Q st , are given, and execution time in the deadline time, i.e., (Dimin − Dimax ), which
returns the minimum cost of executing services is evaluated. Comparative analysis
of the proposed framework is also done with the utility-based pricing (UBP) model
[13, 32]. From the results, it can be asserted that cost calculation for the users’ task
can be done more efficiently as compared to cost calculation using the UBP. With
the increase in demand of more resources by the users, increase in the price is more

123
Table 6 Different users’ requests with different job lengths with processing power of range 200–300 MIPS

Task no. Deadline Storage in Memory Job length  980,000 Job length  540,000 Job length  180,000
time (s) GBs In GBs

Execution Processing Price Execution Processing Price Execution Processing Price


time (s) power time (s) power time (s) power
(MIPS) (MIPS) (MIPS)

1 110 34 0.5 109.6 203.700 4660.822 109.9 223.146 2734.849 107.55 209.202 1125
2 100 40 0.5 98.90 213.046 5181.8141 99.8 207.865 3070.4009 99.78 225.849 1308.2770
3 90 50 1.0 89.30 200 5836.49 89.8 230.793 3477.4609 90 285.755 1515.1999
4 80 60 1.5 79.9 200.838 6529.4256 80 217.742 3944.4609 79.8 250.012 1747.3064
Genetic algorithm-based cost minimization pricing model…

5 70 70 2.0 69.9 208.958 7466.8352 69.7 233.772 4527.9628 69.8 285.727 2016.9812
6 60 80 2.5 59.9 223.748 8691.9289 59.8 209.306 5233.9917 59.7 273.219 2340.3035
7 50 90 3.0 48.9 202.449 10,207.725 48.9 200.528 6192.7838 49.18 212.135 2739.2986
8 40 100 3.5 37.9 205.918 12,464.4145 39.7 211.073 7570.5530 39.9 250.024 3292.7356
9 30 110 4.0 29.4 251.302 16,999.1847 29.8 243.249 9940.0785 29.893 206.916 4218.2578
10 20 120 4.5 19.8 243.791 23,453.791 20 217.780 13,956.1965 19.8 281.374 5816.9631
1553

123
1554

123
Table 7 Different users’ requests with different job lengths with processing power of range 300–450 MIPS

Task no. Deadline Storage in Memory Job length  980,000 Job length  540,000 Job length  180,000
time (s) GBs In GBs

Execution Processing Price Execution Processing Price Execution Processing Price


time (s) power time (s) power time (s) power
(MIPS) (MIPS) (MIPS)

1 110 34 0.5 109.811 406.365 4760.2588 109.53 377.788 2754.7580 108.364 332.376 1238.1594
2 100 40 0.5 99.8 306.281 5258.2953 99.096 302.744 3113.9735 98.586 308.285 1331.413
3 90 50 1.0 90 375.482 5912.0213 90 300.002 3494.0142 89.613 402.236 1522.0875
4 80 60 1.5 79.858 300 6676.2548 79.99 321.545 3976.8754 79.942 322.242 1522.0875
5 70 70 2.0 69.898 400.169 7665.4652 69.922 335.459 4562.1069 69.2 300.01 2081.2119
6 60 80 2.5 59.005 362.794 8890.2817 59.998 428.592 5318.6126 59.895 429.773 2346.1252
7 50 90 3.0 49.779 311.182 10,517.5883 49.558 308.737 6282.8998 48.39 413.688 2744.9702
8 40 100 3.5 39.98 331.088 12,983.6559 39.97 385.730 7738.7351 39.894 410.224 3310.9360
9 30 110 4.0 29.4 317.171 16,966.1874 29.9 439.184 10,170.8522 29.89 376.353 4263.8980
10 20 120 4.5 19.6 324.565 24,513.8728 19.9 325.403 14,467.312 19.957 392.183 5854.7865
S. Kansal et al.
Genetic algorithm-based cost minimization pricing model… 1555

Fig. 6 Price variation for job length 180,000 and users’ request for normalized resources as given in Table 6

frequent in UBP in comparison with that of demand and GA (DGA)-based price as


shown in Table 5. Consequently, DGA’s minimum price calculation is more efficient
than minimum price calculation with UBP model.

4.3.2 For heterogeneous processing power and variable job length

In this scenario, the processing capacity available with the provider and execution time
required for the execution of the users’ request is calculated using the proposed model.
Similarly to the previous case, different users’ requests are considered as shown in
Tables 6 and 7. Users’ request consists of the deadline time, storage, memory and tasks
with different job lengths. In Table 6, processor range 200–300 MIPS is taken, and in
Table 7, processing range is 300–450 MIPS. Different ranges of processors are used to
determine the cost variation of users’ task with same service requirements and same
job lengths with different provisioning capacities. It can also be seen from Tables 6 and
7 that the price of the users’ request is higher when processors with higher processing
capacity are taken.

123
1556 S. Kansal et al.

Fig. 7 Price variation for job length 540,000 and users’ request for normalized resources as given in Table 6

Providers have different computing processors, P1, P2, P3, P4 and P5 as given in
Fig. 2, and users have different requirements of deadline time for the execution of the
users’ request, and different requirements for memory and storage. Using the proposed
DGA-based framework, optimal value of execution time and processing capacity that
return the minimum prices of the corresponding users’ request is calculated. From
Table 7, it can be concluded that for task T1, processor P2 should be deployed, and for
T2, P1 should be used. Similarly for T3, T4, T5, T6, T7, T8, T9 and T10, P4, P1, P1,
P5, P4, P4, P3 and P4 should be deployed, respectively. Along with that, corresponding
minimum dynamic cost of provisioning service to the users’ request is calculated as
shown in Tables 6 and 7 using Eq. (12).

Price variation analysis with UBP Price variation using proposed framework, i.e.,
DGA and using UBP pricing model for user’ tasks request from Table 6, is shown
in Figs. 6, 7 and 8 for job length 180,000 MI, 540,000 MI and 980,000 MI, respec-
tively. It is inferred from the results that minimum price evaluation, applying DGA, is
comparatively less than price evaluation using UBP. For less resource requests, price
variation is comparatively less as shown in Fig. 6, but when the demand of required
resources increases, price variation becomes considerably high. As shown in Fig. 7,
price difference is only 100 when normalized resource requirement is 0.544, but as

123
Genetic algorithm-based cost minimization pricing model… 1557

Fig. 8 Price variation for job length 980,000 and users’ request for normalized resources as given in Table 6

the QoS and resource requirement increases, there is considerable increase (i.e., 40%)
in the prices by using UBP model as compared to price using DGA model.

Users’ utility variation Users’ utility comparison of proposed framework, i.e., DGA,
is also done with traditional pricing model, i.e., UBP [13], for the users’ requests as
given in Table 6. The users’ utility is evaluated using Eq. (12). From Figs. 9, 10 and
11, it can be evaluated that users’ utility is first increasing and then decreasing due
to rate of diminishing marginal utility. With the proposed DGA pricing framework,
users’ utility is comparatively higher than the utility obtained by UBP pricing model.
As the users’ job length increases, our proposed DGA model performs better in terms
of users’ utility as compared to UBP model. It can be seen in Fig. 9 that average
difference in the utility using DGA and UBP is .00692 when Ji  180,000, .01272
when Ji  540,000, and .0248 when Ji  980,000 as shown in Figs. 10 and 11,
respectively.

123
1558 S. Kansal et al.

Fig. 9 User’ utility for job length 980,000 and users’ request for resources as given in Table 6

For the comprehensive analysis of the proposed framework, different sets of the
users’ requests are taken that vary in job length, deadline time, amount of storage
and memory. Along with that, different processing capacities available with provider
are also considered. Experimental results indicate that for same users’ request, more
number of processor cores with lower capacity result in less pricing instead of less
number of processor cores having higher capacity. The proposed DGA-based pric-
ing framework fixes the prices dynamically and more efficiently than the existing
pricing UBP model. The proposed framework’s cost minimization efficiency is much
higher than the existing pricing model and also increases the utility of the cloud
users.

5 Conclusion and future directions

With the existence of multiple homogenous cloud service providers in the market
and growing requirement for on-demand cloud services, it has become extremely
critical to effectively price the cloud services. For the efficient pricing of the cloud
services, this paper presents two phase price minimization model. In the first phase,
the demand-based dynamic pricing model is proposed that can model the dynamics of

123
Genetic algorithm-based cost minimization pricing model… 1559

Fig. 10 User’ utility for job length 540,000 and users’ request for resources as given in Table 6

pricing of cloud services with the variation in the demand for the cloud services.
In the second phase, genetic algorithm is deployed to minimize the cost of exe-
cution of user’s tasks. For the evaluation of the proposed framework, comparative
analysis is carried out with utility-based pricing model. Experimental results exhibit
considerable variation in the prices of the cloud services and user’s utility using
proposed framework, when the service requirements of the users are substantially
higher.
In this paper, the variable transaction factors that greatly affect the prices of the
cloud services are considered. Dynamic price variation of the memory, storage, job
length, processing capacity and deadline time is analyzed. Dynamic behavior of the
network is not addressed by the proposed model. As the future work, this framework

123
1560 S. Kansal et al.

Fig. 11 User’ utility for job length 980,000 and users’ request for resources as given in Table 6

can be extended by considering the others factors like inbound and outbound data
transfer, energy cost, transmission to analyze the variation of prices with the change
in the number of VMs

References
1. Galante G, De Bona LCE, Mury AR, Schulze B, da Rosa Righi R (2016) An analysis of public clouds
elasticity in the execution of scientific applications: a survey. J Grid Comput 14(2):193–216
2. Armbrust M, Fox A, Griffith R, Joseph AD, Katz R, Konwinski A, Lee G, Patterson D, Rabkin A,
Stoica I, Zaharia M (2010) A view of cloud computing. Commun ACM 53(4):50–58
3. Armbrust M, Fox A, Griffith R, Joseph AD, Katz RH, Konwinski A, Lee G, Patterson D, Rabkin A,
Stoica I, Zaharia M (2009) Above the clouds: a berkeley view of cloud computing, Vol 4, pp 506–522.
Technical Report UCB/EECS-2009-28, EECS Department, University of California, Berkeley
4. Cloud Harmony (2016). https://cloudharmony.com/status
5. Pal R, Hui P (2013) Economic models for cloud service markets: pricing and capacity planning. Theor
Comput Sci 496:113–124
6. Amazon EC2 (2016). https://aws.amazon.com/ec2/pricing/
7. Chun SH, Choi BS (2014) Service models and pricing schemes for cloud computing. Clust Comput
17(2):529–535
8. Suleiman B, Sakr S, Jeffery R, Liu A (2012) On understanding the economics and elasticity challenges
of deploying business applications on public cloud infrastructure. J Internet Serv Appl 3(2):173–193
9. Kaur S, Singh S, Kaushal S, Sangaiah AK (2016) Comparative analysis of quality metrics for com-
munity detection in social networks using genetic algorithm. Neural Netw World 26(6):625

123
Genetic algorithm-based cost minimization pricing model… 1561

10. Sangaiah AK, Thangavelu AK, Gao XZ, Anbazhagan N, Durai MS (2015) An ANFIS approach for
evaluation of team-level service climate in GSD projects using Taguchi-genetic learning algorithm.
Appl Soft Comput 30:628–635
11. Rathore S, Sangaiah AK, Park JH (2017) A novel framework for internet of knowledge protection in
social networking services. J Comput Sci. https://doi.org/10.1016/j.jocs.2017.12.010
12. Prodan R, Wieczorek M, Fard HM (2011) Double auction-based scheduling of scientific applications
in distributed grid and cloud environments. J Grid Comput 9(4):531–548
13. Yeo CS, Venugopal S, Chu X, Buyya R (2010) Autonomic metered pricing for a utility computing
service. Future Gen Comput Syst 26(8):1368–1380
14. Altmann J, Kashef MM (2014) Cost model based service placement in federated hybrid clouds. Future
Gen Comput Syst 41:79–90
15. Truong HL, Dustdar S (2010) Composable cost estimation and monitoring for computational applica-
tions in cloud computing environments. Proc Comput Sci 1(1):2175–2184
16. Buell K, Collofello J (2011) Transaction level economics of cloud applications. In: 2011 IEEE World
Congress on Services (SERVICES), pp 515–518. IEEE
17. Mills KL, Dabrowski C (2008) Can economics-based resource allocation prove effective in a compu-
tation marketplace? J Grid Comput 6(3):291–311
18. Kansal S, Singh G, Kumar H, Kaushal S (2014) Pricing models in cloud computing. In: Proceedings
of the 2014 International Conference on Information and Communication Technology for Competitive
Strategies, p 33
19. Macias M, Guitart J (2010) Using resource-level information into non-additive negotiation models for
cloud market environments. In: 2010 IEEE Network Operations and Management Symposium-NOMS,
pp 325–332
20. Lu H, Wu X, Zhang W, Liu J (2012) Optimal pricing of multi-model hybrid system for PaaS cloud
computing. In: Cloud and Service Computing (CSC), 2012 International Conference, pp 227–231
21. Son S, Sim KM (2012) A price-and-time-slot-negotiation mechanism for cloud service reservations.
IEEE Trans Syst Man Cybern Part B (Cybern) 42(3):713–728
22. Rohitratana J, Altmann J (2012) Impact of pricing schemes on a market for Software-as-a-Service and
perpetual software. Future Gen Comput Syst 28(8):1328–1339
23. Agmon Ben-Yehuda O, Ben-Yehuda M, Schuster A, Tsafrir D (2013) Deconstructing amazon EC2
spot instance pricing. ACM Trans Econ Comput 1:16
24. Li CF (2011) Cloud computing system management under flat rate pricing. J Netw Syst Manag
19(3):305–318
25. Wang H, Jing Q, Chen R, He B, Qian Z, Zhou L (2010) Distributed systems meet economics: pricing
in the cloud. HotCloud 10:1–6
26. Allenotor D, Thulasiram RK (2008) Grid resources pricing: a novel financial option based quality of
service-profit quasi-static equilibrium model. In: Proceedings of the 2008 9th IEEE/ACM International
Conference on Grid Computing, IEEE Computer Society, pp 75–84
27. Martens B, Walterbusch M, Teuteberg F (2012) Costing of cloud computing services: a total cost of
ownership approach. In: 2012 45th Hawaii International Conference on System Science (HICSS), pp
1563–1572. IEEE
28. Kaufmann A, Dolan K (2015) Price comparison: Google cloud platform vs. Amazon web services.
Enterprise Strategy Groups Lab White Paper
29. Martens B, Walterbusch M, Teuteberg F (2012) Costing of cloud computing services: a total cost of
ownership approach. In: Proceedings of the 2012 45th Hawaii International Conference on System
Sciences (HICSS’12). IEEE Computer Society, Washington, DC, USA, pp 1563–1572. http://dx.doi.
org/10.1109/HICSS.2012.186
30. Mitchell M (1998) An introduction to genetic algorithms. MIT Press, Cambridge
31. https://github.com/WorkflowSim/WorkflowSim-1.0. Accessed 23 May 2017
32. Yeo CS, Buyya R (2007) Pricing for utility-driven resource management and allocation in clusters. Int
High Perform Comput Appl 21(4):405–418

123

You might also like