Вы находитесь на странице: 1из 4

Poster Paper Proc. of Int. Conf.

on Advances in Information Technology and Mobile Communication 2013

Virtual Machine Incorporated Sharing Model for Resource Utilization

R Suchithra, Dr.N.Rajkumar
Faculty of Computer Application, Jain University, Bangalore, India suchithra.suriya@gmail.com Prof. of Department of Software Engineering nrk29@rediffmail.com
Abstract- Cooperation and autonomy of virtual machines are important features of virtualization where resources are shared among virtual machines in a resource constrained cloud environment. To facilitate resource sharing, this paper proposes a resource sharing facility, called the VM Incorporated RPC, that coordinates the remote procedure call (RPC) with virtual machine based memory management. In this paper, we present a process based resource sharing model in case of collocated virtual machines. Evaluation of our algorithm demonstrates that sharing of resources within collocated virtual machines often results in utilizing almost 90% of the resource potential when compared to inter machine sharing which contributes a lesser amount of resource utilization. Key Words-Virtualisation, RPC, Resource Sharing

I. INTRODUCTION Virtualization has gained popularity because of its ability to share hardware resources among virtual machines running in a physical host. In a virtualized environment, the virtual machines are placed in the same server though each virtual machine function independently. In such an environment, memory management is a challenging problem, as it is the constrained resource that decides the number of jobs that can be processed on physical servers. The resources are generally shared by the hypervisors by using a technique called content based page sharing [1]. However, limited work has been done to study the potential RPC for memory sharing. The remote procedure call (RPC), one of the well used technologies of distributed computing is used in our approach .This has become the main focus of our work. One of the important features of resource sharing is that the cooperative virtual machines that share resources are autonomous. Our proposed approach is an efficient resource sharing algorithm in case of collocated virtual machines that uses our memory sharing techniques to identify VMs with high resource sharing ability so that the resources can be efficiently utilized. We consider memory as the resource in our work. The current system workload is considered and the parameter setting for virtual machines like memory, time, size of the virtual machine etc are considered. II. RELATED WORK The concept of a shared virtual memory for loosely coupled multiprocessors was first proposed in [2]. Remote 103 2013 ACEEE DOI: 03.LSCS.2013.2.555

procedure call has been widely used in distributed computing since years and lot of research has been done on RPC [3] [4]. The Sun RPC (Remote Procedure Call) protocol was introduced in 1984 for providing support for the implementation of distributed services which has later become a de facto standard in designing distributed services and implementing them [6] [7].The VMRPC model proposed in [5] has designed a stack and heap sharing mechanism to prevent unnecessary data copying and Serialization. The memory sharing model in [8] has used a distributed hash table and has considered the difference between inter node and intra node sharing and has concluded that intra virtual machine sharing is more effective. We complement this approach by considering intra VM sharing for more efficient resource utilization. III. PROBLEM FORMULATION Our model of a resource sharing between collocated virtual machines is based on a set of processes that share a single virtual address space. These are light weight processes and they share the same address space. One of the key goals of our approach is that processes running in one virtual machine can execute on different virtual machine in the same server. The performance depends on number of processes running in each virtual machine and the resources consumed by each process and the resource requirement of the new job. The cost of process calling is less because we use RPC for process calling. The proposed approach uses the advantages of RPC for resource sharing among virtual machines. We start with a cloud environment consists of number of physical servers on which one or many virtual machines are hosted. To simplify our work, we have taken a single physical server.



represent the virtual machines

running on the physical server and , represent the processes running in respective virtual machines. Let represents the memory consumed by each process.

Poster Paper Proc. of Int. Conf. on Advances in Information Technology and Mobile Communication 2013 utilizes the resources available in a physical server to the fullest extend so that resource wastage can be minimized. Our idea is simpler terms can be demonstrated as Let x, y, z represent the memory consumed by each virtual machine running in a physical server and represents the new job request. Lets assume all virtual machines have been allocated the maximum memory availability that is the threshold value of 95%, then follows: Assume . be the set of physical servers where there are N numbers of virtual machines running on each server. Lets assume that . be the set virtual machines running on a single

physical server and lets say . be set of process running on it. Lets assume that the virtual machines running on a particular server have been allocated with most of the memory resource available in that server. Suppose if a new job arrives at server nd there is no enough space available for allocation, then the job has to wait for other jobs/processes running on the server to finish execution and later it is being allocated to any of the virtual machine based on certain criteria. Instead of making the job to wait, we will utilize the remaining memory available in each hosted virtual machine VM by managing the processes of all the virtual machines and switching between processes using RPC protocols where resource can be optimally utilized to the fullest extend and thereby balancing the load efficiently. The proposed approach uses a monitor tracking all the processes that are running in each virtual machine dynamically. The status of the each process is analyzed and used for selection criteria. Algorithm Let F -> Free memory Available Let F (Pm) ->Memory Required by New Job/process Let F (VmN) -> free memory available in nth Vm. Source = Max{F(Vm1),F(Vm2),F(Vm3).F(VmN)} (2) Let P(s) -> switching process/Selected process that is to be switched. Let Se ->Server Se = {Vm1, Vm2, Vm3Vm N} Where Vm -> Vm running on server Source (Vm) = {P1, P2, P3.Pn, P(s)} Where P -> process running on each Vm P(s) -> Destination (Vm) Suppose destination (Vm) = {P1Pn} Now destination (Vm) = {P1..Pn, P(s)} If F (Pm) <= Source, Then allocate Pm -> Source (Vm) where Source (Vm) = {P1.Pn, P(s), Pm} Else repeat (2) Source = Max {F (Vm1), F (Vm2).F (Vm N)} (2) Here F (Vm3) is eliminated since the condition failed. The proposed algorithm can be demonstrated like this: (1).The virtual machine that has more free memory is selected and considered as the source virtual machine. (2).Monitor analyses all the process running in the selected source virtual machine and identify the process that can be switched to the destination virtual machine. Assume that Vm3 is selected as the source virtual machine. The Monitor analyzes all the process running on 104

(1) (2) Here, represents the selected VM 1. The equation (1) is used to find the VM 1 and the equation (2) finds the VM 2. The below equation is used to select the process to be called remotely from source VM to target virtual machine using RPC. Here we have assumed V1 and V2 are optimum VMs to implement RPC for resource sharing.

Then Condition 1: The above formulation is used to find out the process to be called through RPC and the new job is allocated in the source VM. represents the remaining memory available in VM1 (3) If the equation (3) is true, new job is allocated in the source VM1 and the selected process is moved to the destination VM2. Condition 2:

Represents the remaining memory available in VM2 (4) If the above condition (4) is true, new job is allocated in the source VM2 and the selected process is moved to the destination VM1. IV. RPC INCORPORATED RESOURCE SHARING MODEL The algorithm we propose using Remote Procedure call 2013 ACEEE DOI: 03.LSCS.2013.2.555

Poster Paper Proc. of Int. Conf. on Advances in Information Technology and Mobile Communication 2013 it that is p4, p5, p6, p7. As the process p7 is in idle state, the Monitor decides to switch the process to the destination Virtual Machine. Once the process is selected to be switched, the virtual machine that can accommodate the memory requirement of the selected process in the source virtual machine is selected as the destination virtual machine and if the Process can successfully run on destination virtual machine then it is called with the help of RPC Protocol. Assume that p7 is the process that can be switched to other virtual machine say Vm2. If Vm2 has 4% available free memory where p7 requires only 3% of memory, then memory can be easily allocated .So the process p7 can be easily called remotely. (4).The monitor checks if there will be sufficient free memory available for the new job/process to get allocated if the selected process is switched over to the new location. If this condition fails then another process is selected to be switched and Step(2) is repeated .Assume that is the new process waiting for resource(memory) .If process p7 is switched on to the destination virtual machine, then the job is allocated to Vm3 and p7 is called remotely in Vm2 where Load balancing takes place (5).If the Condition 3 or 4 fails then the source virtual machine is selected based on next maximum available free memory in each virtual machine. V. EXPERIMENTS AND RESULTS In order to demonstrate the effectiveness of the proposed algorithm for resource sharing, we have implemented the prototype purely in C. Here we present the preliminary results of our RPC based resource sharing among virtual machines obtained through simulation. In the Figures 1,2 we demonstrate the impact of RPC protocol for resource utilization. The experimental results prove that the algorithm results in maximum resource utilization of servers. We can see that the introduction of virtual machine incorporated RPC results in an increase on resource utilization when compared to the inter machine sharing of resources.

Figure 2.RPC Based Resource Utilization




In this paper, we have evaluated the benefit of using RPC protocol for improving the resource utilization of server in cloud data centers. The primary difference of our approach with the existing heuristics is that we have used the combined approach of resource sharing through RPC for efficient resource allocation. The experimental results show that the resource sharing algorithm outperforms the traditional process calling heuristics. Our research offers scope for future research in incorporating RPC for inters machine resource sharing. We did not consider deadline of each job, completion time of process and virtual machine and cost of process communication and many other cases that can be a topic of research. We can extend this work to resource sharing between multiple servers using RPC and multithreading .We plan to incorporate our model in a real cloud data center with slight modifications. REFERENCES
[1] C. Waldspurger. Memory Resource Management in VMware ESX Server. In Proceedings of the Fifth Symposium on Operating System Design and Implementation (OSDI02), December 2002. [2] LI, K., AND HUDAK, P. Memory coherence in shared virtual memory systems. In Proceedings of the 5th Annual ACM Symposium on Principles of Distributed Computing (Calgary, Alberta, Aug. ll-13, 1986). ACM, New York, 1986, pp. 229239. [3] M.D. Schroeder and M. Burrows. Performance of Firefly RPC. ACM Transactions on Computer Systems, 8(1):117, February 1990 [4] C.A. Thekkath and H.M. Levy. Low-latency communication on high-speed networks. ACM Transactions on Computer Systems, 11(2):179203, May 1993.

Figure 1 . RPC Based Resource Utilization

2013 ACEEE DOI: 03.LSCS.2013.2.555


Poster Paper Proc. of Int. Conf. on Advances in Information Technology and Mobile Communication 2013
[5] Hao Chen, Lin Shi, Jianhua Sun, Kenli Li, Ligang He, A Fast RPC System for Virtual Machines, IEEE Transactions on Parallel and Distributed Systems, 10 Aug. 2012. IEEE computer Society Digital Library. IEEE,Computer Society .http://doi.ieeecomputersociety.org/10.1109/TPDS.2012.199 [6] Sun Micro system. NFS: Network file system protocol specification. RFC 1094, Sun Micro system, March 1989. [7] R. Ramsey. All about administering NIS+. SunSoft, 1993. [8] XIA, L., AND DINDA, P. A case for tracking and exploiting inter-node and intra-node memory content sharing in virtualized large-scale parallel systems. In VTDC (June 2012).

2013 ACEEE DOI: 03.LSCS.2013.2.555