Electronic Communications of The EASST Volume 17 (2009)
Electronic Communications of The EASST Volume 17 (2009)
Workshops der Wissenschaftlichen Konferenz Kommunikation in Verteilten Systemen 2009 (WowKiVS 2009)
Guest Editors: M. Wagner, D. Hogrefe, K. Geihs, K. David Managing Editors: Tiziana Margaria, Julia Padberg, Gabriele Taentzer ECEASST Home Page: http://www.easst.org/eceasst/
ISSN 1863-2122
ECEASST
1 Introduction
Virtualization platforms are a potential technology to reproduce a real network topology using a virtual environment. They enable interconnected equipment to be emulated, which only requires the resources of a single physical computer. Virtualization can be used to maintain, execute and test multiple software environments [MHH+ 07], and to provide facilities for network dimensioning. In addition, virtualization platforms allow the evaluation of network service provisioning prior to production; therefore they can reduce the risk of network failures, as well as investment and experimental costs. Currently there are at least two ways to achieve the networks dimensioning and comparative performance measurements. One alternative is to set up a mock-up network infrastructure in parallel, but this would require new equipment and hardware devices making it an expensive solution. The other alternative is to use simulation tools, such as NS2 [NS2], among others, which are used to evaluate the performance of networks. Nevertheless, these simulators are trying to replicate the performance of a real system (end-to-end delay, packet loss, etc.), using software, but are not able to closely reproduce the features and behavior of the hardware in a real system (emulation of new devices, congurations, architectures) [Rim07]. Facing these two alternatives, this work proposes to use virtualization platforms to assess the network service provision. According to the results obtained in [Mun08], virtualization tech1 / 14 Volume 17 (2009)
nologies are approximately close to the ones derived from a real and simulated environment. However, virtualization technology generates a performance overhead caused by the virtualization layer [BDF+ 03]. This would mean that virtualization has not yet matured to ensure results close enough to the network service provision in real environments. Hence, which factors would be required to improve the results of such emulation? And, which operational conditions suggested for virtualization can be most effective? In this context, as a contribution, this paper proposes to implement a method to improve the results obtained in virtual network environments, trying to resemble those obtained in real environments. In particular, our main goal is to obtain a result as close as possible to a real case. These improvements will provide strategies to interact with real time applications and to ensure their service delivery in similar conditions before putting them into production. In addition, these enhancements could improve user perception. To carry out this work, we have emulated a real network service, namely video-on-demand (VoD) over ADSL by means of the Xen virtualization tool [BDF+ 03]. Firstly, we designed and implemented the required test-bed to make the comparisons between virtual and real environments. Secondly, we adjusted the network environment parameters to emulate the operational aspects of the real environment. With these results, we have found new guidelines to adjust the emulation parameters in virtual network environments. The remainder of this paper has the following organization: Section 2 provides some background concerning virtualization networks, the Xen virtualization tool, video streaming and VideoLAN solution. Then, in section 3 the experimental setup is described which is used to emulate the VoD over ADSL service in the virtualization platforms. Section 4 shows a set of tests which were performed to improve our evaluation results. Section 5 discusses related work. Finally, the conclusions and future work are given in Section 6.
2 Background
2.1 The virtual network environment
Within the scope of this research, virtualization is in essence a technique to share hardware resources. It can be used to partition physical equipment to support multiple virtual machines, interconnect them, and to share hardware resources, such as CPU, memory and input/output devices. It provides an extra abstraction layer between the hardware and the operating system (OS). This technique enables, via hardware, to have several guest OSs of diverse types executing simultaneously [Jon06]. In this paper a virtual network environment can be dened as a set of virtual equipment (both end systems, routers and switches) connected collectively in a given topology deployed on one or multiple hosts, which emulates an equivalent system in which the environment is perceived as if it were real. The virtual network environment encapsulates a set of applications within a virtual network, enabling service congurations for a specic network in a realistic way.
Proc. WowKiVS 2009 2 / 14
ECEASST
2.2 Xen
Xen [BDF+03], is an open source virtualization tool, based on the para-virtualization technique. Xen provides more efcient processing and minor overhead which results in better performance than other virtualization platforms. Within the context of this paper, Xen provides the infrastructure to deploy and manage a virtual network environment which can be congured to emulate the provision of the VoD service. Finally, based on the above and considering that a lower consumption of CPU and memory of the host results in a better response of virtual machines, we have chosen Xen to be the tool used in our research. It provided the best results in our previous assessments published in [FV07] and conrmed in [BDF+ 03] and [WCCG08].
3 Emulation experiments
This section describes the method developed to improve the results obtained in virtual network environments. This method has been divided into ve steps, as shown in the next owchart (see Figure 1). Its design, implementation details, settings and assessment are the basis of our research and will be explained in the following paragraphs:
3 / 14 Volume 17 (2009)
Begin
Start a real network service provision
Step 1
Step 2
Step 4
YES
If the real environment traffic-measures are equal to the virtual environment traffic-measures with adjustments Memory, HD and CPU consumption, timer, workload, and so on If the real environment traffic-measures are equal to the virtual environment traffic-measures with adjustments including Step 5 Put the service in production
Step 5
If equal
YES
End
Figure 1: Flowchart to implement the method to improve the results obtained in virtual network environments.
ECEASST
UNIVERSITY
Client
telephone ADSL modem
VideoLAN Server
POTS
Central Office
Virtual Environment
eth0 10.0.3.1
10.0.3.3
eth2 10.0.5.2
Figure 3: Virtual network environment used to emulate a VoD over an ADSL connection.
5 / 14 Volume 17 (2009)
As shown in Figure 3, the elements of the virtual environment can be mapped to some elements of the real ADSL environment in Figure 2. ( i.e., the VideoLAN Server in each environment as well as the clients). Similarly, Router 1 maps to the home ADSL router, Router 2 maps to the ISP router, and Router 3 maps to the server router. Other routers could be also considered in the path between Router 2 and 3 if necessary. The following procedure has been used to implement the proposed design in a virtual network environment: First of all we created the rst virtual machine and installed the guest OS, Linux Debian. Then, we cloned the rst virtual machine to the remaining virtual machines, in order to reduce the installation time. At this point, it should be noted that the routers depicted in Figure 3 are virtual machines to which the functionality of routing devices was assigned. After this, we added virtual interfaces, congured IP addresses, routing and started services. Then, we synchronized the clock of each virtual machine with a network time protocol (NTP) server within the real host. This allowed the virtual machines to synchronize their system time. This is very necessary because virtual machines (and routers in this case) work by time-sharing the host physical hardware, and a virtual machine cannot exactly duplicate the timing behavior of a physical machine. Lastly, we created and executed the respective programs that automatically constructed and started the environment. As a nal point, we installed the software for trafc monitoring both in the virtual network environment and the host. It is also worth mentioning that all tests were done using open source software.
The rst experiment consisted in the capture of video on real-time transport protocol (RTP) trafc in the real ADSL environment during the transfer of video (see Figure 2). This capture was made simultaneously both in the client at home and in the server located in the laboratory at the University, to obtain the CDF of the video packet inter-arrival time. To obtain an appropriate value of the delay between the VideoLAN server and the ADSL client we applied the ping command with xed-size packets of 1370 bytes. Ping measures the round-trip time (RTT) using the Internet control message protocol (ICMP) echo messages. With
Proc. WowKiVS 2009 6 / 14
ECEASST
this, based on the 4300 messages sent over 45 minutes we obtained a mean (u) of 135.6 ms, with a correlation r(0) of 40% and a standard deviation of 17ms for the RTT. It should be noted that the packet loss was negligible in the trafc measurement. We used RTT instead of one way delay (OWD) that would be a better option for ADSL, given that OWD must be calculated between two synchronized nodes, which was not possible in the real environment where the experiment was carried out.
3.3.2
The second experiment consisted in the capture of RTP video trafc in the virtual network environment (see Figure 3). All tests were carried out on a single host (Pentium D, 2.80 GHz, 1 GB RAM) with Linux Debian 4.0 and one Ext3 partition with 120 GB. In all virtual machines the same le systems and the same kernels (2.6.18-xen-686-GNU/Linux Debian) were installed.
3.5.1
Dedicated server
Previous experiments were conducted in a dedicated server just for VoD service. When we added another service such as le transfer in the virtual network environment, performance degradation was increased. In summary, the degradation in response time can be explained because CPU resources are shared in the system. Among other solutions, this problem can be solved by adding the appropriate amount of resources [Fer06]. But the nest solution should be to balance the workloads in virtual machines. 3.5.2 Timer resolution
The OS uses these timers to provide a multitude of services. In the case of the virtual network environment, since there are several virtual machines running on a single platform, there is a variety of approaches to map the virtual clock into the physical platform clock, and any of these can cause clock skew. In addition, any changes in the clock behavior could lead to errors in computing the delivered performance. Due to clocking issues, utilization measurements from within virtual network environments are unreliable [Fer06]. In any case, to improve the measurements, the virtual network environment must be able to get access to high resolution timers. Higher resolution timers are needed to enable the system to process data at more accurate intervals. One manner to implement it is by adding patches to introduce a new subsystem, e.g., high-resolution kernel timers (Linux hrtimers). On the other hand, since the virtual machines must share the resources of the same CPU (provided by real host) and especially due to the complexities caused by emulating virtual hardware, such features are very time sensitive, leading to inaccuracy in system time of virtual machines. This fact has been well documented in [MRM06, Inc08]. Moreover, the installation of specic software for virtualization platforms, called Additions, is a better solution to enhance this synchronism [MRM06]. 3.5.3 Other performance metrics
Besides of the traditional metrics that are already tested, the measuring of other performance metrics should also be considered such as number of users, number of virtual machines, workloads response time, CPU and memory utilization node, and so on. Moreover, as a nal suggestion, the number of virtual CPUs must be equal to the number of physical core CPUs in the real environment, and; the amount of physical memory assigned to virtual machine must be equal to the physical memory in the real environment [CGS06]. This will create a fairer comparison.
ECEASST
CUMULATIVE DISTRIBUTION FUNCTION, SERVERS 1 0.9 0.8 0.7 ADSLServer VirtualServer
Probability
0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.005 0.01 0.015 0.02 0.025 0.03
Figure 4: Cumulative probabilistic distribution of video packet inter-arrival time between the ADSL server and virtual server.
4.2 Comparison between real ADSL client and virtual environment client
Figure 5 shows the results obtained by the CDF of video packet inter-arrival time for the ADSL client, virtual client without adjustments, and virtual client with adjustments. This gure illustrates that the virtual client without adjustment is completely different from the experimental results of virtual network client with adjustments. Then again, the traces of the probability distribution of the two environments are also visually similar, but minor differences were found in the curves. This reveals the achievement of our method. Nevertheless, as noted in Figure 4, the CDFs are not exactly equal on the server side and hardly would be accurate on the client side. These results are related to adjustments made in step 4 (subsection 3.4) of our method.
DKL (R V ) =
r(x)log
(1)
Where r(x) and v(x) denote the PDF of R (real ADSL client) and V (virtual client) packet interarrival random variables. The evaluation of equation (1) for the PDFs of the real ADSL client and the virtual client with ajustments gives a result of divergence = 0.0473. In addition, if the PDF of the real ADSL client is compared to the PDF of the virtual client without adjustments gives a result of divergence=1.9972. As expected, these results show that the disparity is higher when the parameters are not adjusted in the virtual client.
9 / 14 Volume 17 (2009)
Probability
0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.005 0.01 VirtualClient without adjustments ADSLClient VirtualClient 0.015 0.02 0.025 0.03
Figure 5: Cumulative probabilistic distribution of video packet inter-arrival time between the ADSL client, virtual client with adjustments, and virtual client without adjustments.
4.4 Discussion
As the experimental results have shown, our method has obtained relative similar results to emulate the conditions of a real environment using a virtual network environment. On the other hand this paper has demonstrated the viability of conducting these experiments. Moreover, given that a similar real infrastructure is not always available to compare the performance measurements, this research has shown that virtualized environments can be used to emulate a specic network service, whose results have been close to the real environment. Therefore, the results of the experiment have provided qualitative data related to how the services work, the perceptual quality of video service in terms of delay and limited bandwidth, the congurations required to transmit video in unicast or multicast, etc. Logically, these experiments can be done using real equipment. However, our proposal is intended to demonstrate that the virtualization platforms can be useful for the same task with lower hardware costs. During the experiment we tried to control several factors. However, certain factors remain beyond our control (or they can not be controlled as yet). Some of them have been analyzed in this paper. Other factors such as the virtualization complexity and the virtual network hardware performance are out of the scope of this research. These factors generated some disparity in our results. In particular, because of: i) the overhead produced by the virtualization layer; ii) the conditions of network emulation (load, timers resolutions, and settings). The latter was caused because the parameters that NetEm could control were not sufcient to describe a complex network like ADSL and Internet, especially due to its dynamics and complexity [Hem05]; and nally, iii) the software and hardware components, in particular, do not provide high-precision timing guarantees [BGG+ 08]. Regarding scalability, it is possible to add more hops in the topology of the virtual environment, depending on the host real capabilities, where the virtual environment was deployed. Moreover, if the environment requires more resources, it is possible to distribute it among several
Proc. WowKiVS 2009 10 / 14
ECEASST
hosts, as proposed in [GFFM08]. With regard to virtualization as an approach to network emulation, the virtual network environment has fullled the aim to mimic the behavior of a VoD service, with the particularity that the functionality is not just theoretical or simulated, but rather a real time execution. Consequently, the advantage of this work, (despite the overhead imposed by the virtualization layer), is that these results give some certainty to experiment with other similar services without having to deploy them in a real environment. Finally, the results obtained through the application of this method, lead us to research new guidelines to adjust the emulation parameters. In addition, it guides us to improve the conditions to provide the ideal environment for new experiments in virtualized environments.
5 Related work
There are very few papers that discuss the results of service emulation using virtualization environments. A rst comparable research has been described by Fernando [Fer06]. In this paper the author explores the benets of virtualization and discusses the difculties in measuring such results in the real world. This work measures resource utilization from both the virtual machine monitor (VMM) kernel and the virtual machines. Our goal, however, is focused on nding guidelines to achieve better results in performance measurements in the virtual network environment. A second comparable research has been described by Casazza et al. [CGS06]. Here, researchers explain a workload methodology to characterize the performance of server virtualization technologies to consolidate multiple physical servers. It presents a benchmark example using web server, e-mail server and database server. Our work, however, is focused on providing an infrastructure for conducting network dimensioning experiments. In addition, we have based ourselves on traditional performance metrics. Lastly, the comparison was made directly with data obtained between the two environments (real and virtual). A third comparable work has been explained by Song et al. [SWL+ 07]. In this paper the authors study the interaction of VoD and other typical enterprise services in a computer consolidation environment context. They compare their results using benchmarks. Compared to this effort, our goal is to provide qualitative data associated to how the network services work using virtualization environments; how virtual network environments reproduce this behavior and how to mimic the results as much as possible to the real case. Concerning service network emulation through virtualization environments, in [MHR07] network emulation test-beds provide a congurable virtual network environment for comparative performance measurements of real implementations. In the same context in [GGC+ 06] authors address the implementation through virtualization techniques of an IP multimedia subsystem (IMS) test-bed intended for the functional validation of services. Also, the research in [RSS07] presents the VMedia multimedia virtualization framework, for sharing media devices among multiple virtual machines. Compared with our work, these ones have the implementation of complex topologies as their main goal, so performance is a secondary goal. Unlike us, we were interested in nding a method to improve the results obtained in virtual network environments. Therefore, the performance was our primary goal. Finally, another comparable work can be found in [BBKW03], where the performance of
11 / 14 Volume 17 (2009)
virtual routers is evaluated for network research. However, our work has some differences. Apart from the use of Xen virtual machines, we have compared the results of the virtual environment with those obtained in a real environment, achieving similar values when applying our method to improve the results.
6 Conclusions
In this work, we have implemented a method to improve the results obtained in virtual network environments, contrasted with those obtained in real environments. We have performed a set of emulated experiments of a real VoD service of ADSL in a virtual network environment with Xen, using a single host computer. The experimental results have shown certain similarity in video packet inter-arrival time between both environments in the server side and client side. However, the probability distributions are not precisely the same, because the virtual network environment introduces a not quantied overhead and because the emulated ADSL delay is an approximation. In any case, the experiment results have provided qualitative data in relation to how the services work, the perceptual quality of video service, the required congurations, and so on. To conclude, we have presented a procedure to emulate network services in virtual network environments, emphasizing those factors that affect the experimental results. As future work we will focus on how to quantify the overheads produced by the virtualization layer that affects the performance. We plan to study how the obtained results depend on the number of virtual machines and the number of connected devices that consume resources. Finally we will also explore how to implement and improve the delay emulation to increase the reliability of the measurements. Acknowledgements: This work has been partially funded by Spanish Ministry of Industry, Tourism and Trade through Red.es under the PASITO project and by the Spanish Ministry of Science and Innovation under the DIOR project (TEC2006-03246). The authors would like to thank the comments and good advice of Jos Luis Garca D., Jos e e Alberto Hern ndez and Bas Huiszoon, who helped to signicantly improve this paper. a
Bibliography
[ATW02] J. Apostolopoulos, W. Tan, S. Wee. Video Streaming: Concepts, Algorithms, and Systems. Technical report, Mobile and Media Systems Laboratory. HP Lab. Palo Alto. Sep. 18th, 2002.
[BBKW03] F. Baumgartner, T. Braun, E. Kurt, A. Weyl. Virtual routers: A tool for networking research and education. ACM SIGCOMM Computer Communication Review. Vol. 33, New York, USA.,Jul., pp. 127135, 2003. [BDF+ 03] P. Barham, B. Dragovic, K. Fraser, S. H, T. Harris, A. Ho, R. Neugebauer, I. Pratt, A. Wareld. Xen and the Art of Virtualization. In Proc. of 19th ACM symposium on Operating systems principles. Pp. 164177. Bolton Landing, NY, USA, 2003.
Proc. WowKiVS 2009 12 / 14
ECEASST
[BGG+ 08] N. Beheshti, Y. Ganjali, M. Ghobadi, N. McKeown, J. Naous, G. Salmon. Performing Time-Sensitive Network Experiments. In Proc. of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems. San Jose, California. Pp. 127128. 2008. [Bro06] [CGS06] M. A. Brown. Trafc Control HOWTO. Version 1.0.2. Oct., 2006. J. Casazza, M. Greeneld, K. Shi. Redening Server Performance Characterization for Virtualization Benchmarking. Intel Technology Journal, 10 Aug., 2006. http://www.intel.com/technology/itj/2006/v10i3/ G. Fernando. To V or not to V: A practical guide to virtualization. White paper, BMC Software, Inc., Jan., 2006. W. M. Fuertes, J. L. de Vergara. A quantitative comparison of virtual network environments based on performance measurements. In Proc. of the 14th HP Software University Association Workshop. Munich, Germany, 8-11 July, 2007.
[Fer06] [FV07]
[GAH+ 07] J. Garca-Dorado, J. Aracil, J. Hern ndez, S. L pez-Buedo, J. L. de Vergara, a o P. Reviriego, G. Huecas, S. Pav n, J. Quemada. A quality of service assesso ment technique for large-scale management of multimedia ows. In Proc. of 10th IFIP/IEEE Int. Conf. on Management of Multimedia and Mobile Networks and Services (MMNS2007). Pp. 173176. San Jose, California, Nov. 2, 2007. [GFFM08] F. Gal n, D. Fern ndez, M. Ferrer, F. J. Martn. Scenario-based Distributed Virtuala a ization Management Architecture for Multi-host Environments. In Proc. of System and Virtualization Management Workshop (SVM), CCIS 18. Munich (Germany), Oct. Pp. 4960. 2008. [GGC+ 06] F. Gal n, E. Garca, C. Ch varri, D. Fern ndez, M. G mez. Design and Implea a a o mentation of an IP Multimedia Subsystem (IMS) Emulator Using Virtualization Techniques. In Proc. of the 13th HP OpenView University Association Workshop (HP-OVUA, France, May. Pp. 213224. 2006. [Hem05] [Inc08] S. Hemminger. Network Emulation with NetEm. Open Source Development Lab. April, 2005. V. Inc. Timekeeping in VMware virtual machines. White papers. Latest revision: 12 Aug., 2008. http://www.vmware.com/pdf/vmware timekeeping.pdf. V. Jacobson, C. Leres, S. McCanne. Tcpdump. Availableat:[email protected] M. Jones. An overview of virtualization methods, architectures, and implementations. Emulex Corp. Longmont, Colorado, 29 Dec., 2006. A. Keller. Tc Packet Filtering and NetEm Manual, ETH Zurich, July 20, 2006.
Volume 17 (2009)
[KL51]
S. Kullback, R. Leibler. On information and sufciency. In Annals of Mathematical Statistics. Pp. 7986. 1951.
[MHH+ 07] J. N. Matthews, W. Hu, M. Hapuarachchi, T. Deshane, D. Dimatos, G. Hamilton, M. McCabe, J. Owens. Quantifying the Performance Isolation Properties of Virtualization Systems. In Proc. of ExpCS07 San Diego CA 13 14 Jun. 2007. [MHR07] [MRM06] [Mun08] [NS2] [Rim07] [RSS07] S. Maier, D. Herrscher, K. Rothermel. Experiences with node virtualization for scalable network emulation. Computer Communications. Vol. 30, pp. 943956, 2007. D. Marshall, W. Reynolds, D. McCrory. Advanced Server Virtualization, VMware and Microsoft Platforms in the virtual Center. In Averbach Publications. 2006. A. Munoz. Academic Research and Teaching with OPNET Software. Technical report, Univ. of Basque Country, Dep. of Electronics and Communications, 2008. NS2. The Network Simulator NS2. http://www.isi.edu/nsnam/ns/ M. Rimondini. Emulation of Computer Networks with Netkit. Technical report, Dep. of Computer science and Automatization, University of Rome Italy, 2007. H. Raj, B. Seshasayee, K. Schwan. VMedia: Enhanced Multimedia Services in Virtualized Systems. Technical report, Published by Georgia Institute of Technology, No. GIT-CERCS-07-19, 2007.
[SWL+ 07] Y. Song, H. Wang, Y. Li, Y. Sun, Y. Zeng. Can VoD streaming service co-exist with other services on a VM-based virtualized computing platform? In Proc. of the Asian technology information China. HPC. Pp. 95103. 2007. [Vid] VideoLan. VideoLAN Streaming Solution. http://www.videolan.org/
[WCCG08] J. Walters, V. Chaudhary, M. Cha, S. G. J. S. Gallo. A Comparison of Virtualization Technologies for HPC. In Proc. of 22nd International Conference on Advanced Information Networking and Applications (AINA). Pp. 861868. Okinawa 25-28 Mar., 2008. [Wir] Wireshark. http://www.wireshark.org/
14 / 14