This is to certify that the work described in this project report has been
actually carried out and implemented by our project team consisting of
Sr.
1.
Admission No.
Student Name
U12COO71
Vaibhav Parihar
2.
U13CO068
Himal Patel
3.
U13CO053
Deep Bhavsar
4.
U13CO090
Anil Kumar
Neither the source code there in, nor the content of the project report have
been copied or downloaded from any other source. We understand that our
result grades would be revoked if later it is found to be so.
Signature of the Students:
Sr.
Student Name
1.
Vaibhav Parihar
2.
Himal Patel
3.
Deep Bhavsar
4.
Anil Kumar
Signature of the
Student
Certificate
This is to certify that the project report entitled
Prediction
for
Virtual
Machine
in
Cloud
Load
Computing __is
Admission No.
Student Name
1.
U12CO071
Vaibhav Parihar
2.
U13CO068
Himal Patel
3.
U13CO053
Deep Bhavsar
4.
U13CO090
Anil Kumar
SIGNATURE :
GUIDE
JURY
HEAD OF DEPT.
Abstract
Virtualization Technology is currently becoming increasingly
popular and valuable in cloud computing environments due to the
benefits of server consolidation, live migration and resource
isolation. Load prediction plays a key role in cost optimal resource
allocation and data center energy saving and is an important
aspect of virtualization technology. It aims at forecasting load for
a period of seconds or minutes and this is necessary to real-time
control, capacity planning in cloud computing. Based on the
future load prediction, an estimate of the future performance of
each Virtual machine decides the fraction of capacity to be
assigned to each Virtual Machine as well as the number of
requests effectively served for each class that ensure the service
quality and minimize cost. In this project, we aim to study and
compare various techniques of load prediction that various
authors have presented. We also intend to implement some of
algorithms that we find unique and efficient.
Key words : cloud computing, Virtual Machine, Load Prediction.
List of Acronyms
VM : Virtual Machine
Chapter 1
INTRODUCTION
Virtualization is a technique to run several operating system simultaneously on one
physical machine. The purpose of Virtualization is to share resources of the existing
system, utilization and distribution to their maximum potential, reducing space, power
and infrastructure costs in terms of physical resources, new network setups, system
setups, and infrastructure maintenance.
Virtualization allows a smaller number of high-powered servers to create a larger number
of less powered server while reducing the overall cost. It has become a core concept in
modern data centers.
The real advantage of virtualized server and hardware are that if one virtual machine is at
or near idle, others present in same physical machine can take advantage of its resources
to perform their processing. The way a virtualized server function is that it introduces an
abstraction layer between the hardware and the operating system. This abstraction layer is
called hypervisor (or Virtual Machine Monitor).
Characteristics of virtual machine:
1.
2.
3.
4.
Isolation
Portability
Cost Efficient
Fault Tolerance
1.1Application
The increase in popularity of cloud computing in recent years is driven by the
dynamically scalable, pay as you go model. This enables organization to focus on
providing services to their customers while consuming the requisite computing
resources as a utility. But it is necessary to reduce the risk of over provisioning,
wasting resources during non-peak hours and reduce the risk of under
provisioning, missing potential customers prediction is necessary.
Load Prediction in cloud computing involves predicting the future load depending
upon the previous load. For load prediction various methods are used. Among them
few are mention here:
Chapter 2
LITERATURE SURVEY
The main idea of cluster expansion algorithm is to randomly select one virtual
machine to join in the cluster based on the cluster predicated load Z`.
2.2 Fast Up Slow Down (FUSD) Algorithm
In FUSD algorithm the future resources needs of Virtual Machines are predicted
based on previous statistics. The prediction is done using the following equation:
E (t) = E (t-1) + (1-) O (t), 0 1
Where E(t) and O(t) are the estimated and observed load at time t, respectively. is
a constant reflecting a tradeoff between stability and responsiveness.
But this formula does not reflect the acceleration of resource demands.
Unfortunately, when is between 0 and 1, the predicted value is always between
the historic and observed value. To reflect the acceleration they set to a negative
value. The above formula is transformed as follow for
-1 0
E(t) = -||*E(t-1) + (1+||)*O(t) .
Though FUSD approach was developed to predict the rising trends of resources, it
is not efficient as it predicts the value which is mostly lesser than the observed one
which may result in overload. Hence in this paper a new algorithm is proposed for
effective load prediction, which is named as Enhanced Exponentially Weighted
Moving Average (EEWMA). Thus the EEWMA is as follows:
E (t) = * {(O (t-1) + O (t))/2} + (1-)*O (t), = 0.7
For the decreasing resource needs and for the rising needs of the resources:
E (t) = -* O (t-1) + (1-)*O (t), = -0.2
Here = 0.7 for decreasing need of resources and =-0.2 for increasing need of
resources.
Poynomial fitting is a method to predict the increment or decrement for next step
based on multi-order polynomial fitting. prediction of future system performance
can be used to improve resource selection and scheduling in a dynamic grid
environment. The experimental result on a commonly used host load management
dataset show that this proposed strategy consistent outer forms the previous
tendency based predictor. In this method, it is proposed to predict strategy which
conducts the prediction based on the increase or decrease tendency in several past
step and on previous similar patterns using a polynomial fitting method.
The Kalman filter has been widely used in the area of autonomous or assisted
navigation. It is Kalman smoother is suitable for the Cloud applications load
estimation because it was originally developed to estimate time-varying states in
dynamic systems. This approach essentially uses a filtering technique to eliminate
the noise of resources usage signal coming from error of measurement technique
while still discovering its real main fluctuations. In order to achieve a better QoS and
higher resource utilization in Cloud.
Chapter 3
Implementation of Algorithms
The prediction load Pt at the time t can be obtained with the load prediction
algorithm. The cluster load Lt at the time t can be computed with the virtual status
table. The cluster load at the time t+1 is computed with P t and Lt using the load
prediction algorithm.
Cluster Predicted Load : To provide the more accurate workload, the cluster
Predicted workload is used and denoted as Zt
The predicted load at the time t+1 is computed with Pt and Lt using the load
prediction algorithm.
The main idea of cluster expansion algorithm is to randomly select one virtual
machine to join in the cluster based on the cluster predicted load Zt , and recompute the cluster predicted load Zt when adding one virtual machine.
START
Yes
Call Cluster
Expansion
Algo
No
Call Cluster
Shrink Algo
Establish Cluster
Expantion Algo
Yes
No
Establish Cluster
Shrink Algo
Execute Plan
END
If the new the cluster predicted load Zt is within the upper and lower threshold,
there is no more virtual machine to join in the cluster. Thus, the expansion plan
will be submitted and executed. If the new the new the cluster predicted load Zt is
still greater the upper threshold high , it repeatedly execute the previous step to add
one virtual machine and recomputed the newer Zt until the newest Zt is within the
upper and lower threshold.
A (t1)
A ( t2 )
Though it is not possible to predict the actual future load of VM, this algorithm
predicts very closely. It also reflects both the acceleration and deceleration of
resource usage.
(I = 1,2, ,N)
(1)
(2)
(3)
(4)
(5)
AdaptDegree ranges from 0 to 1 and is used to adjust the so called adaption degree,
i.e. the influence of the previous prediction error on determining NormalIncT + 1.When
It is equal to 1, the IncValueT+1 is equal to RealIncValueT, that is this method uses the
previous increment as the prediction increment value. It is obvious that such linear
fitting is not consistent with reality due to that use of multi-order polynomial fitting
function is needed to determine the order of polynomial function. i.e. the number of
data points to be used for the polynomial fitting.
3.4 Support Vector Regression and Kalman Smoother
When performing time series prediction by SVM, each input vector x i is defined
as a finite set of consecutive measurements of the series. The output vector y i
contains the x( n +1) observation, where n determines the amount of history data.
Each combination ( xi,yi ) constitutes a training point. There are such training
points used for fitting the SVR. SVM is a linear learning machine. The linear
function is formulated in the high dimensional feature space, with the form
f ( x ) = w ( x )+b ,
(1)
Figure2 :
Mapping data from input space to feature space
, 0
The Kalman filter estimates the state x of a discrete-time controlled process which
is governed by the linear stochastic difference equation :
xk = Axk-1 + Buk-1 + wk-1 ,
(5)
(6)
Chapter 4
Simulation and Results
We have decided to implement the before mention algorithm at later stage. So, here
we are stating the results that authors produced without any machine dependent
details. We encourage the reader to verify the results from the source.
4.1 Adaptive Load Balancing Algorithm
The variation of the number of virtual machine in the cluster is smoother using the
workload prediction model with the slide windows. Moreover, the trend of variation
is consistent with that of variation of the number of tasks in the cluster. On the
contrary, the curve of the variation of the number of virtual machine without adopting
the workload prediction model shows the serious fluctuation. Because it will bring
extra resource consumption and time due to the frequent open and close virtual
machine, the proposed ALBA algorithm can achieve better performance in terms of
the average waiting time of tasks, and the average response time of tasks, compared
with the load balancing algorithm without the prediction model.
Figure : The variation of the number of virtual machines
(2).
(3).
(4).
Where xin and xi represent the normalized and original measured data respectively
and xmin and xmax represent the minimum and maximum value among the original
measured data, respectively.
The evaluation of prediction performance is based on the mean absolute error
(MAE) which is widely used error metric for evaluating results of time-series
forecasting as shown in
Where ^x i and xi represent the predicted and original data, respectively and n is
the number of predicted data points.
The detailed experimental results are shown in figure 7. Because the total number
of samples is limited, performance trend feature of Googles two traces fluctuate
slightly. But we can still reach this conclusion: KSwSVR has the best prediction
accuracy, followed successively by standard SVR and AR and BPNN.
Conclusion
Cloud Computing is designed in such a way, so as to provide various services to
external users. But without knowing about the future needs of the clients it is
tedious to provide the resources to them. Hence using the prediction algorithm is
better option to make this process simple.
In this phase we studied different methods and algorithm for load prediction. In
upcoming time we are going to implement some of them and analyze the
prediction accuracy.
Acknowledgement
We take this opportunity to express our deep sense of gratitude and indebtedness to
our Project Guide, Mr. Bhavesh N. Gohil, Assistant Professor in Computer
Engineering Department, SVNIT,Surat for his valuable guidance, useful comments
and co-operation with kind and encouraging attitude at every point of our project
work.
We would also like to thank our Head of Department, Prof. D.R. Patel Computer
Engineering Department.
We are also thankful to SVNIT, Surat and its staff for providing this opportunity
which helped us in gaining sufficient knowledge and to make this Project Report.
References
1.