Home & Garden

Performance Models for Virtualized Applications

Description
This paper develops a series of performance models for predicting performance of applications on virtualized systems. It introduces the main ideas of performance modeling and presents a complete case study of an application running on Linux that is
Categories
Published
of 13
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Transcript
  Performance Models for VirtualizedApplications ⋆ Fabr´ıcio Benevenuto 1 , C´esar Fernandes 1 , Matheus Santos 1 , Virg´ılio Almeida 1 ,Jussara Almeida 1 , G.(John) Janakiraman 2 , and Jos´e Renato Santos 2 1 Computer Science DepartmentFederal University of Minas Gerais - Brazil { fabricio, cesar, mtcs, virgilio, jussara } @dcc.ufmg.br 2 HP LabsPalo Alto - USA { john.janakiraman, joserenato.santos } @hp.com Abstract.  This paper develops a series of performance models for pre-dicting performance of applications on virtualized systems. It introducesthe main ideas of performance modeling and presents a complete casestudy of an application running on Linux that is migrated to a virtual-ized environment consisting of Linux and Xen. The paper describes themodels, the process of obtaining measurements for the models and cal-culates performance metrics for the two environments. A validation of the results is also discussed in the paper. 1 Introduction Virtualization can be understood as a technique to partition resources of a ma-chine in multiple environments, creating a new level of indirection between phys-ical resources and applications. Recently, virtualization technologies are experi-encing a renewed interest as a way to improve system security, reliability, andavailability, reduce costs, and provide flexibility. Particularly, such benefits aregaining popularity with Virtual Machines Monitors (VMM), providing software-based solutions for building shared hardware infrastructures.Virtual machines provide a suitable environment to consolidate multiple ser-vices into few physical machines. Nevertheless, in order to migrate applicationsfrom physical machines to virtualized consolidated platforms, one needs to beable to estimate the performance these applications will achieve on the new en-vironment.  Will migrated applications run with competitive performance as they run on their current environment? How many servers will be needed to create a virtual environment able to support the execution of the services provided, with acceptable performance? What is the best configuration of resources on the vir-tual environment for a certain application?   Therefore, there is a current need fornew tools for predicting performance, providing information for resource alloca-tion, and determining optimal system configuration. This work gives the first ⋆ This work was developed in collaboration with HP Brazil P&D. G. Min et al. (Eds.): ISPA 2006 Ws, LNCS 4331, pp. 427–439, 2006.c  Springer-Verlag Berlin Heidelberg 2006  428 F. Benevenuto et al. step in this direction. We propose simple queuing models for predicting the per-formance that applications, currently running on Linux system, will achieve if migrated to a Xen virtual system, with same hardware configuration. We furthervalidate these models with experimental results.The rest of the paper is organized as follows. The next Section presents relatedwork. Section 3 discuss background on performance modeling. Section 4 reviews the main architectural aspects of Xen, describes the tools and the experimentalenvironment used for the performance evaluation. Section 5 discuss experimentalresults, whereas Section 6 presents analytic equations for virtual systems andcompares analytical and experimental results. Finally, Section 7 concludes thepaper and presents directions for future works. 2 Related Work Three popular virtual systems are VMware [11], Denali [12], and Xen [1]. VMware is responsible for several products using different virtualization strate-gies. Denali was projected to support a large number of VMs, where each VM isable to execute only one application. Unlike Denali, Xen was designed to supportVMs able to execute an entire operating system and thus, more than one appli-cation. The focus of our model and analysis is the Xen VMM, which is brieflydescribed in Section 4.1.The first studies and applications of virtualization emerged in 1960, whenvirtualization was described as an evolution of the study of time sharing andmultiprogramming [13]. One of the most popular virtual environments at thattime was the IBM VM/370. Bard et. al proposed analytical models for VM/370to estimate performance metrics such as CPU utilization, and developed a per-formance predictor tool for this environment [14].More recently, queuing network models for performance prediction of virtualenvironments were proposed in [7,3]. However, the proposed models were not validated for any specific virtual architecture. In this work, we propose specificanalytic models for the Xen architecture, validating these models with experi-mental results.Recently, Cherkasova et al. [2] proposed a methodology to measure separatelythe CPU overhead on the IDD due to I/O operations of a guest VM. The ideais to count the cost and the number of page exchanges between a certain guestvirtual machine and the IDD to estimate the amount of CPU usage of the IDDconsumed in behalf of a certain virtual machine. Other studies also provided per-formance evaluation of applications running on Xen [8,4]. In common, all theseefforts are based solely on experimental evaluation of Xen and its applications. 3 Performance Models A  model   is a representation of a system. Performance models [7] are useful forpredicting the values of performance measures of a system from a set of values of workload, operating system, and hardware parameters. Performance prediction  Performance Models for Virtualized Applications 429 is the process of estimating performance measures of a computer system for agiven set of parameters. Typical performance measures include response time,throughput, resource utilization, and resource queue length. The input parame-ters to such a model fall into one of three categories: workload, basic software,and hardware parameters. The workload parameters describe the load imposedon the system of interest by the applications, i.e., the transactions submittedto it. The software parameters describe features of the basic software, such asthe Xen virtual machine monitor overhead. Examples of such parameters arevirtualization overhead, CPU dispatching priority, etc. Examples of hardwareperformance parameters include the components of the servers that supports aXen system, such as processor speeds, disk latencies and transfer rates, and localarea network speed. The output of a performance model is a set of performancemeasures, such as response times, throughput, and resource utilizations.The emphasis of this paper is on how to build performance models for vir-tualized applications. We start out with simple models that provide bounds onsome performance metrics. For example, one common question in the analysisof virtualized systems is “what is the maximum theoretical value of the arrivalrate  λ  for a given virtualized system?” This question has an easy answer thatdepends solely on the service demands of all resources. Note that the servicedemand  D i , the utilization  U  i , and the arrival rate  λ  are related by  λ  =  U  i /D i for all resources  i . Because the utilization of any resource cannot exceed 100%,we have that  λ  ≤  1 /D i  for all  i ’s. The maximum value of   λ  is limited by theresource with the highest value of the service demand, called the bottleneckresource. Thus, λ ≤ 1max K i =1 D i (1)In order to estimate more accurate performance metrics, models have to considercontention for resources and the queues that arise at each system resource—CPUs, disks, memory and communication devices. Queues also arise for soft-ware resources, such as threads, database locks, and protocol ports. The variousqueues that represent a virtualized system are interconnected, giving rise to anetwork of queues, called a queuing network (QN). A common question thatcould be answered by a queuing network model of a virtualized system is: “whatwill the averageresponse time of application Y be when it is migrated from a pureLinux to a Linux/Xen environment that has the same system configuration?”To answer this question, we need models that present details of the system. Thelevel of detail at which resources are depicted in a QN model of a virtualizedsystem depends on the reasons to build the model and the availability of detailedinformation about the operation and availability of detailed parameters of spe-cific resources. In other words, models depend on data collected by measurementtools in virtualized systems. The basic input parameters that we use in our per-formance models are service demands and arrival rates. Service demand is thesum of the service time at a resource (e.g. processor, disk, network) over all visitsto that resource during the execution of a transaction or request. In a queuingnetwork model, not all requests that flow through the resources of a system are  430 F. Benevenuto et al. similar in terms of the resources used and the time spent at each resource. There-fore, Workload may be broken down into several workload components, whichare represented in a QN model by a  class   of requests. Different classes may havedifferent service demand parametersand different workloadintensity parameters.Classes of requests may be classified as  open   or  closed   depending on whether thenumber of requests in the QN is unbounded or fixed, respectively. Open classesallow requests to arrive, go through the various resources, and leave the system.In this paper we initially present a simple model that estimates bounds on theperformance of a virtualized system and then we develop an open-class queuingnetwork model that represents applications running on Linux and Xen. 4 Case Study In order to demonstrate the causes of virtualization overhead on the Xen VMM,we provide a performance evaluation of three benchmarks running on Xen andLinux. Then, we use a simple case study of a Web server to validate the perfor-mance models. The goal is to predict the performance a Web server application,currently running on a non-virtual system, will achieve if migrated to a Xen vir-tual machine. Our research strategy consists of a performance study of a simpleWeb server which provides only static content. In addition to this case study,we presented some results to discuss which components of the Xen environmentneed to be considered in a model. Next, we briefly describe the Xen virtual ma-chine monitor and Xen I/O model. Our discussion focuses on aspects which aremore relevant for the performance evaluation presented. Then, we present thetools and the hardware platform used. 4.1 Xen Architecture Xen is a free and open-source virtual machine monitor (VMM) which allowsmultiple (guest) operating system (OS) instances to run concurrently on a sin-gle physical machine. It uses paravirtualization, where the VMM exposes a vir-tual machine abstraction slightly different from the underlying hardware. TheXen system has multiple layers. The lowest and most privileged is called VMM.Each guest OS runs on a separate virtual machine called domain. The domainsare scheduled by the VMM to make effective use of the available physical CPUs.Each application, running on a guest OS, accesses hardware devices via a specialprivileged virtual machine called  isolated driver domain (IDD) , which owns spe-cific hardware devices and run their I/O device drivers. All other domains ( guest domains   in Xen terminology) run a simple device driver which communicateswith the driver domain to access the real hardware devices. Figure 1 provides anoverview of Xen I/O model. The IDD can access directly the hardware devices itowns. However, a guest domain accesses the hardware devices indirectly througha virtual device connected to the IDD. The IDD maps through bridges or routingthe physical interface to its virtual interface which communicates with the guestvirtual interface. The guest domain exchanges requests and responses with the  Performance Models for Virtualized Applications 431 ChannelI/O DomainGuest I/O Driver Domain BridgePeth0  BackendFrontendVif Vif  HardwareVirtual Machine Monitor NIC Fig.1.  Overview of Xen I/O model IDD over an I/O channel. In order to avoid copying, references to page-sizedbuffers are transferred over the I/O channel instead of the actual I/O data. 4.2 Monitoring Framework In order to develop performance models, we need to be able to measure thevirtualized system. We developed an application called  Xencpu   to measure CPUbusy time on Xen. This tool is based on the source code of   xm top  tool, providedwith Xen, and was designed aiming at the automatic execution of our scripts.The CPU busy time on the Linux system is obtained based on information from /proc   directory. Disk busy time, on both Xen and Linux, was also obtained fromthe  /proc   directory. Other parameters such as experiment duration and numberof processed requests are obtained with scripts or from the benchmarks used. 4.3 Workload The workload used is generated by the following benchmarks: - Web server:  we used httperf [9] as clients and Apache [10] version 2.0.55 as the Web server. The httperf is a tool which allows generating several HTTPworkloads and measuring the performance of the Web server from the point of view of the clients. We run httperf on a client machine, sending requests with rate λ  to the server, measuring throughput and server response time of the requests.The workload used is part of a set of workloads from SPECWeb99 [7] and itdoes not contain dynamic content. - Disk intensive application:  This benchmark consists of copying a 2 GB filefrom a directory to another, on the same partition. We use this benchmark toanalyze the impact of disk activity on the virtual environment overhead. - CPU intensive application:  It consists on a kernel compilation, which evo-cates several functions, stressing system CPU. 4.4 Experimental Setup For all experiments, we use a two 64-bit CPU 3.2 GHz Intel Xeon server, with2 GB of RAM, one disk with 7200 RPM and 8 MB of cache, and two Broadcom
Search
Tags
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x