Efficient Resource Allocation in Cloud Environment

DOI : 10.17577/IJERTCONV6IS04056

Download Full-Text PDF Cite this Publication

Text Only Version

Efficient Resource Allocation in Cloud Environment

1 2 3 4

Indhira. M , Divya. P , Ashfaq Haris. A , Dr. P. Keerthika

1,2,3-UG Students

4-Associate Professor/Senior Grade Department of Computer Science and Engineering, Kongu Engineering College,Perundurai-638060.

Abstract:- Cloud computing is a type of internet- based computing that provides shared computer processing resources and data to computers and other devices on demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources which can be rapidly provisioned and released with minimal management effort. There prevails a difficulty in allocation of cloud resources efficiently. Allocating resources efficiently is the important strategy in cloud environment. Here we are considering the resource requirements of the user and analysing the type of the application based on the resource requirements using K-Means algorithm. Likewise the type of virtual machines are also analysed and made into different groups based on the resources. In a particular group on both side, the virtual machines that satisfies the cloudlet is taken. Then the virtual machines are sorted based on the failure rate and allocating the virtual machine with minimum failure rate to that cloudlet.[1] Thus the resources are allocated efficiently.

Keywords: Cloudcomputing, Cloudlets, Virtual Machine,K-Means.

INTRODUCTION:

Cloud computing is a type of internet-based computing that provides shared computer processing resources and data to computers and other devices on demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources which can be rapidly provisioned and released with minimal management effort. Moreover, users can access the cloud services anytime and anywhere and need to pay according to their usage of the computing resources. [2]Cloud computing allows renting infrastructure, runtime environments, and services on a payper-use basis.[3] This principle finds several practical applications and then gives different images of cloud computing to different people. [3]Chief information and technology officers of large enterprises see opportunities for scaling their infrastructure on demand and sizing it according to their business needs. [3]End users leveraging cloud computing services can access their documents and data anytime, anywhere, and from any device connected to the Internet. Many other points of view exist. The difficulty in cloud computing is allocation of cloud resources. The resources need to be allocated efficiently. [4]In order to ensure users

experience of requesting resource, once a user submits a resource request, a resource allocation decision has to be made timely to place a VM to a server in response to this request. These characteristics require the system to conduct online VM placement, which can make VM placement decisions upon resource requests arrival without analysing the type of the application.

RELATED WORK:

Jun-jie Peng et al proposed an application type based resource allocation strategy in cloud environment that takes According to the strategy appropriate VM is allocated based on the type of the application. And the VM is placed on the server that the available resources is sucient enough to support the application. Meanwhile,the load balance of the server is also considered when the VM is placed. Simulations on Cloudsim platform show that the performance of load balance of the VM placement strategy proposed is much better than that of the traditional VM placement strategy. And extensive experiments on cloudstack show that the VM Placement strategy proposed is much more ecient than the traditional VM Placement strategy in execution.

Seokho Son et al proposed an SLA-based cloud computing framework to facilitate resource allocation that takes into account the workload and geographical location of distributed data centers.Their contribution is the cloud computing framework that includes an automated SLA negotiation mechanism and a workload- and location-aware resource allocation scheme (WLARA) . But they need to research and classify the negotiable cloud SLA issues to include in the framework.

Antony Thomas et al presented three cloud scheduling scenarios. First scenario is based on the length of tasks. The second scenario is based on task priority. The third and the proposed approach works on both cloudlet priority and cloudlet length. From the simulation results their algorithm works efficiently than the other two methods. Makespan of the task is lesser when compared with the other two algorithms. The makespan of task is decreasing after a certain value in the number of tasks. In future, the proposed scheme can be enhanced so as to consider other parameter like deadline. Task dead line has its own importance in scheduling certain tasks for the realtime systems.

Savani Nirav et al proposed a priority based resource allocation algorithm which can be used for proper allocation of resources and also the resources are allocated efficiently and effectively. As this algorithm is tested on the simulator, the future work of this algorithm is to be tested on a real cloud environment and needs to be check for the resource allocation to be done efficiently and effectively. Load Balancing on each and every datacenter for allocating of the resources need to be concerned.

Divya Kataria et al presented a scientific workflow algorithm on cloud resource named as Level Based Optimized Workflow Scheduling Algorithm(LBOWSA) based on HEFT algorithm.This LBOWSA algorithm is used to minimise cost and make span of execution of workflows on cloud environment based on users preference.The user is more interested to minimise cost and execution time.The results are combined against the HEFT algorithm. And the LBOWSA algorithm achieve improved results in context of make span and cost.

CLUSTERING ALGORITHM:

Clustering can be considered the most important unsupervised learning problem.

So, as every other problem of this kind, it deals with finding a structure in a collection of unlabeled data. A loose definition of clustering could be the process of organizing objects into groups whose members are similar in some way.A cluster is therefore a collection of objects which are similar between them

and are dissimilar to the objects belonging to other clusters. K-means (MacQueen, 1967) is one of the simplest unsupervised learning algorithms that solve the well known clustering problem. The procedure follows a simple and easy way to classify a given data set through a certain number of clusters (assume k clusters) fixed a priori. The main idea is to define k centroids, one for each cluster. These centroids shoud be placed in a cunning way because of different location causes different result. So, the better choice is to place them as much as possible far away from each other. The next step is to take each point belonging to a given data set and associate it to the nearest centroid. When no point is pending, the first step is completed and an early groupage is done. At this point we need to recalculate k new centroids as barycenters of the clusters resulting from the previous step. After we have these k new centroids, a new binding has to be done between the same data set points and the nearest new centroid. A loop has been generated. As a result of this loop we may notice that the k centroids change their location step by step until no more changes are done.

PROPOSED STRATEGY:

We are considering the resource requirements of the user and analysing the type of he application based on the resource requirements using our algorithm. Likewise the type of virtual machines are also analysed and made into different groups based on the resources. In a particular group on both side, the virtual machines that satisfies the cloudlet is taken. Then the virtual machines are sorted based on the failure rate and allocating the virtual machine with minimum failure rate to that cloudlet.

CLUSTERING OF CLOUDLETS:

First we need to get the requirements of the user for different resources such as cpu requirements, memory requirements and bandwidth requirements. Then we need to cluster the cloudlets based on the requirements of the resources. This is achieved by applying K-means clustering algorithm. Thus the cloudlets of similar category will be in a cluster. Based on our approach, we are going to cluster the cloudlets into three clusters based on the cpu, memory and bandwidth requirements.

This is done inorder to analyse the type of the application that the user request in the cloud environment.

CLUSTERING OF VIRTUAL MACHINES:

Similarly, we need to get the virtual machine parameters such as cpu, bandwidth and memory of different resources in different hosts. Then we need to cluster the vms based on the requirements of the resources. This is achieved by applying K-means clustering algorithm. Thus the virtual machines of similar category will be in a cluster. Based on our approach, we are going to cluster the vms into three clusters based on the cpu, memory and bandwidth. This is done inorder to analyse the type of the application that the vms support effectively in the cloud environment.

VM ALLOCATION AND PLACEMENT STRATEGY:

As mentioned above, the cloudlets of similar category will be in three different clusters based on the user requests. The virtual machines of similar category will be in three different clusters based on the resources. In the VM clusters, we need to check for the VMs that matches the cloudlets in similar type cluster. Then we need to fetch the failure rate of each vms that matches the cloudlets. Then we need to arrange those vms in the ascending order of the failure rate. That is, we need to start with the VM having minimum failure rate.

START

INITIALIZE CLOUDSIM

INITIALIZE CLOUDLETS AND VMs with DIFFERENT

CONFIGURATIONS.

SUBMITTTING ALL VMs AND CLOUDLETS TO RESOURCE ALLOCATION SCHEDULER.

BROKER,CLUSTER THECLOUDLETS INTO THREE CLUSTERS USING K-MEANS CLUSTERING ALGORITHM.

BROKER, CLUSTER THE VMS INTO THREE CLUSTERS USING K-MEANS CLUSTERING ALGORITHM

CHECK THE VMs IN A CLUSTER THAT MATCHES THE CLOUDLETS IN THE SIMILAR CLUSTER CATEGORY

FETCH THE MATCHED VMs FAILURE RATE.

ARRANGE THOSE VMs IN ASCENDING ORDER BASED ON

THE FAILURE RATE.

ALLOCATE THE VM WITH MINIMUM FAILURE RATE TO THE CLOUDLETS.

Figure 1 Flowchart for Efficient resource allocation

Likewise, for each individual cloudlets, a VM need to allocated such that VM with minimum failure rate can be allocated to the cloudlets.

In case of any reason, if a failure occurs in VM allocation then that particular VM need to updated with the failure rate. By doing this so, failure in VM allocation may be reduced. The resource wastage will be reduced and the allocation of resources will also be efficient.

}

end for

else

{

Add Vj into minimum clustered distance

Then again compute the centroids.

}

ALGORITHM:

Input: Unallocated cloudlets/tasks/virtual machines. Output: Assign cloudlets to virtual machines.

  1. Provide the cloudlets to the cloudsim.

  2. for each cloudlet in cloudlet list

    {

    Get the resource requirements such as cpu, memory, bandwidth

    }

    end

  3. Start the clustering of cloudlets using k-means algorithm

  4. Initialise the centroids as A,B,C

  5. for each cloudlet i in cloudlet list

{

Calculate Euclidean distance of i with

A,B,C

If previous distance =new distance

{

Stop iterations

}

else

{

11. Iterate through cloudlet clusters for each cloudlet k in that cluster

{

Select that particular VM cluster for each vm v in the VM cluster

{

If VM configurations>=cloudlet configurations and VM status=not allocated

{

Put the matched VMs in a separate matched list

}

}

End for

Fetch the failure rate of the matched VMs. Sort the VMs according to the failure rate Allocate the VM with minimum failure rate to

that cloudlet

}

End for 7.Stop

CONCLUSION AND FUTURE WORK

end for

Add Ci into minimum clustered distance

Then again compute the centroids.

}

}

This method analysed the application type of the cloudlets and cluster the virtual machines by applying K-means algorithm. It also allocate the virtual machines based on the failure rate of the virtual machines. In future, in addition we can also allocate the virtual machines by considering cost,

  1. Similarly, create Virtual machines (VMs) with different configurations in the CloudSim.

  2. for each VM v in VM list

    {

    priority, etc.

    REFERENCES:

    find the cpu, memory and bandwidth of

    each v.

    }

    end

  3. Start the clustering of virtual machines using k- means algorithm

  4. Initialise the centroids as X,Y,Z.

  5. for each vms j in VM list

{

Calculate Euclidean distance of j with

[1] https://doi.org/10.1007/s40592-014-0004-9

  1. https://www.slideshare.net/rahulhada/introductio n-of-cloud- computing

  2. http://www.vssut.ac.in/lecture_notes/lecture142 8643084.pdf

  3. http://ro.uow.edu.au/cgi/viewcontent.cgi?article=1138&context

    =eispapers1

  4. https://towardsdatascience.com/unsupervised- learning-and-data- clustering-eeecb78b422a

  5. Jun-jie Peng, Xiao-fei Zhi, Xiao lan Xie(2016), Application type based resource allocation strategy in cloud environment.

    X,Y,Z

    If previous distance =new distance

    {

    Stop iterations

    }

  6. SeokhoSon ,Gihun Jung , Sung Chan Jun (2013), An SLA- based cloud computing that facilitates resource allocation in the distributed data centers of a cloud provider.

  7. Antony Thomas , Krishnalal G, Jagathy Raj V P (2014), Credit Based Scheduling Algorithm in Cloud Computing Environment, International Conference on Information and Communication Technologies (ICICT 2014).

  8. SavaniNirav, Prof. Amar Buchade (2014), Priority Based Resource Allocation in Cloud Computing, International Journal of Engineering

    Research & Technology (IJERT),Vol. 3 Issue 5, May 2014.

  9. Divya Kataria,Dr.Sudesh Kumar (2015), Level Based Optimized Workflow Scheduling in Cloud Environment, International Journal for Research in Applied Science and Engineering Technology (IJRASET),Vol. 3 Issue VIII, August

    2014.

  10. Sheenam Kamboj and Mr. Navtej Singh Ghumman, A Novel Approach Of Optimizing Performance Using K-Means Clustering In Cloud Computing, International Journal Of Computers and Technology

Leave a Reply