Strategies for Resource Allocation in Cloud Computing

0 downloads 0 Views 960KB Size Report
[1] Rajkumar Buyya et.al.,2009, “Cloud Computing and Emerging. IT Platforms Vision, Hype, and Reality for Delivering IT. Services as the 5th Utility”, Future ...
International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

Strategies for Resource Allocation in Cloud Computing: A Review 1

2

M. Kandan

Dr. R. Manimegalai

Professor, Department of Computer Science and Engineering Park College of Engineering and Technology Kaniyur, Coimbatore - 641 659 Tamil Nadu, India +91 9600135462, [email protected]

Research Scholar, Department of Information and Communication Engineering Anna University Guindy, Chennai-600 025 Tamil Nadu, India +91 9944575329, [email protected]

Abstract— Cloud computing is a promising computing model that has great impact on IT industries and the way in which software applications are developed and deployed. The workload in cloud computing changes dynamically and thereby introduces many challenges in on-demand resource provisioning and allocation. In cloud computing, resource allocation allocates and schedules the resources efficiently with high resource utilization and low cost. Resource management becomes a major problem due to the following factors: Big modern data centers, heterogeneity of resource types, variability and unpredictability of the load. This work presents a comprehensive survey of resource allocation strategies and discusses various optimal allocations schemes for mapping physical resources to the corresponding virtual resources. Finally, this review discusses the resource allocation strategy used in commercial clouds and challenges involved. It also gives direction for the future resource allocation strategies in the cloud. Keywords- Resource allocation; Cloud computing; Real-time clouds; Physical resource allocation; Virtual resource allocation

I.

demand for resources, resource allocation becomes a tedious process in the cloud environment.

INTRODUCTION

Cloud computing is the approach of delivering IT services via the Internet, and it is emerging as a promising technology to offer services on a pay-asyou-go basis [1]. The elastic property of cloud enables a customer to scale up or down the resources based upon the requirements and reduces up-front IT investment significantly. Cloud computing supports three service models such as Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) [2]. In a cloud computing environment, the clients wish to minimize the cost and maximize the performance. On the other hand, service providers try to maximize the revenue by multiplexing available resources among the users and achieve high resource utilization. In order to utilize the infrastructure effectively, the start-of-the-art cloud resource allocation should be designed to fulfill Service Level Agreement (SLA) for maximizing customer satisfaction and minimizing SLA violations. Several cloud resource management strategies in a heterogeneous cloud environment has been discussed in [3]. The resource allocation system aims to fulfill the application’s requirements and improve the resource utilization. There are several works for resource allocation management in the literature [4] [5] [6]. The cloud users anticipate the on-time completion of tasks with negligible cost. Due to partial resources, resource heterogeneity, environmental necessities, locality restrictions, the dynamic nature of resource demand and unpredictable

II.

CHALLENGES IN RESOURCE ALLOCATION

The survey work [7] discusses the resource allocation challenges in cloud computing. Resource provisioning services with high Quality of Service (QoS) maintenance is a major challenge in cloud computing. The QoS constraints are deadline, throughput, cost, energy consumption, execution time, and response time. Resource availability is an important factor that has a great impact on resource allocation. The cloud environment lacks reliability and availability of resources if a partitioning method among servers is used. Workload sharing and load balancing of resources among physical servers is a challenging task due to dynamic nature of the cloud. The latency is high, if multiple users send similar requests to the cloud server at the same time affecting the user satisfaction level. Compute-intensive and resource-intensive requests require high power for allocating the resources. SLA violations affect the resource utilization level of the customer. Virtualization requires more hardware resources for processing, and it is not applicable to all practical applications of cloud computing. In cloud server, live Virtual Memory (VM) migration creates considerable delay while allocating the resources to customer. It stops the current execution of the migrating VM. Migration delay is the time taken between migrating VM from one host to another host.

1

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

III.

Places the selected VMs on the hosts using the Modified Best Fit Decreasing (MBFD) algorithm in the second step. The threshold-based dynamic resource allocation [9] dynamically allocates the virtual resources in the cloud environment and also optimizes the resource reallocation decision.

GENERAL RESOURCE ALLOCATION STRATEGIES

A. Physical Resource Allocation The physical resource allocation is based on CPU and memory resources. The disk resource allocation is performed based on the user’s requirements. In servers and clusters, allocates the remaining resources using the Generalized Processor Sharing (GPS). Resource allocation mainly depends on hardwareresource dependency and jobs such as CPU bound, and memory bound. The provider uses the physical memory instead of Virtual Memory (VM) to reduce the cost. The service provider allocates the Physical Machine (PM) on receiving requests from clients. All PMs in a specific data-center and provider is aware of the utilization range of PM.

C. Static and Dynamic Resource Allocation The static resource allocation strategies allocate the resources when the tasks are in off-line stage. Once the resource allocated to the user it is stable throughout the application. It acquires a fixed set of applications, machines, and machine attributes as inputs. The static resource allocation uses two algorithms such as Adaptive List Scheduling (ALS) and Adaptive Min-Min Scheduling (AMMS) algorithms. Two greedy algorithms [10] such as cloud list scheduling and cloud min-min scheduling adopts the static resource allocation. The online adaptive system re-estimates the outstanding static resource allocation frequently. Table 1 summarizes the existing dynamic resource allocation techniques in a cloud computing environment. Dynamic resource allocation performs a live application in data-center and implements the tasks in on-line mode. The dynamic resource allocation uses Nephele’s structure for proficient parallel data processing [11]. The resource provider considers revenue, the cost and energy of the resources. If the customer’s requirement is higher than the data-center's allocation of resources,

B. Virtual Resource Allocation Virtual resource allocation depends on the load, speed, and cost. The virtualization technology is used with the concept of skewness based on application demands [8]. VM allocation is secure, especially for multi-users using the same infrastructure. There are two strategies, namely VM placement and VM selection in the virtual resource allocation. The VM placement, arranges the available VMs in descending order based on its utilization of current CPU, and allocates each VM to a host that ensures power consumption in the least increasing order. There are two steps in the VM selection in which it chooses the VMs needed to migrate in the first step.

Table 1 Dynamic Resource Allocation Techniques Techniques

Dynamic Resource Allocation Advantages Disadvantages

Metrics Improved

a Threshold-based dynamic resource allocation scheme [9]

Continuous monitoring and prediction of resource requirements, Reduced usage cost, Increased resource utilization, less resource wastage

The system has longer run time, if VM exceed to threshold value, lags in performance and load balancing

Resource utilization and overhead

Nephele’s structure [11]

Provides efficient parallel processing

It requires user annotations

Average instance utilization

Distributed Multiple Criteria Decision Analysis (MCDA) with PROMETHEE method [12]

Achieves scalability and feasibility

Occurrence of migration overhead

CPU utilization, number of migration

Sandpiper architecture of black-box and gray-box approach [13]

Eliminates hotspots and improves responsiveness

VM swap incurs more overhead

CPU utilization, completion time and migration

MeasureForecast-Remap (MFR) algorithm [14]

Reduces SLA violations and resourced consumption

High computational cost

Evaluation of a dynamic resource allocation method [15]

Users dynamically add or delete their resources according to requirements

Unexpected demand introduces allocation failure

CPU utilization, relative frequency and number of used PMs Response time and average load

2

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

response time. It reveals the significance of the response time in computing the trade-offs between QoS and resource utilization in IaaS clouds. The profit model evaluates the sub-optimal performance of two resource allocation algorithms such as conservative and liberal. An iterative algorithm can maximize the profit of conservative and liberal algorithms. A Market mechanism based Automatic Resource Allocation Strategy (ARAS-M) improves resource usage of large data centers and guarantees high QoS to consumers [20]. An automatic price adjusting algorithm using Genetic Algorithm (GA) attempts to attain an equilibrium state in ARASM. According to the GA, the price of the resource is high while the demand of the resource is more than the supply of the resource. GA assures consumer agents to get the maximal benefits. Table 2 discusses the QoS based resource allocation techniques in cloud computing. In the hybrid cloud, Aneka’s deadline driven provisioning approach supports QoS-aware implementation of scientific applications [21]. Aneka allocates the resource efficiently from various sources to reduce the execution time of application. Several works discuss SLA violations, but few models experience SLA penalties. Customer driven SLAbased resource provisioning algorithm [22] minimizes the total cost (infrastructure and penalty cost) and improves Customer Satisfaction Level (CSL) in a cloud computing environment. Two optimization algorithms such as BFResvResource and BFReschedReq minimize the SLA violations.

the provider charges as per usage of the resource.The dynamic resource allocation strategies use distributed multiple-criteria decision analysis [12]. In a virtualized location of dynamic resource allocation, VM live migration method is commonly used [13] [14]. A dynamic resource allocation in [15] depends on VMs load in which the users add or delete some resources according to the requirements. IV.

RESOURCE ALLOCATION STRATEGIES

A. QoS based Resource Allocation QoS based resource allocation focuses on customer satisfaction, cost-efficient and effective utilization of the resource. Resource allocation in cloud computing varies from the traditional distributed computing environment due to the presence of various QoS metrics such as CPU memory, speed, and stability. Resource allocation technique mainly considers the QoS parameters on resource providers, including price and load [16]. The resource allocation strategy focuses SLA driven consumer based QoS metrics to improve the profit of SaaS providers [17]. The approach in [18] manages trade-off between the aim of service providers and consumer’s expected QoS requirements. The profit model decreases the revenues for high query response time [19]. The profit model evaluates the performance of web-facing application and considers the consequences of queries returned in a short-response time as well as queries returned in long

Techniques Profit based scheduling and admission control algorithm [16] ProfminVmMaxAvaiSpace, ProfminVmMinAvaiSpace [17]

Table 2 Qos based Resource Allocation Techniques QoS Based Resource Allocation Advantages Disadvantages Higher profit-rate variance Does not focus on the focuses on resource user side provider’s side Maximizes SaaS provider’s Residual information profit, and minimizes SLA of VM creates security violations issues

Metrics Improved Profit rate, profit variance and average job size Arrival rate, SLA violations, penalty cost and total cost

Openstack version of generic SLA manager [18]

Achieves QoS during migration

Introduces less penalty

SLA violations and availability

Adaptive, iterative, soft resource allocation algorithm [19]

Maximizes utilization and throughput while guaranteeing QoS

Does not discuss optimal allocation

Profit, Good put and throughput

Genetic Algorithm (GA)based automatic price adjusting algorithm [20]

Improves resource utilization, and achieves equilibrium state of demand Minimizes application execution time

Resource wastage due to uncertainty demand

Price, demand and benefit

Does not applicable to HPC-data intensive applications Does not applicable for compute-intensive and multi-tier applications

Deadline, execution time and usage cost

Deadline-driven provisioning mechanism [21] Customer-driven SLAbased resource provisioning algorithm (BFResvResource and BFReschedReq) [22] Greedy Particle Swarm Optimization algorithm [23]

Minimizes cost and SLA violations, and improves customer satisfaction level

Minimizes total cost of workload, and enhances VM configuration 3

Solves only short-term problems

Total cost, SLA violation and service quality improvement

Estimated cost and cost improvement

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

Greedy Particle Swarm Optimization (GPSO) algorithm prevents the local optimum states, minimizes the total cost and enhances the VM configurations. Virtual Design Advisor (VDA) improves the DBMS performance in physical server [23]. The work in [18] achieves full flexibility of QoS levels and avoids SLA violations if compared to other QoS based resource allocation strategies. The efficient resource allocation mainly depends on the factor of QoS with a high level. The major issues of QoS are SLA violations, VM migration, faulttolerance, and lack of scalability, high availability, profit level, resource utilization, and the deadline. The QoS-aware execution of applications fulfills the SLA in an effective manner.

demand and allocates the resources automatically [26]. PRESS exploits the notion of light-weight signal processing and statistical learning algorithms to predict the application resource demand patterns. PRESS constantly monitors the dynamic resource demand pattern and predicts the resource requirements in the near future using processing techniques and statistical state-driven approach. Resource prediction model updates simultaneously, while the resource consumption pattern is dynamic. PRESS offers much importance to avoid underestimation rather than avoiding overestimation. Profit maximizing resource allocation policies addresses the problem of SaaS provider [27]. Three policies solve the optimization problem obtained from the SaaS provider’s utility function performs better than some popular heuristics that deals with similar problems and reactive allocation approach. The greedy algorithm [28] allocates VMs to real-time task based applications. Polynomial-time heuristic solves the optimization problem efficiently. Moreover, it proposes a deadline based resource allocation scheme called Earliest Deadline First (EDF- greedy) for VMs to achieve efficient resource allocation. EDF scheme selects the cost effective VMs to finish the task within the deadline in case of inadequate VMs. Many application-specific resource allocation strategies consider efficient resource allocation, deadline, payment, and power consumption, but profit maximization is not in its consideration. The work in [27] solves the optimization problem and achieves profit maximization using resource allocation policies. Application-specific resource allocation depends on the exact application requirements and real-time applications. The problem of this allocation requires application usage in idle state, power consumption, VM management, parallel execution, resource wastage, and scalability issues.

B. Application-specific Resource Allocation Resource allocation depends on the client applications and uses workflow to meet the requirements of the client’s demands. The application-specific resource allocation considers four strategies such as Naive, FIFO, Optimized, and services group optimization. The prominent features of the application include a large-scale, real-time, data-intensive, and shared database. The existing application based resource allocation techniques as shown in Table 3. A new resource allocation technique with polynomial time solves the deadline-driven allocation of the cloud system with VM resource isolation technology [24]. It reduces the users’ payment with respect to the expected deadlines. Error-tolerant mechanism assures completion of tasks within its deadline. ThinkAir [25] uses the idea of Smart-phone virtualization and offers method-level computation offloading in the cloud. ThinkAir evaluates the initial range of scale from simple to more complex applications. PRedictive Elastic ReSource Scaling (PRESS) extracts the pattern of application resource

Table 3 Application based Resource Allocation Techniques Techniques Optimal allocation algorithm [24]

Recursive algorithm using Divide-and-Conquer method [25] Light-weight resource demand prediction scheme [26] Squeezing out the cloud via profit maximizing resource allocation policies [27] Earliest deadline first greedy algorithm with polynomial-time [28]

Application Based Resource Allocation Advantages Disadvantages Supports VM multiplexing Error-tolerant is Technology, minimizes user infeasible to uncertainty payment, and guarantees demand of users execution deadline Improves the efficiency of Does not process data transfer, and minimizes unmodified applications execution time and energy without intervention of consumption programmer support Reduces SLA violations, and High communication handles cyclic and noncost cyclic workloads Solves optimization Does not guarantee in problem, and maximizes multi-class setup profit Efficient resource allocation, and minimizes cost

4

Performance degradation while varying workload

Metrics Improved Deadline extension ratio

Energy consumption, and execution time

CPU usage, number of VMs, and the scaling interval Response time, CPU utilization, arrival rate, revenue, and traffic loss Cost and the number of tasks

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

D. Utility- based Resource Allocation In the utility based resource allocation, VMs in IaaS optimizes some objective function such as minimizing cost, cost performance and meeting QoS objectives. These objective functions are defined as Utility property; i.e. selected based on measures of response time; the number of QoS targets achieved and profits, etc. The resource allocation in utility based resource allocation is priority-based. In SLA based resource allocation, the utility function depends on the response time, CPU, memory, and communication resources [31]. The data-center with a single cluster supports heterogeneous applications and workloads, including enterprise online applications and CPU-intensive applications. It controls the cost-performance tradeoff by changing VM utilities or node costs. UtilityDirected Resource Allocation Model (U-RAM) [32] clarifies Virtual Desktop Cloud (VDCs) of the resource allocation dilemma and follows an iterative algorithm. The utility based resource allocation depends on the resource manager architecture, the utility function model, the global controller, the local controller, and stability issues [33]. The dynamic pricing scheme increases the user utility in federated clouds even if the price is dynamic [34]. In federated clouds, the customer demands various resources from several providers. The dynamic pricing scheme allocates a request for several resource types. It ensures the high utility even if resource demand and supply fluctuate. Several works address the utility functions with the resource allocation problem of VMs. However, the U-RAM [32] achieves high utility and solves allocation

C. Auction based Resource Allocation Auction based allocation uses sealed-bid, which service provider gathers users’ bids and fixes the price. The truth telling property reduces the resource allocation problem into an ordering problem and reduces the complexity of cloud service provider decision rule and clear-cut allocation rule. The constraints of the truth-telling property do not ensure profit maximization. Table 4 describes the previous auction based resource allocation techniques in the cloud environment. In a cloud computing environment [29], the dynamic auction strategy solves the resource allocation problem. A second-price auction mechanism determines the price of resource allocation and capacity of the computation allocation using truth-telling mechanism. The cloud provider uses an auction-based market to achieve maximum profit over time for each VM [30]. The demands of each variety of VMs fluctuate over a period, and hence it becomes vital to make the capacity of each VM type adaptive to maximize profit while reducing the energy cost. Model Predictive Control (MPC) achieves a balance between customer demand and customer satisfaction. Several auction-based resource allocations solve the resource allocation as a dynamic capacity problem without considering its profit. The work in [30] maximizes the profit using MPC and reduces the trade-offs between the customer’s demand and satisfaction. The auction based resource allocation issues on provider’s revenue, energy minimization, customer satisfaction, and response time degrades the overall performance of the resource allocation.

Table 4 Auction based Resource Allocation Techniques Auction Based Resource Allocation Techniques

Advantages

Disadvantages

Metrics Improved

Second-price auction mechanism [29]

Improves revenue generated for the cloud service provider (CSP)

Revenue distribution

Model Predictive Control (MPC) approach [30]

Solves optimal problem and maximizes profit

Trade-off between customer’s demand and satisfaction It meets SLA violations for multitier applications

Utilization, number of VMs, and price

Table 5 Utility based Resource Allocation Techniques Utility based resource allocation Techniques

Advantages

Disadvantages

Metrics Improved

Force-directed search approach [31]

Increases profit, utilization, and guarantees SLA for multi-tier applications Optimizes resource allocation with fast Convergence and High utility

Load imbalance

Total profit, average run time, and utilization Utility, number of VMs, latency, and bandwidth

Utility-directed Resource Allocation Model (U-RAM) iterative algorithm [32] Modified version of First Fit Decreasing algorithm [33] Dynamic pricing and scheduling algorithm [34]

Improves global system utility using VM live migration, and minimizes cost Profit maximization, and high utility

5

More concentrate on network resources

Less concentration of reliability and stability High resource wastage

Response time and utility Average profit and average price

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

in [36] satisfies the energy-aware resource allocation with the thermal and power efficient condition. Energy consumption affects the operational cost of the allocation. The various algorithms of load balancing, round robin and greedy algorithms are not effective for efficient resource allocation. Energy consumption depends on the workload of requests and the active state of systems. The previous energy based resource allocation techniques as shown in Table 6.

problems using an iterative algorithm.Utility based resource allocation fulfills the utilization problems, under and over utilization, but lacks in performance maximization, cost performance, disk, CPU utility and VM migration. The optimization problem affects the entire system and provisioning of resources. Table 5 summarizes the utility based resource allocation techniques in cloud computing. E. Energy Efficient based Resource Allocation In resource allocation, energy efficiency has the vital role. Rescheduling the allocation enhances energy savings of the internal IaaS cloud data-center. The advantage of the reallocation algorithm in new generation computer components is that it has higher performance and consumes less energy. The allocation depends on the application workload and the number of to rearrange the resource allocation of old and new server [35]. The distribution of resources with QoS improves the competence of energy, allocation heuristic condition data-center resources to user requests [36]. The CPU, memory, disk storage and network interfaces determine the power utilization of the data center. The VMs can be resized and merged in case of under-utilization of resources. The data center switches to the sleep mode of idle nodes to make the resource allocation energyproficient. Improved Clonal Selection Algorithm (ICSA) reduces the MakeSpan and energy consumption in a cloud computing environment. It improves the energy efficiency in the cloud data center and meets the SLA agreements [37]. The work

F. Game based Resource Allocation In the cloud computing resource market, the cost of computational service depends on total computation. The game theory offers fairly accurate solution to deal with this issue. It adopts two methods to solve these problems such as Binary Integer Programming and an evolutionary mechanism [38]. First, each participant solves the optimization problem separately. The second one is based on the preliminary result, is intended to get the finest and reasonable solution. Game based resource allocation optimizes the energy in cloud computing on the whole. In the game-theoretic formulation [39] of the dilemma, the Nash equilibrium is essential in the game. In a congestion game, each player chooses a subset of resources to reduce the cost. The utility is based on the number of players distributing the same resources. In clouds using a game-theoretic mechanism, Cloud Resource Allocation Games (CRAGs) [40] solve the resource allocation problem. Table 7 discusses the game theory based resource allocation techniques in the cloud environment.

Table 6 Energy based Resource Allocation Techniques Techniques Optimization algorithms using rearranging of resources [35] Modified Best Fit Decreasing algorithm (MBFD) [36] Improved Clonal Selection Algorithm (ICSA) [37]

Energy based resource allocation Advantages Disadvantages Reduces energy Degradation of consumption level performance due to workload consolidation Reduces operational cost Suffers from migration and energy consumption problem Reduces cost and MakeSpan, and achieves energy efficiency and SLA

Computational complexity

Table 7 Game based Resource Allocation Techniques Game based resource allocation Techniques Advantages Disadvantages A Binary integer the Solves optimization Less resource programming, evolutionary problem and minimizes utilization mechanism [38] efficiency losses Nash equilibrium Increases utility and Provider’s profit low algorithm [39] minimizes energy consumption A game-theoretic Solves resource allocation Latency occurs due to approach [40] problem, and provides client to one provider optimal performance interaction Coalition formation and Increases resource High communication the uncertainty principle utilization, and avoids the overhead based algorithms [41] complexities of integer programming

6

Metrics Improved Energy consumption and response time Energy consumption, VM migrations, and SLA violations Response time, energy consumption, and MakeSpan

Metrics Improved Energy

Energy and utilization

Total cost, and maximum turn-around time Task allocation time and the number of unassigned VMs

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

query protocol called Pointer Gossiping Content Addressable Network (PG-CAN) identifies the qualified nodes [42]. Dynamic optimization of multi attributes attains maximum resource consumption using a Proportional Share Model (PSM) and offers optimal execution efficiency. A Purlieu is a MapReduce based resource allocation mechanism for performance enhancement. Purlieus supplies virtual MapReduce clusters and enables MapReduce virtual machine access [43]. The locality-awareness in the purlieus improves runtime performance and reduces network traffic in the cloud data center. VM placement technique attains high data locality and develops a uniquely coupled data. Table 8 discusses the VM based resource allocation techniques in cloud computing. Reusable Table-Based Algorithm (RTBA) [44] proposes three heuristics (H1,H2, and H3) for making clear decisions for a given task on a hybrid. RTBA solves the efficient and cost-effective use of hybrid resource problem for a job implementation plan. A flexible, on-demand resource allocation has heuristic that mechanically starts the new VM while existing VM is non-suitable for the application installation. The SLA aware resource allocation provides a new scheduling heuristic that takes into account several SLA parameters for application deployment [45]. It achieves efficient distribution of the application’s execution using load-balancing mechanism. Location-aware dynamic resource allocation model [46] discusses the hybrid resource management in terms of location aware VM placement and dynamic resource utilization in the cloud environment. Resource allocation model depends on the PMs utilization level of data center. The work in [44] reduces the cost, solves migration problems and achieves effective allocation using RTBA. VM based resource allocation mainly focuses on the VM

The resource allocation technique has been proposed in [41] for machines in the cloud, based on the concept of coalition formation and the uncertainty principle of game theory. The resource allocation mechanism achieves better utilization of the resource as well as higher demand satisfaction. Game theoretic approach simplifies the composite problems to a high level. The previous game theoretic approach uses integer programming to solve the payoff matrix for optimal. Integer programming introduces high complexity and does not support scalability. The uncertainty principle of game theory is an alternative to integer programming. Some of the game-based resource allocation attempts to solve the optimization problem independently without considering the resource assignment multiplication. The resource allocation in [41] solves this problem using coalition and the uncertainty principle of game theory. Game based resource allocation focuses on avoiding under utilization and overlapping of resources, but efficient resource allocation is not recovered. The request satisfaction, communication cost, efficiency, and resource availability are major issues. G. Virtual Machine (VM) based Resource Allocation VM based resource allocation executes the skewness algorithm [8]. VM resources are allocated in IaaS based on the load, type, cost, and speed. It executes if the user adds or deletes one or more occurrence of resources on the basis of the VM load and circumstances. The virtual computation environment rearranges the resources and balances its resources due to the dynamic availability of infrastructure resources and application demand. The resource allocation and administration approaches imposed the VMs to deliver truthful types and efficient virtual resource allocation [6]. In SelfOrganizing Cloud (SOC), a fully decentralized range

Table 8 VM based Resource Allocation Techniques Virtual machine based resource allocation Techniques Skewness algorithm [8]

VM-multiplexing resource allocation scheme, Proportional Share Model (PSM) [42]

Advantages Achieves overload avoidance, and improves overall utilization Achieves maximum resource utilization, delivers optimal execution efficiency

Disadvantages Lag in scalability

Metrics Improved Number of migration, and CPU load

Does not tolerate user migration

Throughput ratio, the average efficiency, and failed task ratio

Data locality method for MapReduce [43]

Reduces execution time and network traffic

High Response Time

Execution Time and Cross-Rack Traffic

Reusable Table-Based Algorithm (RTBA) [44] A novel scheduling heuristic with load balancing mechanism [45]

Reduces the rental cost

High price due to dynamic variation High energy consumption

Rental cost, and deadline constraint Resource utilization, and deployment efficiency

Resource wastage occurs, if user migrates to another provider

Response time

Utilization level of PM [46]

Effective distribution of applications and considers multiple SLA parameters Prevents performance degradation, and guarantees maximum utilization level

7

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

the case of fluctuating workload by preempting the task having low priority with a high priority task. Preemption is not possible for the tasks with the same priority. Topology Aware Resource Allocation (TARA) architecture exploits a prediction engine with a lightweight simulator for estimating the performance and GA to obtain an optimized solution [49]. TARA supports data intensive applications that are responsive to background traffic and the network topology. In many works, the bin packing problem arises during resource allocation. The work in [47] solves this problem with processing ability and bandwidth allocation. Resource dependent allocation avoids resource wastage and insufficient resource allocation. The existing resource dependent allocation techniques are described in Table 9.

placement and allocation. The issue of resource allocation affects the performance of applications. The major issues are migration problem, VM placement locality aware problem, network traffic, deadline constraint, and resource wastage. H. Resource Dependent Allocation Optimal resource allocation model allocates processing capacity and bandwidth to every incoming request in an hourly basis. It reduces the request loss probability with the conventional allocation method. In a cloud computing environment, the optimal resource allocation model achieves fair resource allocation for multiple users [47]. The priority based resource allocation mechanism can enhance the resource utilization of the cloud [48]. The algorithm considers the preemptible task execution and several SLA parameters. The algorithm works well even in

Table 9 Resource Dependent Allocation Techniques Techniques Resource allocation algorithm [47]

Priority Based Scheduling Algorithm (PBSA) [48] TARA topology, genetic algorithm [49] V.

Resource dependent allocation Advantages Disadvantages Achieves fair Less concentrate on resource allocation and CPU and memory solves bin-packing problem resource availability introduces imbalance Increases resource utilization High operational cost and efficiency in parallel processing Reduces job completion time, Infeasible due to scale and improves efficiency of IaaS

Metrics Improved Request loss probability, and average resource utilization Average job execution time and the number of VMs Prediction job time

RESOURCE ALLOCATION TECHNIQUES IN COMMERCIAL CLOUD COMPUTING

This section shows resource allocation techniques used in various real-time commercial clouds such as penStack, Eucalyptus, Open Nebula, Nimbus, windows azure, Open QRM, VMware, Google App Engine, Google Compute Engine, vTiger, Apache Cloud Stack, AppScale, Rackspace, XCP, and Amazon EC2. Table 10 depicts the real time commercial clouds and its resource allocation techniques. Table 10 Commercial Clouds and Resource Management Strategies S. No

Cloud Name

Resource Allocation

1 2

OpenStack Eucalyptus

3 4 5 6 7 8 9 10 11 12 13 14 15

Open Nebula Nimbus Windows Azure Open QRM VMware Google App Engine Google Compute Engine vTiger Apache Cloud Stack AppScale Rackspace XCP Amazon EC2

Dynamic resource allocation Dynamic resource allocation with three policies: Greedy, round robin and power save policy Policy-driven resource allocation VM fine-grained resource allocation Dynamically provisioned resource allocation Policy-driven resource allocation Priority-based resource allocation Application-driven resource allocation Application-driven resource allocation Role Based Access Control Application-driven resource allocation Dynamic resource allocation Policy-based resource allocation Automatic management Dynamic resource allocation

8

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

VI.

highly dynamic local mobile cloud that supports user mobility is still a major issue.

FUTURE DIRECTIONS

Since the cloud has emerged as a large-scale infrastructure of computing devices, energy efficiency and environmental factors play a major role. Green computing and energy-aware resource allocation need to be investigated for the next generation of cloud infrastructure. As the cloud grows as a global infrastructure platform, new resource allocation techniques are required to allocate resources among the clouds to satisfy SLA. Mobile cloud computing is a leading application deployment environment in cloud computing. Thus, the resource allocation in mobile cloud is a significant research area. In a local mobile cloud environment, mobile devices can enter or leave the cloud at any time. If a mobile device leaves the cloud, the task should be migrated to another mobile device in the cloud. The modeling of a resource allocation strategy in such a

VII.

CONCLUSION

Cloud computing is a method of providing several kinds of resource applications through the internet. In a cloud environment, IaaS organizes the client and manages the systems in terms of response time, resource expenses, bandwidth, and network connectivity. Resource allocation is the process of allocating resources based on customer requirements over the internet. Resource Allocation Strategy is necessary for attaining customer satisfaction and profit exploitation of cloud service providers. The technique of resource allocation varies depending on the application, services, and infrastructure of customer demands. This paper summarizes the different RAS and resource allocation policies based on SLA in a cloud computing environment.

REFERENCES [1] Rajkumar Buyya et.al.,2009, “Cloud Computing and Emerging IT Platforms Vision, Hype, and Reality for Delivering IT Services as the 5th Utility”, Future Generation Computer Systems, vol. 25, no. 6, pp. 599-616. [2] C. N. Hofer,G. Karagiannis.,2011, "Cloud Computing Services: Taxonomy and Comparison", Journal of Internet Services and Applications, vol. 2, Issue 2, pp. 81-94. [3] Gunho Lee., 2012, “Resource Allocation and Scheduling in Hete- rogeneous Cloud Environments”, Technical Report, University of California, pages.111. [4] Muhammad Asad Arfeen, Krzysztof Pawlikowski, Andreas Willig, “A Framework for Resource Allocation Strategies in Cloud Computing Environment”, IEEE 35 th Annual Computer Software and Applications Conference Workshops, pp. 261266. [5] Hameed Hussain et.al.,2013,“A survey on Resource Allocation in High Performance Distributed Computing Systems”, Parallel Computing, vol. 39, pp. 709-736. [6] Brendan Jennings and Rolf Stadler., 2014, “Resource Management in Clouds: Survey and Research Challenges”, Journal of Network and System Management. [7] Michael Hauck, Matthias Huber, Markus Klems, Samuel Kounev, Alexander Pretschner, Ralf Reussner, and Stefan Tai., 2010, “Challenges and Opportunities of Cloud Computing”, vol. 19. [8] Zhen Xiao, Weijia Song, and Qi Chen., 2013, “Dynamic Resource Allocation using Virtual Machines for Cloud Computing Environment”, IEEE Transactions on Parallel and Distributed systems, vol. 24, pp. 1107-1117. [9] Weiwei Lin, James Z. Wang, Chen Liang , Deyu Qi., 2011, “A Threshold-based Dynamic Resource Allocation Scheme for Cloud Computing” Elseiver Transaction on Procedia Engineering, vol. 23, pp. 695-703. [10] Jiayin Li, Meikang Qiu, Jian-Wei Niu, Yu Chen, Zhong Ming Ming.,2010, “Adaptive Resource Allocation for Preemptable Jobs in Cloud Systems”, IEEE 10 th International Conference on Intelligent Systems Design and Applications, pp. 31- 36. [11] Daniel Warneke and Odej Kao.,2011,“Exploiting Dynamic Resource Allocation for Efficient Parallel Data Processing in the Cloud”, IEEE Transactions on Parallel and Distributed Systems, vol. 22, pp. 985- 997. [12] Ya gız Onat Yazır , Chris Matthews , Roozbeh Farahbod , Stephen Neville, Adel Guitouni, Sudhakar Ganti and Yvonne Coady., 2010, “Dynamic Resource Allocation in Computing Clouds using Distributed Multiple Criteria Decision Analysis” IEEE 3rd International Conference on Cloud Computing, pp. 91-98.

[13] T. Wood, P. Shenoy, A. Venkataramani, and M. Yousif., 2007, “Black-box and Gray-box Strategies for Virtual Machine Migration,” in Proc. of the 4th USENIX Symposium on Networked Systems Design and Implementation, pp. 229- 242. [14] N. Bobroff, A.Kochut, and K. Beaty., 2007, “Dynamic Placement of Virtual Machines for Managing SLA Violations,” in Proceedings of the IFIP/IEEE International Symposium on Integrated Network Management, pp. 119- 128. [15] Atsuo Inomata, Taiki Morikawa, Minoru Ikebe, Yoshihiro Okamoto, Satoru Noguchi, Kazutoshi Fujikawa, Hideki Sunahara, Sk. Md. Mizanur Rahman., 2011, “Proposal and Evaluation of a Dynamic Resource Allocation Method based on the Load of VMs on IaaS”, IEEE 4 th IFIP International Conference on New Technologies, Mobility and Security (NTMS), pp. 1-6. [16] I. Popovici et al., 2005 “Profitable Services in an UncertainWorld”, In proceedings of the ACM/IEEE Conference on Supercomputing, vol. 36. [17] Linlin Wu,Saurabh Kumar Garg and Raj kumarBuyya., 2011, “SLA based Resource Allocation for SaaS Provides in Cloud Computing Environments”, IEEE, pp.195-204. [18] Kuan Lua, Ramin Yahyapoura, Philipp Wiedera, Constantinos Kotsokalisb, Edwin Yaquba, Ali Imran Jehangiria., 2013, “Qos‐based Resource Allocation Framework for Multidomain SLA Management in Clouds”, International Journal of Cloud Computing, vol. 1, no.1. [19] Jack Li, Qingyang Wang, Deepal Jayasinghe, Simon Malkowski, Pengcheng Xiong, Calton Pu, Yasuhiko Kanemasa, Motoyuki Kawaba., 2012, “Profit-Based Experimental Analysis of IaaS Cloud Performance: Impact of Software Resource Allocation”, IEEE Ninth International Conference on Services Computing (SSC), pp. 344-351. [20] Xindong You, Jian Wan, Xianghua Xu, Congfeng Jiang, Wei Zhang, Jilin Zhang., 2011, “ARAS M: Automatic Resource Allocation Strategy based on Market Mechanism in Cloud Computing”, JOURNAL OF COMPUTERS, vol. 6, no. 7, pp.1287-1296. [21] Christian Vecchiola, Rodrigo N. Calheiros, Dileban Karunamoorthy, Rajkumar Buyya., 2012, “Deadline-Driven Provisioning of Resources for Scientific Applications in Hybrid Clouds with Aneka”, Elsevier Transaction on Future Generation Computer Systems, vol. 28, pp. 58–65. [22] Linlin Wu , Saurabh Kumar Garg , Steve Versteeg, and Rajkumar Buyya., 2014, “SLA-Based Resource Provisioning for Hosted Software-as-a-Service Applications in Cloud

9

International Journal of Applied Engineering Research, ISSN 0973-4562 Vol. 10 No.76 (2015) © Research India Publications; http://www.ripublication.com/ijaer.htm

[23]

[24]

[25]

[26]

[27]

[28]

[29]

[30]

[31]

[32]

[33]

[34] [35]

[36]

[37]

[38]

[39]

Computing Environments”, IEEE Transactions on Services Computing, vol. 7, no.3, pp. 465-485. Fatma A. Omara, Sherif M. Khattab, and Radhya Sahal., 2014, “Optimum Resource Allocation of Database in Cloud Computing”, Egyptian Informatics Journal, vol.15, pp.1–12. Sheng Di, and Cho-Li Wang.,2013,“Error-Tolerant Resource Allocation and Payment Minimization for Cloud System”, IEEE Transactions on Parallel and Distributed Systems, vol. 24, pp. 1097-1106. Sokol Kosta, Andrius Aucinas, Pan Hui, Richard Mortier, Xinwen Zhang., 2012,“ThinkAir: Dynamic Resource Allocation and Parallel Execution in Cloud for Mobile Code Offloading”, IEEE Proceedings INFOCOM, pp. 945-953. Zhenhuan Gong, Xiaohui Gu, John Wilkes.,2010, “PRESS: PRedictive Elastic ReSource Scaling for Cloud Systems”, International Conference on Network and Service Management (CNSM), pp. 9-16. Michele Mazzucco, Martti Vasar, and Marlon Dumas., 2012, “Squeezing out the Cloud via Profit Maximizing Resource Allocation Policies”, IEEE 20 th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), pp.19-28. Karthik Kumar, Jing Feng, Yamini Nimmagadda, and YungHsiang Lu., 2011, “Resource Allocation for Real-Time Tasks using Cloud Computing”, IEEE 20 th International Conference on Computer Communications and Networks, pp. 1- 7. Wei-Yu Lin, Guan-Yu Lin, Hung-Yu Wei., 2010, “Dynamic Auction Mechanism for Cloud Resource Allocation”, 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, pp. 591-592. Qi Zhang, Quanyan Zhu, Raouf Boutaba., 2011, “Dynamic Resou- rce Allocation for Spot Markets in Cloud Computing Environments”, IEEE 4th International Conference on Utility and Cloud Computing, pp.178-185. HadiGoudaezi and MassoudPedram.,2011, “Multidimensional SLA Based Resource Allocation for Multi-tier Cloud Computing Systems” IEEE 4th International Conference on Cloud Computing, pp. 324-331. Prasad Calyam, Rohit Patali, Alex Berryman, Albert M. Lai, Rajiv Ramnath.,2011, “Utility Directed Resource Allocation in Virtual Desktop Clouds”, Elseiver Transaction on Computer Networks, vol. 55 pp. 4112–4130. Dorian Minarolli and Bernd Freisleben.,2011, “Utility-based Resource Allocation for Virtual Machines in Cloud Computing” IEEE Symposium on Computers and Communications, pp. 410-417. Shaolei Ren.,2012,“Strategic Pricing and Resource Allocation: Framework and Applications”. Dang Minh Quan, Robert Basmadjian, Hermann De Meer, Ricardo Lent, Toktam Mahmoodi, Domenico Sannelli, Federico Mezza, Corenten Dupont., 2012, “Energy Efficient Resource Allocation Strategy for Cloud Data Centres”, Springer 26th International Symposium on Computer and Information Sciences, pp.133-141. Anton Beloglazov, Jemal Abawajy, Rajkumar Buyya., 2012, “Energy-aware Resource Allocation Heuristics for Efficient Management of Data Centers For Cloud Computing”, Elsevier Transaction on Future Generation Computer Systems, vol. 28, pp. 755–768. Wanneng Shu, Wei Wang, and Yunji Wang., 2014, “A Novel Energy-Efficient Resource Allocation Algorithm based on Immune Clonal Optimization for Green Cloud Computing”, SpringerOpen, EURASIP Journal on Wireless Communications and Networking. GuiyiWei, Athanasios V, Vasilakos, Yao Zheng, Naixue Xiong., 2010, “A Game-Theoretic Method of Fair Resource Allocation for Cloud Computing Services”, Springer Journal on Supercomputers, vol. 54, pp. 252–269. Yang Ge, Yukan Zhang and Qinru Qiu, Yung-Hsiang Lu., 2012, “A Game Theoretic Resource Allocation for Overall Energy Minimization in Mobile Cloud Computing System”, ACM/IEEE International Symposium on Low Power Electronics and Design, pp. 279-284.

[40] Virajith Jalaparti, Giang Nguyen, Indranil Gupta, Matthew Caesar., 2010,“Cloud Resource Allocation Games”. [41] Parvathy S. Pillai, and Shrisha Rao.,2014, “Resource Allocation in Cloud Computing using the Uncertainty Principle of Game Theory”, IEEE Systems Journal, pp.1-12. [42] Sheng Di and Cho-Li Wang., 2013, “Dynamic Optimization of Multi-Attribute Resource Allocation in Self-Organizing Clouds”, IEEE Transactions on Parallel and Distributed Systems, vol. 24, pp. 464-478. [43] Balaji Palanisamy, Aameek Singh, Ling Liu, Bhushan Jain., 2011, “Purlieus: Locality-aware Resource Allocation for MapReduce in a Cloud”, IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, no.58. [44] Hsuan-Yi Chu and Yogesh Simmhan., 2013, “Resource Allocation Strategies on Hybrid Cloud for Resilient Jobs”, Technical Report. [45] Vincent C. Emeakaroha , Ivona Brandic , Michael Maurer , Ivan Breskovic., 2011, “SLA-Aware Application Deployment and Resource Allocation in Clouds”, IEEE 35 th Annual Conference on Computer Software and Applications, pp. 298- 303. [46] Gihun Jung and Kwang Mong Sim., 2012, “ Location-Aware Dynamic Resource Allocation Model for Cloud Computing Environment”, International Conference on Information and Computer Applications, pp. 37-41. [47] Shin-ichi Kuribayashi. , 2011, “ Optimal Joint Multiple Resource Allocation Method for Cloud Computing Environments”, International Journal of Research and Reviews in Computer Science (IJRRCS), vol. 2, no.1. [48] Chandrashekhar S. Pawar , Rajnikant B. Wagh., 2013, “Priority Based Dynamic Resource Allocation in Cloud Computing”, IEEE International Conference on Intelligent System and Signal Processing, pp. 311-316. [49] Gunho Lee , Niraj Tolia , Parthasarathy Ranganathan, Randy H. Katz., 2010, “Topology-Aware Resource Allocation for Data-Intensive Workloads”, ACM 1 st Asia-pacific Workshop on Systems, pp.1-6. Dr R Manimegalai had graduated from PSG College of Technology, Coimbatore, India in Computer Science and Engineering. She is also an alumnus of College of Engineering Guindy, Anna University and IIT Madras where she has done her Master’s and Doctorate respectively. She has more than twenty years of experience in teaching, research and industry put-together. Currently she is working as Professor and Research Director with Park College of Engineering and Technology, Coimbatore, India. She holds life membership in several professional societies such as Computer Society of India, Institution of Engineers (India) and Indian Society for Technical Education. She is also a member of IEEE and VLSI society of India. Her areas of interest include Reconfigurable Computing, VLSI / FPGA Algorithms, Distributed Systems and Cloud Computing. She has widely published in journals and conferences and is guiding several PhD research scholars. Mr M Kandan received Post Graduated degree in Information Technology from Sathyabama University, Chennai, Tamilnadu, India. He is pursuing Ph.D degree in Information and Communication Engineering at Anna University since July 2011. He has more than ten years of experience in teaching. Currently he is working as Assistant Professor in Indira Institute of Engineering and Technology, Tiruvallur district, Tamilnadu, India.

10