Skip to content

In this project, we have implemented a cloud architecture which consists of Xen Cloud Platform enabled server

Notifications You must be signed in to change notification settings

nihalsoans91/Load-Balancing-in-Cloud-using-Live-Migration-of-Virtual-Machines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Load Balancing in Cloud using Live Migration of Virtual Machines

In this project, we have implemented a cloud architecture which consists of Xen Cloud Platform enabled servers with virtual machines installed on each server, a network file system and client machines which support remote connection. We conducted experiments by generating load using load generating tools such as stress, lookbusy and CPUbusy. Based on the experiments conducted, we have observed that the load balancing algorithm, by using the features of scaling and migration has considerably improved the performance of the virtual machine in terms of response time and in terms of usage of CPU resources. Certain problems that were encountered during the course of the project dealt with incongruity of processor architecture, the need of a network file system server for live migration, absence of Para-virtualization drivers on most of the Linux kernels, the need to switch from Citrix XenCenter to XCP because of certain restrictions placed by Citrix. Now that we have been successful in migrating a virtual machine from one XCP platform to another XCP platform, it seems feasible in implementing the migration of a virtual machine to a completely different platform such as KVM, VMware. We can also consider the possibility of migrating a virtual machine based on power consumption as well as based on past usage history in the future.

Problem Definition: Let P be a pool containing n number of servers namely S1, S2, S3… Sn. That is P= {S1, S2, S3…Sn}. Let S be one of the servers in pool P where S= {V1, V2, V3…Vm} where V1, V2…Vm are the individual virtual machines. Let sc and rm be the allocated CPU and RAM respectively for a virtual machine. Hence V1= {sc1, rm1}, V2= {sc2, rm2,}...Vm= {scm,rmm}. Let CPUcmax and RAMcmax be the changeable maximum CPU and RAM respectively that can be allocated. Let CPUmax and RAMmax be the maximum CPU and RAM respectively that can be allocated. Let R = {R1, R2, R3…Rm} be the response time. The problem is to allocate the right amount of sci and rmi with the help of scaling and migration to each virtual machine Vi to ensure that the response time Ri is within the acceptable range.

The objective of our research is to allocate resources efficiently based on the need of the user usage and on the basis of how the user uses the virtual machine. Resource allocation is the process of allocating the required amount computing resources such as CPU, memory and storage to the virtual machine automatically. If there is a scope of allocation of further resources to reduce the load intake of the virtual machines, scaling is performed. Scaling is also performed if the resources are being under-utilized. In case the required amount of resources can’t be allocated, we migrate the virtual machine to another server.

About

In this project, we have implemented a cloud architecture which consists of Xen Cloud Platform enabled server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages