ALLOCATION OF HETEROGENOUS CLOUDLETS ON PRIORITY BASIS IN CLOUD ENVIRONMENT

Load balancing is one of the main challenges in cloud computing which is required to distribute the dynamic workload across multiple nodes to ensure that no single node is overwhelmed. It helps in optimal utilization of resources and hence in enhancing the performance of the system. In the natural environment, the cloudlets will be processed in the FIFO (First in First Out approach). We propose an improved load balancing algorithm for job scheduling in the Grid environment. Hence, in this research work, various types of leases have been assigned to the cloudlets like cancellable, suspendable and non-preemtable. The leases have been assigned on the basis of cost assigned to them and the requirement specified by the user. The datacenter broker will receive the list of all the virtual machines and will categorize them into two classes i.e. Class A and Class B. Class A will have high end virtual machines and will process the non-preemptable cloudlets. Class B will contain the low end virtual machines and will process the suspendable and cancellable cloudlets. The machines in each class will be further sorted in descending order according to their MIPS. Multiple parameters have been evaluated like waiting time, turnaround time, execution time and processing cost. Further, this research also provides the anticipated results with the implementation of the proposed algorithm. In the cloud storage, load balancing is a key issue. It would consume a lot of cost to maintain load information, since the system is too huge to timely disperse load. The main contributions of the research work are to balance the entire system load while trying to minimize the make span of a given set of jobs. Compared with the other job scheduling algorithms, the improved load balancing algorithm can outperform them according to the experimental results.


INTRODUCTION
Cloud Computing is the model for convenient on-demand network access, with minimum management efforts for easy and fast network access to resources that are ready to use. It is an upcoming paradigm that offers tremendous advantages in economic aspects, such as reduced time to market, flexible computing capabilities, and limitless computing power. Popularity of cloud computing is increasing day by day in distributed computing environment. There is a growing trend of using cloud environments for storage and data processing needs. To use the full potential of cloud computing, data is transferred, processed, retrieved and stored by external cloud providers. However, data owners are very skeptical to place their data outside their own control sphere. Their main concerns are the confidentiality, integrity, security and methods of mining the data from the cloud. The Greek myths tell of creatures plucked from the surface of the Earth and enshrined as constellations in the night sky. Something similar is happening today in the world of computing. Data and programs are being swept up from desktop PCs and corporate server rooms and installed in "the compute cloud". In general, there is a shift in the geography of computation. Cloud computing is here. With its new way to deliver services while reducing ownership, improving responsiveness and agility, and especially by allowing the decision makers to focus their attention on the business rather than their IT infrastructure, there is no organization that has not though about moving to the Cloud.
The move to the Cloud is a crucial step for any company, but has to be made with a lot of caution because it could turn against users. Organizations need to clearly understand the benefits and challenges, especially for the most critical applications. There are several concerns but, as shown in an IDC survey about the issues of the Cloud [GEN09], security is the main concern. The question is why security is such a complicated challenge in the decision of moving to the Cloud. The answer is easy: lack of control over their data. Computing can be described as any activity of using and/or developing computer hardware and software. It includes everything that sits in the bottom layer, i.e. everything from raw compute power to storage capabilities. Cloud computing [1] ties together all these entities and delivers them as a single integrated entity under its own sophisticated management.
Load balancing is the pre requirements for increasing the cloud performance and for completely utilizing the resources. Load balancing is centralized or decentralized. Load Balancing algorithms are used for implementing. Several load balancing algorithm are introduced like round robin algorithm a mining improvement in the performance. The only differences with this algorithm are in their complicity. The effect of the algorithm depends on the architectural designs of the clouds [4]. Today cloud computing is a set of several data centers which are sliced into virtual servers and located at different geographical location for providing services to clients. The objective of paper is to suggest load balancing for such virtual servers for higher performance rate.
In general, load balancing algorithms follow two major classifications:


Depending on how the charge is distributed and how processes are allocated to nodes (the system load);  Depending on the information status of the nodes (System Topology).

RELATED WORK
Surbhi Kapoor (2015) aims at achieving high user satisfaction by minimizing response time of the tasks and improving resource utilization through even and fair allocation of cloud resources. The issues have been addressed by proposing an algorithm Cluster based load balancing which works well in heterogeneous nodes environment, considers resource specific demands of the tasks and reduces scanning overhead by dividing the machines into clusters .
Shikha Garg (2015) aims to distribute workload among multiple cloud systems or nodes to get better resource utilization. It is the prominent means to achieve efficient resource sharing and utilization. Load balancing has become a challenge issue now in cloud computing systems. Hence, there is a need of load balancing on its different servers or virtual machines. They have proposed an algorithm that focuses on load balancing to reduce the situation of overload or under load on virtual machines that leads to improve the performance of cloud substantially.
Reena Panwar (2015) describes that the cloud computing has become essential buzzword in the Information Technology and is a next stage the evolution of Internet. Although various load balancing algorithms have been designed that are efficient in request allocation by the selection of correct virtual machines. A dynamic load management algorithm has been proposed for distribution of the entire incoming request among the virtual machines effectively.
Mohamed Belkhouraf (2015) aims to deliver different services for users, such as infrastructure, platform or software with a reasonable and more and more decreasing cost for the clients. The proposed approach mainly ensures a better overall performance with efficient load balancing, the continuous availability and a security aspect.
Lu Kang (2015) improves the weighted least connections scheduling algorithm, and designs the Adaptive Scheduling Algorithm Based on Minimum Traffic (ASAMT). ASAMT conducts the real-time minimum load scheduling to the node service requests and configures the available idle resources in advance to ensure the service QoS requirements. Being adopted for simulation of the traffic scheduling algorithm, OPNET is applied to the cloud computing architecture.
Hiren H. Bhatt (2015) presents a Flexible load sharing algorithm (FLS) which introduce the third function. The third function makes partition the system in to domain. This function is helpful for the selection of other nodes which are present in the same domain. By applying the flexible load sharing to the particular domains in to the distribute system, the performance can be improved when any node is in overloaded situation.
Shanti Swaroop Moharana (2015) specifies that the Cloud Computing is high utility software having the ability to change the IT software industry and making the software even more attractive. It has also changed the way IT companies used to buy and design hardware. The elasticity of resources without paying a premium for large scale is unprecedented in the history of IT industry. The increase in web traffic and different services are increasing day by day making load balancing a big research topic. Cloud computing is a new technology which uses virtual machine instead of physical machine to host, store and network the different components.
Nguyen Khac Chien (2016) has proposed a load balancing algorithm which is used to enhance the performance of the cloud environment based on the method of estimating the end of service time. They have succeeded in enhancing the service time and response time of the user.

RESEARCH GAP
Cloud computing thus involving distributed technologies to satisfy a variety of applications and user needs. Sharing resources, software, information via internet are the main functions of cloud computing with an objective to reduced capital and operational cost, better performance in terms of response time and data processing time, maintain the system stability and to accommodate future modification in the system .So there are various technical challenges that needs to be addressed like Virtual machine migration, server consolidation, fault tolerance, high availability and scalability but central issue is the load balancing , it is the mechanism of distributing the load among various nodes of a distributed system to improve both resource utilization and job response time while also avoiding a situation where some of the nodes are heavily loaded while other nodes are idle or doing very little work. It also ensures that all the processor in the system or every node in the network does approximately the equal amount of work at any instant of time. Load Balancing is done with the help of load balancers where each incoming request is redirected and is transparent to client who makes the request. Based on predetermined parameters, such as availability or current load, the load balancer uses various scheduling algorithm to determine which server should handle and forwards the request on to the selected server. To make the final determination, the load balancer retrieves information about the candidate server's health and current workload in order to verify its ability to respond to that request. Load balancing solutions can be divided into software-based load balancers and hardware-based load balancers. Hardware-based load balancers are specialized boxes that include Application Specific Integrated Circuits (ASICs) customized for a specific use. They have the ability to handle the high-speed network traffic whereas Software-based load balancers run on standard operating systems and standard hardware components. VM's are categorized only on a single parameter which is MIPS. Multiple parameters like RAM and Bandwidth should also be considered for allocation of cloudlets to VM

•
In the existing work, there has been no criteria explained for categorizing the jobs into 3 lease types.
• The existing work is applicable only in the homogeneous environment where all the Vm's are of same capacity.
• No cost has been computed for the jobs of different lease types. • To design the improved load balancing algorithm with heterogeneous Virtual Machines.

RESEARCH OBJECTIVES
• To categorize the cloudlets into different lease types by introducing various parameters like cost and priority.
• To increase the profits of cloud service provider.
• To develop the proposed algorithm and compare the performance of proposed algorithm with existing algorithm.

TYPES OF LEASES
There are 3 types of leases available for the cloudlets/jobs assigned by the user: • Cancellable •

Suspend able
•

Non-Preempt able
If the algorithm finds two or more low priority jobs the lease type of the job should be considered. If the lease type is Nonpreempt able, then the job is ignored for the candidate set. Priority is given to cancellable lease type than suspend able lease type as the jobs with such lease type can be killed. The job with suspend able lease type should be suspended and resumed. If there are two or more low priority jobs with suspend able lease type then the level of completion of job is considered. The job which has finished only a minimum portion of job is chosen for preemption.

RESEARCH METHODOLOGY
• Open the Cloud Sim Simulator in Netbeans IDE of Java and create the heterogeneous virtual machines of different MIPS.

•
The datacenter broker will receive the list of all the virtual machines and will categorize them into two classes: •

Class A -High end VMwill process the Non-Preemptable cloudlets
• Class B -Low end VM will process the suspendable and cancellable cloudlets.
• The machines in each class will be further sorted in descending order according to their MIPS.
• The DCB will group the Cloudlets according to their lease type and sort the non-preemtable cloudlets in ascending order of deadline.
• High priority cloudlets are assigned to machines belonging to class A whereas low priority (suspendable and cancellable) cloudlets are assigned to machines belonging to class B.
• If all the machines in the class A are occupied and any high priority cloudlet arrives, then it will executed by the VM of class B.
• When a high priority job arrives, availability of the VM is checked in class A. If the VM is available in class A, then job is allowed to run on the VM in class A. If the VM is not available, then algorithm finds a free VM in class B.
• Again, if the VM is not available in Class B, then the algorithm find a low priority job taking into account the job's lease type.
• Priority is given to cancellable lease type than suspendable lease type as the jobs with such lease type can be killed.
• If there are two or more low priority jobs with suspendable lease type then the level of completion of job is considered.
The job which has finished only a minimum portion of job is chosen for preemption. • Jobs with suspendable and cancellable lease type will never execute in Class A because there is no guarantee of deadline.
• Calculate the different parameters like waiting time, processing time and cost.
• Repeat the same procedure for all the remaining cloudlets.

CLOUD SIM
Cloud service providers charge users depending upon the space or service provided. In R&D, it is not always possible to have the actual cloud infrastructure for performing experiments. For any research scholar, academician or scientist, it is not feasible to hire cloud services every time and then execute their algorithms or implementations. For the purpose of research, development and testing, open source libraries are available, which give the feel of cloud services. Nowadays, in the research market, cloud simulators are widely used by research scholars and practitioners, without the need to pay any amount to a cloud service provider.

Programming language Java
Java version JDK 8.0

MIPS (Million Instructions per Second) 100
Bandwidth 300 MB/sec  In the table 2 and table 3, we have mentioned the results of the various experiments conducted on the existing and proposed algorithm by taking the same configuration of virtual machines and the same properties of the cloudlets.   Figure 2 illustrates cost for different types of cloudlets. The cost of the cancellable is lesser than the suspendable cloudlets and the cost of suspendable cloudlets is lesser than the non-preemtable cloudlets. The cost is associated with the type of the server that the client requested. Figure 3 shows the waiting time for the base work and proposed work. It is clear from the line chart, that the waiting times of the cloudlets have been reduced, thereby decreasing the cost and increasing the overall efficiency of the system.