Resource Usage Monitoring in Clouds: Mohit Dhingra, J. Lakshmi, S. K. Nandy
Resource Usage Monitoring in Clouds: Mohit Dhingra, J. Lakshmi, S. K. Nandy
Resource Usage Monitoring in Clouds: Mohit Dhingra, J. Lakshmi, S. K. Nandy
i
pages copied[i]
(2)
Using oprole proler [22], Dom0 agent calculates the CPU
percentage used for a Dom0 process which does processing
for other VMs and divide that in the ratio as calculated by
cpu contribution ratio[j] for the j
th
VM in 2. Figure 4(c)
shows the distribution of the CPU usage per-VM process level
for streaming . It shows four processes running in Dom0 and
their contribution towards each VM as calculated by above
equations.
2) Encrypted Video Streaming: Next, we monitor the same
video streaming application, but with on-the-y encryption of
the video and audio streams. We use Common Scrambling
Algorithm (CSA) for encryption of the streams, as it is the
most common algorithm used in Digital Video Broadcasting
(DVB), popularly known as DVB-CSA. In our experiment,
encryption is done purely in software by VLC media player.
Since encryption is CPU intensive task, we expect to see high
CPU usage of VM CPU. Figure 5(a) shows the variation of
achieved streaming rate with requested streaming rate, and
1
Aggregate network bandwidth refers to the summation of the saturation
bandwidth of all VMs, namely VM1, VM2, VM3 and VM4.
5
10
15
20
25
30
35
10 15 20 25 30 35 40 45
S
t
r
e
a
m
i
n
g
R
a
t
e
a
c
h
i
e
v
e
d
(
i
n
M
b
p
s
)
Streaming Rate requested (in Mbps)
VM1
VM2
VM3
VM4
(a) Streaming rate throughput with varying requested rate
20
30
40
50
60
70
80
90
10 15 20 25 30 35 40 45
C
P
U
u
t
i
l
i
z
a
t
i
o
n
(
i
n
%
)
Streaming Rate (in Mbps)
Dom0
VM1
VM2
VM3
VM4
(b) CPU usage of Dom0 and VMs with varying requested rate
Fig. 5. Monitoring Results for Encrypted Video Streaming
clearly indicates the saturation at just 30 Mbps streaming
rate for one VM (or aggregate network bandwidth of 120
Mbps), reason for which is self-explanatory by the next gure.
Figure 5(b) shows VM and Dom0 CPU usage variation with
requested streaming rate. The key observation in this result
is, VM CPUs becomes the performance bottleneck, leading to
the system saturation. Dom0 processes contribution towards
each VM remains almost same in this case as of gure 4(c).
3) httperf: Let us now consider the httperf test application
running at the customers end. Along with the total VM and
Dom0 CPU usage, we also monitor the CPU usage distribution
of Dom0 processes on a per-VM basis. Figure 6(a) compares
the bandwidth monitored by our VM agent with the Net I/O
measured at the client end. As described earlier, Net I/O
numbers provided by httperf at the client side correspond
to the actual data transferred on TCP connections excluding
headers and retransmissions, therefore, the actual output data
rate by the Virtual Machines exceeds the Net I/O bandwidth
measured by the client. Total VM and CPU usage graph is
already depicted earlier in gure 2(c).
Figure 6(b) shows the distribution of the CPU usage per-VM
process level for httperf, as calculated in 1 and 2. Figure 6(c)
shows the monitored metrics as requested by the customer
from the cloud provider at the load of 400 requests/sec. Mon-
itored values are lled up dynamically by MC after gathering
relevant information from different agents, at the time interval
0
10
20
30
40
50
60
70
80
90
0 100 200 300 400 500 600 700
N
e
t
I
/
O
D
a
t
a
R
a
t
e
(
i
n
M
b
p
s
)
Load (Req/sec)
VM Agent
httperf client
(a) Bandwidth Monitoring by VM Agent and its comparison with Net
I/O given by httperf for VM1
0
2
4
6
8
10
12
14
16
18
o
v
s
-
v
s
w
itc
h
d
n
e
tb
k
e
1
0
0
0
e
o
p
e
n
v
s
w
itc
h
-
m
o
d
C
P
U
U
s
a
g
e
(
i
n
%
)
Processes (Dom0)
VM1 Contribution
VM2 Contribution
VM3 Contribution
(b) CPU Usage for Dom0 processes per-VM as measured by Dom0
Agent at the load of 400 requests/sec
Metric to Monitor
Speed
Monitored Value
VM CPU usage 3.07 GHz 1 500 ms 9.67 %
Dom0 CPU usage contribution 3.07 GHz 1 500 ms 14.31 %
Incoming Network Bandwidth
Outgoing Network Bandwidth
100 Mbps
100 Mbps
1000 ms
1000 ms
3.18049 Mbps
44.73642 Mbps
No. of Cores
Total Allocation
Interval
Update
(c) Metrics Monitored at the load of 400 requests/sec
Fig. 6. Monitoring Results for httperf Application
specied by the customer. In our example, Incoming Network
Bandwidth, and Outgoing Network Bandwidth are collected by
VM Agent and total VM CPU usage, and Dom0 CPU Usage
contribution for each VM is collected by Dom0 Agent.
C. Discussion
There are a number of potential applications which could
use monitoring data of infrastructural resources in clouds. One
of them could be for scheduling decision of a new VM request
by a client. Another application could dynamic reprovision
resources based on monitoring feedback.
Let us consider the case when an existing VM nds its
resources insufcient due to a new incoming requirement.
We could reprovision the VM and Dom0 with more VCPUs,
or place a new VM on a different host. In the streaming
application, the system gets saturated because Dom0 CPU
happens to be the bottleneck. Intuition suggests that allocating
more VCPUs to Dom0 would prevent it from becoming a
bottleneck. However this is not true because the ethernet driver
used in our experiments executes in a serial fashion, hence
it cant exploit parallelism provided by multiple cores. Since
providing more VCPUs to Dom0 doesnt help, placing it on a
new VM on a different host turns out to be a better decision
in this case.
In the encrypted streaming application, the system gets
saturated because VM CPU happens to be the bottleneck.
Since the application is inherently multi-threaded, providing
more number of VCPUs to the VM would prevent it from
becoming a bottleneck. In contrast to the previous application,
if an existing VM wants to scale its resources, reprovisioning
the VM CPU is a better option here than to place a new VM
on a different host.
In general, one can solve a system of equations to take
the scheduling decisions numerically, based on the monitoring
feedback. Further details are out of scope of this paper.
V. CONCLUSION
On a cloud infrastructure, having a monitoring framework
for tracing the resource usage by a customer is useful in help-
ing him to analyze and derive the resource requirements. Such
frameworks also provide the transparency to the customer in
knowing his actual usage. The proposed architecture provides
a generic framework that can be customized as per the needs
of the customers. It enables both provider and customer to
monitor their application at a much ner granularity. Our
future work would be to develop a closed loop framework,
wherein the monitoring information would be used as feedback
with proper controls in place, for meeting SLA requirements
of customers.
REFERENCES
[1] J. Lakshmi, System Virtualization in the Multi-core Era - a QoS
Perspective, Ph.D. dissertation, Supercomputer Education and Research
Center, Indian Institute of Science, 2010.
[2] Vincent C. Emeakaroha and Marco A.S. Netto and Rodrigo N.
Calheiros and Ivona Brandic and Rajkumar Buyya and Csar A.F.
De Rose, Towards autonomic detection of SLA violations in Cloud
infrastructures, Future Generation Computer Systems, no. 0, pp. ,
2011. [Online]. Available: http://www.sciencedirect.com/science/article/
pii/S0167739X11002184
[3] Jin Shao and Hao Wei and Qianxiang Wang and Hong Mei, A Runtime
Model Based Monitoring Approach for Cloud, in 2010 IEEE 3rd
International Conference on Cloud Computing (CLOUD), july 2010,
pp. 313 320.
[4] Michael Armbrust, et al, Above the Clouds: A Berkeley
View of Cloud Computing, University of California, Berkeley,
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf,
Tech. Rep., 2009.
[5] Mosberger, David and Jin, Tai, httperf - a tool for measuring web
server performance, SIGMETRICS Perform. Eval. Rev., vol. 26, no. 3,
pp. 3137, Dec. 1998. [Online]. Available: http://doi.acm.org/10.1145/
306225.306235
[6] Alhamad, Mohammed and Dillon, Tharam and Wu, Chen and
Chang, Elizabeth, Response time for cloud computing providers,
in Proceedings of the 12th International Conference on Information
Integration and Web-based Applications & Services, ser. iiWAS
10. New York, NY, USA: ACM, 2010, pp. 603606. [Online].
Available: http://doi.acm.org/10.1145/1967486.1967579
[7] D. Miloji andi and, I. M. Llorente, and R. S. Montero, Opennebula: A
cloud management tool, Internet Computing, IEEE, vol. 15, no. 2, pp.
11 14, march-april 2011.
[8] Chisnall, David, The Denitive Guide to the Xen Hypervisor (Prentice
Hall Open Source Software Development Series). Upper Saddle River,
NJ, USA: Prentice Hall PTR, 2007.
[9] D. Gupta, R. Gardner, and L. Cherkasova, Xenmon:
Qos monitoring and performance proling tool, HP Labs,
http://www.hpl.hp.com/techreports/2005/HPL-2005-187.pdf, Tech.
Rep., 2005.
[10] M. L. Massie, B. N. Chun, and D. E. Culler, The ganglia distributed
monitoring system: design, implementation, and experience, Parallel
Computing, vol. 30, no. 7, pp. 817 840, 2004. [Online]. Available:
http://www.sciencedirect.com/science/article/pii/S0167819104000535
[11] Using Ganglia to monitor virtual machine pools,
http://blog.sow.com/2012/01/using-ganglia-to-monitor-virtual.html,
2012.
[12] Xen Cloud Platform Project, 2012. [Online]. Available: http:
//xen.org/products/cloudxen.html
[13] XenServer. [Online]. Available: http://www.xensource.com
[14] Kernel Based Virtual Machine. [Online]. Available: http://www.
linux-kvm.org/
[15] Nagios. [Online]. Available: www.nagios.org/
[16] D. Nurmi, R. Wolski, C. Grzegorczyk, G. Obertelli, S. Soman,
L. Youseff, and D. Zagorodnov, The eucalyptus open-
source cloud-computing system, in Proceedings of the 2009
9th IEEE/ACM International Symposium on Cluster Computing and
the Grid, ser. CCGRID 09. Washington, DC, USA: IEEE
Computer Society, 2009, pp. 124131. [Online]. Available:
http://dx.doi.org/10.1109/CCGRID.2009.93
[17] Amazon Elastic Compute Cloud, 2012. [Online]. Available: http:
//aws.amazon.com/ec2/
[18] L. Cherkasova and R. Gardner, Measuring CPU Overhead for I/O
Processing in the Xen Virtual Machine Monitor. 2005 USENIX Annual
Technical Conference, April, pp. 387390.
[19] B. Sotomayor, R. S. Montero, I. M. Llorente, and I. Foster, Virtual
infrastructure management in private and hybrid clouds, IEEE Internet
Computing, vol. 13, pp. 1422, 2009.
[20] Extending the Monitoring System, 2012. [On-
line]. Available: https://support.opennebula.pro/entries/
352602-extending-the-monitoring-system
[21] Bandwidth Monitor NG, 2012. [Online]. Available: http://sourceforge.
net/projects/bwmng/
[22] J. Levon and P. Elie., Oprole: A system proler for linux. [Online].
Available: http://oprole.sourceforge.net