19
J Supercomput (2013) 63:946–964 DOI 10.1007/s11227-012-0846-y A study on virtual machine deployment for application outsourcing in mobile cloud computing Muhammad Shiraz · Saeid Abolfazli · Zohreh Sanaei · Abdullah Gani Published online: 18 December 2012 © Springer Science+Business Media New York 2012 Abstract In mobile cloud computing, application offloading is implemented as a software level solution for augmenting computing potentials of smart mobile devices. VM is one of the prominent approaches for offloading computational load to cloud server nodes. A challenging aspect of such frameworks is the additional computing resources utilization in the deployment and management of VM on Smartphone. The deployment of Virtual Machine (VM) requires computing resources for VM creation and configuration. The management of VM includes computing resources utilization in the monitoring of VM in entire lifecycle and physical resources management for VM on Smartphone. The objective of this work is to ensure that VM deployment and management requires additional computing resources on mobile device for applica- tion offloading. This paper analyzes the impact of VM deployment and management on the execution time of application in different experiments. We investigate VM deployment and management for application processing in simulation environment by using CloudSim, which is a simulation toolkit that provides an extensible simu- lation framework to model the simulation of VM deployment and management for application processing in cloud-computing infrastructure. VM deployment and man- agement in application processing is evaluated by analyzing VM deployment, the execution time of applications and total execution time of the simulation. The anal- ysis concludes that VM deployment and management require additional resources M. Shiraz ( ) · S. Abolfazli · Z. Sanaei · A. Gani Mobile Cloud Computing Research Lab, Faculty of Computer Science and Information Technology, University of Malaya, Kuala Lumpur, Malaysia e-mail: [email protected] S. Abolfazli e-mail: [email protected] Z. Sanaei e-mail: [email protected] A. Gani e-mail: [email protected]

A study on virtual machine deployment for application ... · A study on virtual machine deployment for application outsourcing in mobile cloud computing ... A study on virtual machine

Embed Size (px)

Citation preview

J Supercomput (2013) 63:946–964DOI 10.1007/s11227-012-0846-y

A study on virtual machine deployment for applicationoutsourcing in mobile cloud computing

Muhammad Shiraz · Saeid Abolfazli ·Zohreh Sanaei · Abdullah Gani

Published online: 18 December 2012© Springer Science+Business Media New York 2012

Abstract In mobile cloud computing, application offloading is implemented as asoftware level solution for augmenting computing potentials of smart mobile devices.VM is one of the prominent approaches for offloading computational load to cloudserver nodes. A challenging aspect of such frameworks is the additional computingresources utilization in the deployment and management of VM on Smartphone. Thedeployment of Virtual Machine (VM) requires computing resources for VM creationand configuration. The management of VM includes computing resources utilizationin the monitoring of VM in entire lifecycle and physical resources management forVM on Smartphone. The objective of this work is to ensure that VM deployment andmanagement requires additional computing resources on mobile device for applica-tion offloading. This paper analyzes the impact of VM deployment and managementon the execution time of application in different experiments. We investigate VMdeployment and management for application processing in simulation environmentby using CloudSim, which is a simulation toolkit that provides an extensible simu-lation framework to model the simulation of VM deployment and management forapplication processing in cloud-computing infrastructure. VM deployment and man-agement in application processing is evaluated by analyzing VM deployment, theexecution time of applications and total execution time of the simulation. The anal-ysis concludes that VM deployment and management require additional resources

M. Shiraz (�) · S. Abolfazli · Z. Sanaei · A. GaniMobile Cloud Computing Research Lab, Faculty of Computer Science and Information Technology,University of Malaya, Kuala Lumpur, Malaysiae-mail: [email protected]

S. Abolfazlie-mail: [email protected]

Z. Sanaeie-mail: [email protected]

A. Ganie-mail: [email protected]

A study on virtual machine deployment for application outsourcing 947

on the computing host. Therefore, VM deployment is a heavyweight approach forprocess offloading on smart mobile devices.

Keywords Mobile cloud computing · Virtualization · Virtual machine · Cloudlet ·Process offloading

1 Introduction

The latest enhancements in computing and communication technologies emerged intovarious advanced computing paradigms such as cloud computing, mobile computing,and mobile cloud computing. Cloud computing has emerged into an interesting fieldof research from academic and industrial perspectives, a valuable asset from businessperspective and an optimal way for information access worldwide. Cloud comput-ing has turned the vision of “computing utility” into a reality [1] by fulfilling thepromise of providing computing as the fifth utility like water, gas, electricity, andtelephone. Cloud computing provides centralized computing services on demand ba-sis [2], and users access computing resources from centralized cloud servers throughservice providers. An important aspect of the cloud revolution is augmenting the com-puting potentials of resources constraint devices through Mobile Cloud Computing(MCC). Researchers endeavor different measures to augment computing potentialsof smart mobile devices. Sharing computation workload in application offloading isa prominent approach for augmenting computing potentials of Smart Mobile Devices(SMDs). In [4], we provide thematic taxonomy for different types of application of-floading framework. VM migration-based application offloading is among the cloud-based application processing mechanism which involves encapsulation of applicationin VM instance and migration of VM to cloud server node. A challenging aspect ofVM migration based offloading mechanism is the additional overhead associated withthe deployment and management of VM on SMD which requires additional comput-ing resources on SMD. The deployment and management of VM involves the over-head of VM management in different states of its lifecycle, application deployment inVM and VM migration; which requires additional computing resources and increasesthe execution cost of the application. Therefore, computing resources are consumedabundantly for longer period of time. This paper analyzes different aspects of VMlifecycle and deployment of VM for application processing; such as VM creation,application allocation to VM, VM destruction. We investigate the impact of VMson the execution time of individual applications and total simulation time in diverseexperiments. VMs share the same physical computing resources of the computingdevice; therefore VM deployment for application processing requires excessive com-puting resources. We analyze the overhead associated with the deployment of VMsin application processing from diverse perspectives. We collect data by experimenta-tion in simulation environment by employing a cloud simulator known as CloudSim;which is a simulation toolkit that supports both system and behavior modeling ofcloud Infrastructure as a Service; such as datacenters, VMs, applications (cloudlets)and resource provisioning policies. The paper is organized as follows.

Section 2 provides an overview on cloud computing, mobile cloud computingand discusses important aspects of virtualization. Section 3 reviews existing VM

948 M. Shiraz et al.

migration-based application offloading frameworks in chronological order. Section 4explains the performance parameters which are employed for the evaluation of VMdeployment and management and describes the procedure adopted for experimenta-tion and analysis of the experimental results. Section 5 presents a set of experimen-tal work conducted for analyzing the overhead associated with VM deployment andmanagement. Finally, Sect. 6 draws some concluding remarks and future directions.

2 Background

This section discusses fundamental concept of cloud computing and mobile cloudcomputing, and describes the concept of virtualization in cloud computing.

2.1 Cloud computing

Cloud computing is the distributed computing model which provides computing ser-vices and resources on demand basis by implementing on-demand, pay-as-you-go,and utility computing business models [1]. Computational clouds increase the capac-ity and capabilities of client devices by providing access to leased infrastructure andsoftware applications instead of owning them. It has enabled new ways of commu-nication and collaboration and new kind of information services access mechanisms.Computational clouds offer different service models for the provision of computingservices and resources on demand basis. Service providers provide services in theform of various service models; Software as a Service (SaaS), Infrastructure as a Ser-vice (IaaS), and Platform as a Service (PaaS). Figure 1 shows an abstract level layeredcloud-computing architecture.

The physical resources of computational clouds are provided in the form of virtualmachines. The hypervisor provides access to the physical resources and is responsi-ble for the deployment and management of virtual machines. The application hostingplatform includes cloud programming environments and monitoring tools such asQoS negotiation, admission control, pricing, and billing. The cloud applications runon the virtual machine instances in complete isolation. Amazon Web Services (AWS)[3], Google AppEngine, Microsoft Azure and Aneka are the example of public utilitycomputing. AWS provides infrastructure as a service and software as service whichenable to utilize the virtualized resources and services in cloud datacenters. The Sim-ple Storage Service (S3) of AWS are accessed for storing personal data whereas its

Fig. 1 Layeredcloud-computing architecture[4]

A study on virtual machine deployment for application outsourcing 949

elastic cloud compute are utilized for utilizing cloud’s application processing ser-vices. Google App Engine implements the Platform as a Service model of computa-tional clouds which provides application developmental and deployment platform inGoogle’s data centers. App Engine uses the commonly used application developmen-tal tools such as Java and Python for providing application development environment.Microsoft Windows Azure implements PaaS service model of computational cloudby providing the services to develop deploy and operate applications and services incloud datacenters. Windows Azure offers cloud-computing platform for the devel-opment of web applications and services [4]. Aneka offers PaaS model and servesas an application development framework for building customized applications anddeploying them on either public or private clouds.

2.2 Mobile cloud computing

A distributed computing model that enables smart mobile devices to access wide-spread services of cloud datacenters is called mobile cloud computing. In such acomputing paradigm diverse service models of computational cloud are employed forresources constraint smart mobile devices. The objective of MCC is to augment com-puting potentials of smart mobile devices by employing storage and processing powerof cloud datacenters [2]. MCC architecture is composed of three components; Smart-phone, internet, and computational cloud. Smartphone is a miniature and compactmobile computing device which integrates computing potentials of PDAs and voicecall capabilities of ordinary cellular mobile phones. Smartphone is constrained by in-trinsic limitations in wireless access and constraints in computing resources such asmemory, battery power and processing capabilities. Smartphone provides multimodalconnectivity for accessing the internet. Multimodal connectivity is employed by ac-cessing cellular network and internet using 3G connectivity, Wi-Fi, or LTE. Usersaccess computational intensive applications on Smartphone; such as online gaming,image processing and speech recognition using internet. In MCC the predominantapproach to alleviate resources constraints of smart mobile devices is applicationoffloading in which distributed application execution environment is established atruntime. Application offloading is based on the concept of outsourcing computationintensive applications either partially or entirely to resources rich datacenters. Cur-rent offloading techniques [5–13] are focused on what to offload, and where to offloadand lack in the consideration of the overhead of distributed application execution onsmart mobile devices. In VM migration-based distributed application execution therunning states of the mobile application (partially or entirely) is encapsulated in VMinstance on SMD which is migrated to remote cloud server node. The following sec-tion highlights mechanism of virtualization in mobile cloud computing.

2.3 Virtualization

Virtualization is the a mechanism of creating virtual instance of a device or resource,such as a server, storage device, network or an operating system wherein the frame-work divides the resource into one or more execution environments. For instance,

950 M. Shiraz et al.

virtual memory is the virtual instance of physical memory, virtual drive is a vir-tual instance of physical drive and virtual machine is the virtual instance of phys-ical host. The mechanism in which virtual instances are deployed and managed iscalled virtualization. The software or firmware that creates a virtual machine on thehost hardware is called a hypervisor or virtual machine monitor. Hypervisor masksthe complexities of the hosting system from guest execution environment. In cloudcomputing an important aspect of virtualization is the provision of consolidated VMinstances as per demands of the computing clients. VM consolidation involves thehosting of multiple VMs on the same physical host which allows dynamic multi-plexing of computation and communication resources and leads to higher resourceutilization and scalability of the physical infrastructure. VM consolidation has beenincreasingly implemented in cloud datacenter environments for example: AmazonEC2 [14], Eucalyptus [15], and Nimbus [16]. VM creation from scratch requires cre-ating a virtual hard drive image, configuring virtualized resources, installing OS andinitializing application services. Each VM is initially halted after being created fromscratch or cloned from templates. Each halted VM is a static instance which con-sumes disk space; In VM startup phase it is customized by installing new applicationsor changing the associated configuration. A VM is a virtual instance that requires tobe scheduled for the allocation of computing resources on physical host. A VM en-ters running state when physical CPU is scheduled for its execution. A VM can bepaused or suspended on local host or migrated to another host. Figure 2 depicts statetransition diagram of VM lifecycle.

VMs are deployed in different manners which includes; template-based VMs [17,18], process forking, and VM forking. Services providers employ VM templates to

Fig. 2 State transition diagram of virtual machines

A study on virtual machine deployment for application outsourcing 951

reduce the startup latency. A template-based image does not contain state informationabout the running application. In [19], a substrate-based VM creation technique isdeployed. A substrate is a generic VM instance with minimum size that is dockedin memory of a designated machine in an inactive state. In MCC, VM migration orVM cloning strategies are employed for offload processing. A challenging aspect ofVM-based process offloading is the additional computing resources required for thedeployment and management of VM on Smartphone. The following section discussesprocess offloading frameworks which implement virtual machine migration for theestablishment of distributed application execution platform.

3 Review on virtual machine migration based application offloadingframeworks for MCC

The traditional application offloading frameworks achieve offload processing in di-verse ways. Several approaches exploit VM cloning and entire application migration;others focus on part(s) of the application to be offloaded [4]. A number of approachesemploy static partitioning, others exercise dynamic partitioning. Various migrationpatterns are used; VM transfer[5–10], downloading application by providing the URLof the remote host [10], Mobile agent such as universal mobile service cell [12], ap-plication binary transfer and use of proxies[13, 22, 23]. Diverse objective functionsare considered: saving processing power, efficient bandwidth utilization, minimiz-ing energy consumption, user preferences, and execution cost. The objective of allapproaches is to augment the computing potentials of resources constraint mobiledevices. The following section discusses latest VM migration-based application of-floading frameworks for mobile cloud computing in chronological order.

In [5] cyber foraging is deployed through VM technology for utilizing computa-tion resources of nearby devices. The architecture is composed of client and surrogateserver. VM technology allows a single surrogate machine to run a configurable num-ber of independent virtual servers with a greater isolation, elasticity, resources con-trol and ease of cleanup. Client applications running on different VM servers of thesame surrogate do not interfere with one another. The VM monitor enforces resourcecontrols (disk quota, CPU share, and physical memory allocation) on per VM basis.Clone cloud-based framework [6] seamlessly offloads cloned whole system imagesto the nearby computer. The framework exploits various augmentations strategiesfor different types of application. Primary functionality outsourcing is deployed byoffloading computational intensive tasks to the remote host; whereas simple taskssuch as user interfaces are kept on mobile devices. Examples of applications includespeech recognition, image processing and video indexing. Background augmenta-tion is implemented for applications that need to run in background. Backgroundaugmentation offloads the entire application to a remote host and communicates re-sults from background process to the mobile device. Examples of the applicationsinclude antivirus and file indexing for faster search. Mainline augmentation policy isdeployed for applications having mixed nature; having some computational intensivecomputational load and need to interact with other parts of the applications. Exam-ples include fault tolerance and debugging. VM-based cloudlets architecture [7] is

952 M. Shiraz et al.

employs remote cloudlets for application offloading. A cloudlet is a trusted resourcerich computer or cluster of computers which is connected to internet and availablefor use by mobile devices. The framework exploits the tactic of copying the entireapplication processing environment of the mobile device into a remote cloudlet. Mo-bile device acts as a thin client whereas application processing is performed on theremote cloudlet. A VM encapsulates and detaches the temporary guest software en-vironment from the cloudlet infrastructure’s permanent host software environment.An interface separates the host operating system and guest VM environment. Theframework employs various tactics for VM migration and is based on utilizing thecapabilities of cloudlets accessible over local area network. VM-based CloneCloudframework [8] is based on application partitioning and partition offloading in VM.Partitioning and integration of the application occurs at application level. Partitioncloning is used for migration to remote cloud server. Partitioning phase of the frame-work encompasses; static analysis, application dynamic profiling, and optimizationsolution. The mobile device uses a pre-process migratory thread to assist the pro-cess by suspending, packaging, resuming, and merging thread states. The frameworkemploys dynamic application partitioning, migration, and reintegration tactic. Theframework is implemented at application level and a centralized monitoring mecha-nism is used for distributed execution platform. CloneCloud [8] is a productive ap-proach for extending the concept of VM-based clone cloud offloading from LANsurrogates [5] to cloud servers. Offload processing is monitored through a centralizedmechanism of the cloud datacenters. The framework exploits dynamic profiling tocollect data, which is used to construct a cost model for the application under dif-ferent execution settings. The framework has impact on execution time and energyconsumption at mobile device for cost metrics. Mirror server [9] augments SMD byproviding different types of service; security (file scanning), storage (file caching) andcomputation offloading. The architecture is composed of a server and client compo-nents. The server component is employed in the Telecommunication Service Provider(TSP) network whereas SMD is the client component of the architecture. The frame-work leverages cloud-computing virtualization technique for the deployment. TheVM template for each mobile device is called its mirror and the server which is re-sponsible for the deployment of mirrors is called mirror server. A mirror server is apowerful server which maintains VM template for each of the different types of mo-bile devices platform. The VM template for each mobile device is kept with defaultsettings. The server has the attribute of scalability and is capable to create and monitorhundreds of mirrors at a time. Smartphone request for services to mirror servers anda new VM template is created as per the platform of the requesting mobile device.In [10] a virtualization framework is used for application transfer. The frameworkutilizes application level process migration using android platform. A running appli-cation is migrated to the cloud VM environment and state information is migrated tocloud. The cloud server creates a new VM instance, and the state of the applicationis cloned into the VM instance. A synchronization mechanism is provided betweenphysical device and VM environment. A middleware is placed between the mobiledevice operating system and the hardware to support runtime workload migrationand to better utilize the heterogeneous resources of mobile device and cloud servers.The framework makes use of the pause and resume scheme of the android platform

A study on virtual machine deployment for application outsourcing 953

for state transfer. VM migration-based application offloading is a simple approachfor sharing computation load with cloud datacenters. On the other hand the overheadassociated with VM deployment and management on smart mobile device increasesthe execution cost and time in offload processing. The following section highlightskey performance parameters used for the evaluation of overhead in the deploymentof VM for application processing.

4 Performance parameters in virtual machine deployment and management

The deployment and management of VMs require additional computing resourceson Smartphone. A key aspect of VM deployment is the utilization of computing re-sources for the duration of VM lifecycle; which affects the execution cost and timerequired for the execution of application. The deployment of VM involves com-puting resources demand for VM creation, VM configuration, VM OS setup, VMstartup, and application deployment. The management of VM comprises comput-ing resources utilization in the monitoring of VM state transitions, CPU scheduling,VM migration, application processing management, VM state transitions and physi-cal resources monitoring of computing host; allocation and de-allocation of physicalresources such as CPU and memory. Figure 3 categorizes different aspects in VMdeployment and management.

Following are different parameters for the deployment of VM for application pro-cessing in cloud datacenters (a) VM Creation time: The creation of a fresh VM in-stance is a time consuming operation. VM creation time represents the time requiredfor the creation of a new VM instance. VM is created in different manners; there-fore the creation time of virtual machine depends on the VM creation policy. (b) VM

Fig. 3 Key aspects in VM deployment and management

954 M. Shiraz et al.

Scheduling Latency: Virtual machine is the virtual instance of physical computinghost, and all consolidated VMs share the same physical resources of hosting com-puter. Therefore, the physical CPU of the hosting computer is scheduled for VMs.Scheduling large number of VMs for access the same CPU increases the executiontime of application in VM. An important aspect of CPU scheduling latency is asso-ciated with shared VMs; the scenario in which a single VM is shared by multipleapplications. In such a scenario, the CPU of VM is scheduled for multiple applica-tions. (c) Application Allocation to VM Time: It is the time required for the allocationof application to VM for execution. Application can be deployed in VM in differentmanners. Such as a new application is deployed in VM or a running application ismigrated to VM. Therefore, the complexity of time consumed in application allo-cation to VM varies for different types of application deployment scenario. (d) VMMigration time: VM migration can be implemented in different perspectives; such asa VM can be migrated among different consolidated VMs of a single physical host ora VM can be migrated from one physical host to another physical host. Computingresources are exploited in inter host VM migration; such as network bandwidth andenergy power. The time required to migrate a VM from one source to another destina-tion constitute the time overhead of VM migration. In VM-based process offloading,VM migration overhead is the time required to migrate VM from smart mobile de-vice to cloud datacenter. (e) The last phase of VM lifecycle is VM termination. Inthis phase the virtual instance is removed from memory and the allocated comput-ing resources of the physical host are returned. VM termination time constitute thetime required to vanish a VM completely and return computing resources to physicalhost. Application creation time is the time required to create a new application withpre-allocated specifications in simulation environment. Application allocation to VMtime is the time required to allocate an application to VM. In some cases applica-tion migration occurs in datacenters in which applications are migrated to other VMson the same physical host or remote host by employing variant migration policies.Application migration includes the overhead of saving state information of runningapplication, selection of appropriate remote host for application processing, trans-ferring application to the remote host and allocation of application to a new VM inremote datacenter.

We evaluate the impact of VM deployment and management for application pro-cessing by analyzing the following parameters in different experimental scenarios;such as VM deployment, the execution time of applications and total execution timeof the simulation.

4.1 Methodology

We performed experimentation in simulation environment using CloudSim, whichis a simulation toolkit that supports both system and behavior modeling of Cloudsystem components such as datacenters, virtual machines (VMs) and resource provi-sioning policies. It implements generic application provisioning techniques that canbe extended with ease and limited efforts. It supports modeling and simulation ofCloud-computing environments consisting of both single and inter-networked clouds

A study on virtual machine deployment for application outsourcing 955

(federation of clouds) [20]. In CloudSim, the simulated cloud environment is com-posed of the three main components; datacenters, hosts, and datacenter broker. Dat-acenters are the resource providers in CloudSim. We simulate two datacenters andeach Datacenter is defined with the following attributes: Architecture X86, Operat-ing System Linux, VMM (VM Ware) Xen, time_zone 10.0 (time zone this resourcelocated), cost 3.0 (the cost of using processing in this resource), Cost Per Memory0.05 (the cost of using memory in this resource), Cost Per Storage 0.1 (the cost of us-ing storage in this resource), Cost Per Bandwidth = 0.1 (the cost of using bandwidthin this resource), and storage list in the form of linked list data structure. The Data-center is composed of 50 hosts with the characteristics: 16384 MB RAM, 1000000bytes Storage, and 10000 MB bandwidth. Each host is composed of two Process-ing Elements (PEs) with processing capabilities of 1000 Millions of Instruction PerSecond (MI). The timeshared scheduling policy is used for the scheduling of PE’sinside the host. Each datacenter is composed of datacenter broker; which is responsi-ble for arbitrating negotiations between SaaS and Cloud providers; such negotiationsare driven by Quality of Service (QoS) requirements. The datacenter broker acts onbehalf of SaaS providers. It discovers suitable Cloud service providers by queryingthe Cloud Information Service (CIS) and undertakes online negotiations for alloca-tion of resources/services that meet application’s QoS needs. We extend this classfor evaluating and testing performance metrics associated with virtual machines andcloudlets. In our experimentations we create virtual machines with similar specifica-tions. Each virtual machine is composed of image size 10000 MB, RAM 512 MB(VM memory), processing capability 250 MIPS, bandwidth 1000 MB, number ofCPUs/PEs 1, and VMM Xen. All the VMs are added to list data structure and allo-cated to a specific datacenter broker. VMs are allocated to datacenter by deployingdefault VM Allocation policy (VmAllocationPolicySimple) of the simulator whiletimeshared scheduling policy is used for scheduling of VMs in the host. A VM is allo-cated one or more cloudlets. A cloudlet models the Cloud-based application services(such as content delivery, social networking, and business workflow). CloudSim or-ganizes the complexity of an application in terms of its computational requirements.Every application service (Cloudlet) has a pre-assigned instruction length and datatransfer overhead that it needs to undertake during its lifecycle. A cloudlet is allo-cated to a certain VM inside the host of datacenter. It is possible for a VM to executeone or more Cloudlets at a time. It is also possible to migrate a cloudlet among multi-ple VMs during its execution. Cloudlet object stores all the information encapsulatedin the Cloudlet and the ID of its VM. In our experimentation multiple cloudlets aredeployed with some specifications. Each cloudlet has the attributes such as: the Useror Broker ID (broker set this ID with its own ID), so that Cloud Resource returnsto it after the execution, cloudlet Length 40000 MI (the size of this Cloudlet to beexecuted in a Cloud Resource in millions of instruction (MI)), cloudlet File Size 300bytes (the input file size of this Cloudlet before execution), cloudlet output File Size300 bytes (the output file size of the Cloudlet after execution) and PE/CPU required 1(number of processing elements required to execute this job). All cloudlets are addedto list data structure. Cloudlet list is allocated to a certain datacenter broker. The de-fault scheduling policy of the data center broker is deployed for the allocation ofcloudlets to VMs. All the VMs in a host share the processing potential of the host.

956 M. Shiraz et al.

Fig. 4 Experimental taxonomy for VM deployment in application processing

VMs are created on the host at runtime; timeshared scheduling policy is deployed forthe scheduling of PEs inside a host. Both the VM list and Cloudlet list are submit-ted to the datacenter broker for processing in CloudSim simulation environment. Weadopt the following methodology for experimentation and evaluation of VM deploy-ment for application processing.

4.2 Experimental taxonomy

The taxonomy of the experimentation is composed of three main experimental cate-gories. (1) We analyze the overhead associated with VM deployment. In this scenariowe evaluate VM creation time, application allocation to VM time and VM destruc-tion time. We conduct a number of experiments to derive precise average value for thecreation of VM with varying number of VMs and application allocation to VM time,the VM destruction time. The average value of each experiment is used for the evalu-ation of the overhead in VM deployment for application processing. (2) We evaluatethe overhead associated with execution of application in VM. In this scenario, theapplication execution time is investigated in two different scenarios; application exe-cution time with none-shared VMs and application execution time with shared VMs.(3) The impact of VMs on the execution time of the simulation is evaluated by ana-lyzing the total simulation time with non-shared VM and total simulation time withshared VMs. Figure 4 indicates the taxonomy of diverse experimentation scenarios.

5 Analysis of virtual machine deployment for application processing

This section analyzes the additional overhead of virtual machine deployment for ap-plication processing. It investigates the impact of VM creation and destruction andexecution time of the application in different experiments.

A study on virtual machine deployment for application outsourcing 957

Fig. 5 VM creation time analysis

5.1 VM creation time analysis

The deployment of VM for mobile application offloading involves creation of VMinstance on smart mobile device which requires computing resources for the capsu-lation of running instances of mobile application on SMD. The creation time of VMvaries in simulation environment from real VM ware implementation for the reasonthat in CloudSim VMs start immediately. Therefore, there is zero time for accessingthe images and starting the VMs: behavior is such that all the hosts have all the imagesavailable. We evaluate the average creation VM creation time different experimentsfor varying number of VMs. Figure 5 shows the increase in average VM creationtime for increasing number of VMs. In the simulation environment, the average VMcreation time varies from 10 ms to 140 ms for the creation of 2–40 number of VMinstances. It shows that the creation of VM instance involves additional resourcesutilization on computing host. Therefore, the creation of VM is a resources intensiveand time consuming mechanism. Hence, VM migration-based mobile application of-floading comprises the overhead of VM creation on SMD.

5.2 Application allocation to VM time analysis

In the VM migration-based mobile application offloading, the running instances ofmobile application are encapsulated in VM instance on SMD. In the same way, theoffloaded VM instance is cloned to the newly created VM instance on cloud servernode which utilizes computing resources for resuming the running state of offloadedmobile application. We evaluate application allocation to VM time in different exper-iments. In CloudSim, applications are allocated to VMs by datacenter broker on thebasis of scheduling policy. We experiment the overhead associated with the alloca-tion of application to VM and observe the average time consumed for the allocationof applications to VM wherein the number of VMs and application is maintainedidentical. Figure 6 illustrates the trend of increase in the average time required for theallocation of applications to VM. The application allocation to VM time varies from10 ms to 430 ms for allocating 2–45 applications to separate VMs. The allocation of

958 M. Shiraz et al.

Fig. 6 Application allocation to VM time analysis

two applications to two VMs utilizes computing resources for 10 ms, similarly allo-cation of 20 applications to separate VMs utilizes computing resources for 106 ms,whereas the allocation of 45 different applications of identical computational load toseparate VMs utilize computing resources for 430 ms. Analysis of the results indi-cates that the average time required for allocating of applications to VMs increaseswith the increasing number of applications and VMs. The increase in VM allocationtime value shows the overhead associated with application allocation to VM.

5.3 VM destruction time analysis

The last state of VM lifecycle is VM destruction in which the physical resources al-located to VM are returned to computing host. Investigation of the results indicatesthat a small amount of overhead is associated with the destruction of VM. The aver-age destruction time is evaluated for up to 200 VMs. Destruction time of VM variesin diverse experiments which indicate that the overhead associated with the destruc-tion of VM remains constant for varying number of VMs in simulation environment.Figure 7 shows the trend of VM destruction overhead from 5 VMs up to 200 VMs.

In CloudSim, a cloudlet models the cloud-based application services such as: con-tent delivery, social networking, and business workflow. Mobile application (cloudlet)is modeled with the following attributes. Each application has a User or Broker ID(broker set this ID with its own ID), so that cloud resource returns to it after theexecution, Cloudlet Length 40000 MI (the size of this cloudlet to be executed in aCloud Resource in millions of instruction (MI)), cloudlet File Size 300 bytes (theinput file size of this Cloudlet before execution), cloudlet output File Size 300 bytes(the output file size of the Cloudlet after execution) and PE/CPU required 1 (numberof processing elements required to execute this job). In experimentation, all the ap-plications are executed on the local host, therefore it does not involve the overheadassociated with application migration in datacenters at runtime. We perform experi-ments with different number of applications to analyze the average time consumed inthe execution of application. The execution time of the application in VM is evaluatedin two different scenarios. (a) In one scenario a distinct VM instance is created for

A study on virtual machine deployment for application outsourcing 959

Fig. 7 VM destruction time analysis

Fig. 8 Application execution time analysis

each application. In this context, all the resources of a VM instance are utilized bythe application allocated to it. (b) In another scenario, the number of VMs is reducedwhereas the number of application is kept double to the number of VMs. Therefore,the computing resources of VMs are shared by two applications.

5.4 Application execution time for none shared VMs

In this scenario a distinct VM instance is created for each application; therefore thereis no overhead of VM scheduling for application processing. The average executiontime of the mobile application is 620414 ns for the execution of two applications intwo separate VMs. Similarly, the average application execution time is 41149574 nsfor the execution of 45 applications in 45 separate VMs. Figure 8 shows the increasingtrend in average execution time value of application in different experiments. Analy-sis of the results indicates that average execution time for each application increaseswith the increasing in number of applications and VMs.

Table 1 shows that the average execution time for single application increases 28 %when the number of applications is increased from 2–5, in the same way, the average

960 M. Shiraz et al.

Table 1 Percent increase inapplication execution (AE) timefor none shared VMs [21]

Applications % Increase AET

2–5 28

5–10 54

10–15 60

15–20 55

20–25 71

25–30 66

30–45 65

Fig. 9 Application average execution time for shared VMs

execution time for application increases by 54 % for 5–10 applications. In the samemanner the average execution time of a single application increases with the increasein number of applications and VMs, even though each application is executed in aseparate VM. The execution time of the application increases by 57 % on the averagefor 2–45 applications. The increase in execution time value of the application showsthe overhead of VM deployment and management for application processing.

5.5 Application execution time analysis for shared VMs

In this scenario the number of VMs is reduced to half as compared to the number ofapplications. Therefore, a single VM is shared by multiple applications. An apparentfactor is that reduction in the number of VMs should reduce the average executiontime of the application, for the reason of reduction in the overhead of VM deploy-ment and management. However, analysis of the experimental results indicates that itinvolves overhead of scheduling of VM’s CPU among multiple applications. There-fore, the average execution time of the application increases accordingly. Figure 9indicates the trend in average execution time of a single application for shared VMscenario.

Table 2, shows the percent increase in the average execution time for single appli-cation in different experiments for shared VM scenario. Analysis of the results showsthat the average execution time for single application increases 32 % whenever thenumber of applications is increased from 2–5 which are executed in 1–2 VMs, in the

A study on virtual machine deployment for application outsourcing 961

Table 2 Percent increase inapplication execution time forshared VM [21]

Applications % Increase in AET

2–5 32

5–10 81

10–15 60

15–20 64

20–25 77

25–30 69

30–45 70

Table 3 Comparison of application execution time (AET)

Number ofapplicationsprocessed

Execution time fornone shared VM

Execution time forshared VM

Percentdifference

2 620414 1797323 35

5 2217097 5663055 39

10 4116752 6966740 59

15 6811666 11556985 59

20 12496904 18022805 69

25 17703455 23391462 76

30 26644353 33667147 79

45 41149574 47909265 86

same way, the average execution time for application increases by 81 % for 5–10 ap-plications which are executed in 2–5 VMs. In the same manner, the average executiontime of a single application increases with the increase in number of applications andVMs, even though each VM is shared by multiple applications. The execution timeof the application increases by 64.7 % on average for 2–45 applications which areexecuted on 1–22 VMs.

5.6 Application execution time comparison for shared and none shared VMs

In Sect. 5.4, we discuss the impact of VMs on the average application execution timeof application by creating separate VM for each application. In Sect. 5.5, we analyzethe average execution time for applications by reducing the number of VMs. Experi-mentation results indicate that average execution time of the application increases ineither scenario. Table 3, summarizes the difference in average execution time of theapplication in two different scenarios. Analysis of the results shows that applicationexecution time differs 35 % for two applications, 39 % for five applications 69 %for 20 applications and 86 % for 45 applications. On the average the difference inapplication execution time is 63 % for (2–45) applications.

Figure 10 shows the comparison of average application execution time for sharedVMs and none shared VMs. The investigation in the increased value for either sce-nario indicates that average execution time of the application is higher with shared

962 M. Shiraz et al.

Fig. 10 Application average execution time comparison for non-shared VMs and shared VMs

VMs as compare to none shared VMs for the reason of the additional overhead asso-ciated with the scheduling of VMs among multiple applications for shared VMs.

5.7 Total simulation time analysis

Total simulation time parameter represents the time taken in the simulation of appli-cation processing in VMs on cloud host. In the context of virtualization, total simu-lation time depends on various factors associated with VM deployment and manage-ment and application execution. We investigate the impact of VM deployment andmanagement on total simulation execution time value in different experiments. (a)We determine the total execution time with a separate VM for each application. (b)We evaluate the total simulation execution time for reducing the number of VMs ashalf to the number of applications. Analysis of the difference in simulation time in-dicates that initially the total simulation time is greater for VMs shared by multipleapplications. However, with the increase in the number of applications the total sim-ulation time decreases for VM shared by multiple applications as compared to noneshared VMs. Figure 11 compares the total simulation time for shared VMs and noneshared VMs.

The comparison of the average execution time for application indicates that ex-ecution time of the application increases when the number of VMs is reduced andVMs are shared by multiple applications; for the reason that when VM is shared bymultiple applications the processing element (CPU) of VM is required to be sched-uled for multiple applications allocated to it. As a result, it involves extra overheadof VM CPU scheduling for multiple applications. On the other hand, it is importantto highlight that the total simulation execution time decreases for the shared VMs;despite the fact that it involves additional overhead of VM scheduling for multipleapplications. Sharing of VM results in reduced overhead of the VM deployment andmanagement. As a result, the overhead associated with VMs is minimized whichreduces total simulation execution time. Investigation of the results concludes twoimportant facts. (1) Sharing of VM is more useful for application (cloudlet) execu-tion as compared to creating a separate VM for each application. (2) The deployment

A study on virtual machine deployment for application outsourcing 963

Fig. 11 Simulation execution time comparison

of each VM requires additional overhead for application processing which increasescomputing resources demand and execution time of the application. VM is deployedfor the execution of application and because of the VM deployment and managementthe execution time of the application increases. It indicates the computing resourcesare consumed for a longer period of time, and ensures the overhead of VM deploy-ment for application execution.

6 Conclusion

Application offloading is application layer solution for augmenting computing po-tentials of SMDs. However, VM deployment based offloading procedures involveadditional overhead for VM deployment and management on SMDs which utilizeadditional computing resources and adversely affects the execution time of the ap-plication. We Analysis of the experimental results indicates the overhead associatedwith the deployment and management of VM for application processing. Therefore,VM-based process offloading is a heavyweight approach for distributed applica-tion deployment in MCC. The miniature nature and intrinsic limitations associatedwith SMDs require lightweight distributed application framework to optimally uti-lize computing resources of SMDs in remote application processing. To achieve theaforementioned MCC goals, our future work will investigate new lightweight dis-tributed models and techniques for optimal resources consumption on Smartphone indistributed application execution. We will focus on the deployment of distributed sys-tems principles to explicitly distribute the responsibilities of the computing entitiesat design time as a substitute of runtime distributed platform deployment in offloadprocessing. The development of such lightweight procedures will result in substantialperformance gains and enhancement in overall performance of distributed applicationdeployment and processing in mobile cloud computing.

964 M. Shiraz et al.

Acknowledgements This work is part of the Mobile Cloud-computing research project at the MobileCloud Computing Research Lab at the Department of Computer Systems and Technology, Faculty ofComputer Science and Information Technology, University of Malaya, Malaysia. The project is funded bythe Malaysian Ministry of Higher Education under the University of Malaya High Impact Research Grantwith reference UM.C/HIR/MOHE/FCSIT/03.

References

1. Buyya R, Yeo CS, Venugopal S et al (2009) Cloud computing and emerging IT platforms: vision,hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25(6):599–616

2. Armbrust M, Fox A, Grifth A et al (2009) Above the clouds: a Berkeley view of cloud computing.Electrical Engineering and Computer Sciences University of California at Berkeley, February 10,2009

3. Amazon S3 (2011) http://status.aws.amazon.com/s3-20080720.html. Accessed on 20th July 20114. Shiraz M, Gani A, Khokar HR, Buyya R (2012) A review on distributed application processing frame-

works in smart mobile devices for mobile cloud computing. IEEE Commun Surv Tutor (accepted)5. Goyal S, Carter J (2004) A lightweight secure cyber foraging infrastructure for resource-constrained

devices. In: WMCSA 2004, 6th IEEE workshop, 2–3 December 2004. IEEE Press, New York6. Chun GB, Maniatis P (2009) Augmented smartphone applications through clone cloud execution7. Satyanarayanan M, Bahl P, Caceres R, Davies N (2009) The case for VM-based cloudlets in mobile

computing. IEEE Pervasive Comput 8(4):14–238. Chun GB, Ihm S, Maniatis P et al (2011) CloneCloud: elastic execution between mobile device and

cloud. In: EuroSys’11, April 10–13, 2011, Salzburg Austria, ACM Press, New York, pp 10–139. Zao B, Xu Z, Chi C et al (2011) Mirroring smartphones for good: a feasibility study. ZTE Commun

9(1):13–1810. Hung HS, Kuo WT, Shih SC et al (2011) A cloud based virtualized execution environment for mobile

applications. ZTE Commun 9(1):19–2511. Zhang X, Kunjithapatham A, Jeong S et al (2011) Towards an elastic application model for augment-

ing the computing capabilities of mobile devices with cloud computing. Mob Netw Appl 16(3):270–285

12. Liu Q, Jian X, Hu J et al (2009) An optimized solution for mobile environment using mobile cloudcomputing. IEEE Computing Society, Washington

13. Cuervo E, Balasubramanian A, Cho KD, Wolman A et al (2010) MAUI: making smartphones lastlonger with code offload. In: MobiSys’10, San Francisco, California, USA, June 15–18, 2010, pp15–18

14. Amazon Elastic Compute Cloud (Amazon EC2) (2012) http://aws.amazon.com/ec2/15. Nurmi D, Wolski S, Grzegorczyk C (2009) The eucalyptus open-source cloud-computing system. In:

CCGRID’09, Washington, pp 124–13116. Nimbus Toolkit (2012) http://www.nimbusproject.org/17. Oracle VM Templates (2011) http://www.oraclecom/technology/products/vm/templates/indexhtml.

Accessed on 30th July 201118. VMware (2011) http://www.vmware.com/pdf/vc 2 templates usage best practiceswp.pdf. Accessed

on 25 July 201119. Wang K, Rao J, Xu CZ (2011) Rethink the virtual machine template. In: VEE’11, Newport Beach,

California, USA, March 9–11, 2011, ACM Press, New York, pp 9–1120. Calheiros NR, Ranjan R, Beloglazov et al (2011) CloudSim: a toolkit for modeling and simulation of

cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp41(1):23–50

21. Shiraz M, Gani A (2012) Mobile cloud computing: critical analysis of application deployment invirtual machines. In: ICICN 2012 IPCSIT, 25–28 February, 2012. IACSIT Press, Singapore

22. Sud S, Want R, Pering T et al (2011) Dynamic migration of computation through virtualization of themobile platform. Mob Netw Appl 17(2):206–215

23. Shih HH, Chi SS, Shieh PJ et al (2011) An online migration environment for executing mobile ap-plications on the cloud. In: 5th international conference on innovative mobile and Internet services inubiquitous computing, Seoul, Korea, 30th June–2nd July 2011