COMPARISON OF RESOURCE ALLOCATION TECHNIQUES IN CLOUD COMPUTING ENVIRONMENT Anil Singh1, Kamlesh Dutta2 National Institute of Technology, Hamirpur, (H.P.) 1
[email protected],
[email protected] ABSTRACT Cloud Computing has changed the strategy of the way of providing different services to business and government agent as well as to sole users. Cloud Computing provides scalable and on demand services to users irrespective of their physical area. But this computing technology has many challenges. One of them is on demand resource allocation. We will discuss and compare here various techniques for Resource allocation.
In this paper we compare different Resource allocation techniques used in Cloud Computing. And discuss their contribution in Resource allocation. The remaining section of this paper is organized as follows. In section 2, resource allocation and problems regarding to Resource allocation are explained. In section 3 different Resource allocation techniques are reviewed. Section 4 compares various Resource allocation techniques of Cloud Computing. In section 5 paper is concluded.
2. RESOURCE ALLOCATION AND PROBLEMS REGARDING TO RESOURCE ALLOCATION
Keywords-Resource allocation and management, Cloud Computing. 1.
INTRODUCTION
Cloud Computing is becoming an increasingly popular computing model in which computing resources are made available on-demand to the user as needed [1]. Work on Cloud Computing was started late 2007, when Grid Computing[2] was used. Growth of Cloud Computing is increasing exponentially [3]. The benefits of cloud computing include services on low costs and capital expenditures, increased operational efficiencies, scalability, flexibility and so on[1]. Cloud Computing provides different types of services, which falls mainly in three categories. I) SaaS (Software as a Service) II) PaaS (Platform as a Service) III) IaaS (Infrastructure as a Service) [1].Cloud Computing provides many opportunities for enterprises by offering a range of computing services. These opportunities, however, don’t come without challenges. Dynamic resource allocation is also a challenge in Cloud Computing. When many users make request for cloud resources concurrently then how these requested resources will be allocated to user and in which order users will get resources. This is a challenging task in Cloud Computing. There has been lot of research work on internet traffic handling, data security and many algorithms are proposed regarding to resource allocation. As resources are limited on the internet, hence resource allocation should be efficient and dynamic, so that better resource utilization can be achieved. Dynamic resource allocation is necessary because network bandwidth is also limited and traffic should be handled carefully.So that the congestion can be minimized.It will also increase quality of service.
Cloud Computing provides on demand resources to Clients, various Projects and businesses. The computing resources may be either hardware or software. Traditional system centric Resource management techniques cannot provide dynamic resource allocation. The Cloud Computing uses the concept of Virtualization to provide its services to the users. The resources are virtualized and then allocated to users, on their requirements, as a service [1]. Since the users can access the Cloud Services from anywhere and anytime its difficult for Cloud provider to allocate resources dynamically [4]. Cloud Computing provides users large range of different applications, hence the underlying architecture of Cloud is heterogeneous. Because different application may need different hardware. For example scientific application always requires specific hardware like GPU. While some application needs simple and cheep hardware [1]. Resource allocation also affected by network bandwidth and CPU load. Hence these issues also needs to be managed to provide better services. Load balancing mechanism and high availability mechanism are used to provisioned the resources to the users, to provide better quality of services[5]. 3.
RESOURCE ALLOCATION IN CLOUD COMPUTING ENVIRONMENT: A LITERATURE STUDY
3.1- Analytical Hierarchy Process A resource allocation technique is proposed by Daji Ergu et al.on Analytic hierarchy process [4]. It’s a
method for task-oriented resource allocation in a cloud computing environment. In this model task is ranked by pairwise comparison matrix technique and resources are allocated according to the rank of particular tasks. Analytic Hierarchy Process gives the available resources and user preferences. In Cloud Computing many users may request for resources at the same time, hence there may be conflicting preferences, and conflicting preferences will result in inconsistent elements in the reciprocal pairwise comparison matrix. These inconsistent element gives unreliable results. Hence priority to the task cannot assign accurately. To find inconsistent elements and improve consistency ratio an induced bias matrix is used.
Step 3:In third step the status information are passed on to this destination node. After execution of task in one node, the local voltage adjuster relies on the local voltage adjusting algorithm to dynamically reduce the node voltage. This dynamic voltage scaling approach achieve high energy efficiency of the heterogeneous clusters.
Use r1
Real – Time Controller
3.3-Adaptive energy-efficient scheduling This technique is a energy efficient scheduling [7] as shown in Figure 1. In this the real-time controller and adaptive voltage controller work together and determine that whether a new task can be admitted or not. When the task is admitted, scheduler assign a voltage level to it. A local queue is maintained by each node in the cluster, in which admitted tasks are queuing up for execution. The local voltage controller of each node minimize the voltage levels for admitted tasks to reduce energy consumption. When a new task arrives, the scheduler executes the three steps to allocate tasks. Step 1: In first step the scheduler checks voltage levels of each node, number of tasks waiting in the local queue, tasks running on the nodes, and execution times of completed tasks. Step 2:In second step the scheduler decides whether a new task can be allocated to a node or not and completed within its deadline by the energy-efficient global scheduling algorithm.
Local Queue
Use r1 Global Queue
3.2-Resource Allocation strategy based on Market A resource allocation technique based on market (RAS-M) was proposed [6].This strategy implemented in three steps. In first step, the architecture and market model of RAS-M are constructed. According to different resource requirements the QoS-refection utility function is designed. In second step, an algorithm is introduced, called GA based price adjusted algorithm. It deal with the problem of achieving the equilibrium state of RAS-M. In third and final step of this strategy RAS-M is implemented upon Xen to reallocate the VM’s weight. This strategy describes animatedly supplies resource portions according to different resource necessities. It does resource consumption is advanced and improves profits of both resource clients and service suppliers at the same time.In this technique Equilibrium Theory is introduced.
Local Voltage Controller
Scheduler
Processor Node 1
Adaptive Voltage Controller
Use r1
Node m Status Information Execution Operation
Rejected Queue
Figure 1. Adaptive energy efficient model [7] 3.4- Community-aware scheduling algorithm This algorithm propose a decentralized dynamic scheduling approach called community-aware scheduling algorithm [9]. In this strategy, a set of heuristic algorithms are designed, which efficiently distribute jobs among participating nodes and it does not ask for detailed node real-time processing information and control authorities of remote nodes. The Community aware Scheduling algorithm indicates a collection of implemented interfaces and heuristics, that are used to perform job scheduling among decentralized distributed nodes. This strategy uses a variety of variables, such as resource heterogeneity and unpredictable job characteristics. This strategy uses dynamic adaptive scheduling algorithm to promote job sharing and execution efficiency. 3.5- Resource allocation using scalable computing This strategy propose a method for resource allocation for real time tasks [10]. A real time task should complete its execution before deadline. Cloud computing provides the user IaaS service. Based on requirement and preferences a user can chose different types of computing resources. This strategy uses IAAS model to allocate resources for real time tasks. Based on the necessity the resources can be scaled up, this is called Scalable or Elasticity Computing. These scalable resources can be used by the clients in large number. The user can select any number of VMs based on rapidity and rate to complete the real time tasks before deadlines. The available VMs are leased by the user for the limited time and user pay fixed charges for this.
3.6- Dynamic Computing
trusted
scheduling
for
Cloud
Dynamic trusted scheduling [11] model has four tiers in its framework shown in Figure 2: 1. The first one is the resource and infrastructure tier, which contains network, cluster infrastructure or Cloud computing infrastructure. 2. This is the basic middleware for Cloud computing. 3. The third one is the trustworthy scheduler. 4. The last one is the client.
Data Grid Applications
Task Queue
Direct Trust Schedule Advisor text (Cloud-DLS)
Combined Trust Recd Trust
Task Scheduler
Byesian Trust Model
Hadhoop
Networks
MeDICi
Clusters
Dynamo text
PCs and text Workstations
Dryad
SLA based resource allocation strategy[12] presents a novel scheduling heuristic which consider multiple SLA parameter objectives (for example- amount of required CPU, network bandwidth, and storage). For efficient distribution of applications’ execution a load balancing mechanism is included in heuristic. This strategy also presented a flexible on-demand resource allocation strategy. 4.COMPARISON BETWEEN VARIOUS RESOURCE ALLOCATION TECHNIQUES IN CLOUD COMPUTING
Data Intensive Applications
Cloud Applications text
contract between user and service provider states the agreement rules for functional and non-functional requirement of service specified as QoS (quality of service), and penalty will be there,if these agreement are broken.
Sinfonia
Cloud Computing Infrastructures
figure 2. Model for dynamic trusted scheduling[11] The trustworthy Schedule Advisor is developed based on Cloud-DLS, and the Trust Model is developed based on the Bayesian trust evaluation model. The resource allocation process is executed as follows. 1. Initially all tasks are submitted to the task queue. 2. The task scheduler fetches tasks from the queue and communicates with the schedule advisor. 3. The schedule advisor communicates to trust model. 4.The trust model analyzes the local transactions, communicates with the trust middleware, obtains the detail trust resource information of task, and transfers t hem to task scheduler. 5. The task scheduler executes the task on the most trustworthy resource node in the Cloud. 3.7- Scheduling on multiple SLA parameters Service provisioning in Cloud Computing is done using SLA (service level agreements). SLA is the
There are various techniques for resource allocation in Cloud Computing. Each has some advantages and disadvantages as shown in Table 1. AHP technique accurately derive the weights of all tasks but allocating resources to these tasks dynamically is still a challenge [4]. Resource allocation technique based on market has a advantage that it eliminate the problem of load balancing and demand and supply but it is only implemented at lowest level of Cloud Computing [6]. Adaptive energy efficient scheduling method reduce electricity cost and improve system reliability but it only deals with few computing resources like CPU[7]. Community aware scheduling algorithm has advantages that it improves the job slow down, waiting time and overhead but metascheduling performance needs to be improved [9]. Resource allocation based on scalable computing has an advantage that it is best for real time applications but soft time task are less considered in this method [10]. Dynamic trusted scheduling decrease the probability of failure of tasks assignment but security is a challenge in this technique [11]. Scheduling on multiple SLA parameter method reduces the agreement violation but it is not energy efficient technique [12]. Table 1: comparison between various resource allocation techniques used in cloud computing Techniques AHP technique
Resource Allocation technique based on Market
Advantages Weight of tasks are derived accurately Eliminate the problem of load balancing and demand and supply
Disadvantages Dynamic allocation of resources remains a problem Only implemented at lowest level of Cloud Computing
Adaptive energy efficient scheduling
Reduce power electricity cost, improve system reliability
Only deals with few computing resource. E.g. CPU. Doesn’t deals with network, data bandwidth and storage.
Community aware scheduling algorithm
Job slowdown, waiting time and overhead is improved Best suited for real time applications
Doesn’t provide improved metascheduling performance
It decrease the probability of failure of task assignment Agreement violation is minimized
Security is a concern in this technique
Resource allocation based on Scalable computing Dynamic trusted Scheduling
Scheduling on multiple SLA parameter
Soft real time tasks are not much considered
This technique is not energy efficient
5. CONCLUSION Cloud computing has gained much trust due to its monetary advantages. To maintain this trust all issues should be resolved, and one of the issue is resource allocation. Different techniques have been proposed for resource allocation in cloud computing. Many of them show good results in dynamic resource allocation, but still there is lot of scope and work for further enhancement in this area. Many issue are still unsolved and needs better research on it. The issues like energy consumption, load balancing, agreement violation, task failure etc. has been solved. But dynamic resource allocation still needs some research on it. For better virtual resource utilization the resource allocation technique should be application specific.
REFERENCES [1] Hayes B. Cloud computing. Commun ACM volume – 51, issue 7, pages :9–11, 2008. [2] Ismail L, Mills B, Hennebelle A. A formal model of dynamic resource allocation in grid computing environment. http://www.irml.uaeu.ac.ae/hp gcl/images/Publications/snpd2008.pdf, 2008. [3] Buyya R, Chee SY, Venugopal S, Roberg J, Brandic I. Cloud computing and emerging IT
platforms: vision, hype, and reality for delivering computing as the 5th utility. Future GenerComputSyst 25(6):599–616, 2009. [4] DajiErgu, Gang Kou, Yi Peng, Yong Shi, Yu Shi.The analytic hierarchy process: task scheduling and resource allocation in cloud computing environment, 2001. [5] A.Khiyaita, M.Zbakh, H. EL Bakkali, Dafir EL Kettani. Load balancing cloud computing : state of art, IEEE conference publication on network security and systems, 2012. [6] XindongYOU, Xianghua XU, Jian Wan, Dongjin YU. RASM: Resource allocation strategy based on market mechanism in cloud computing”, Fourth China Grid Annual Conference,2009. [7] XiaominZhua, ChuanHea, Kenli Li, Xiao Qin,Adaptive energy-efficient scheduling for realtimetasks on DVS- enabled heterogeneousclusters, J. Parallel Distrib. Comput, SciVerseScienceDirect, 2012 Elsevier Inc. [8] Tino Schlegel, RyszardKowalczyk, QuocBaoVo.De centralized co-allocation of interrelated resources in dynamic environments, IEEE/WIC/ACM InternationalConference on Web Intelligence and Intelligent AgentTechnology, 2008. [9] Ye Huanga, NikBessis, Peter Norringto, PierreKuonend, Beat Hirsbrunner. Exploringdecentralized dynamic scheduling for grids andclouds using the community-aware schedulingalgorithm, Future generation Computer Systems, Elsevier B.V. All rightsreserved.doi:10.1016/j.future.2011.05.006, 2011. [10] Karthik Kumar, Jing Feng, YaminiNimmagadda, and Yung- Hsiang Lu. Resource allocation for real-time tasks using cloud computing”, IEEE 2011. [11] Wei Wang, GuosunZeng, Daizhong Tang, Jing Yao. “Cloud-DLS: dynamic trusted scheduling for cloud computing, SciVerseScienceDirect ,Expert Systems with Applications 2321–2329, 2012. [12] Vincent C. Emeakaroha, IvonaBrandic, Michael Maurer, Ivan Breskovic. SLA-aware application deployment and resource allocation in clouds, 35th IEEE Annual Computer Software and Applications Conference Workshops 2011.