• Tidak ada hasil yang ditemukan

A comparative study on Resource Allocation techniques in Cloud Computing

N/A
N/A
Protected

Academic year: 2024

Membagikan "A comparative study on Resource Allocation techniques in Cloud Computing"

Copied!
6
0
0

Teks penuh

(1)

International Journal of Advanced Computer Engineering and Communication Technology (IJACECT) _______________________________________________________________________________________________

A comparative study on Resource Allocation techniques in Cloud Computing

1Pandaba Pradhan, 2Prafulla Ku. Behera, 3B N B Ray

1Department of CSE, ITER, SOA University, Odisha, India

2,3Reader, Utkal University, BBSR, Odisha, India

Abstract-- Cloud computing has emerged as a new technology that has got huge potentials in enterprises and markets. Clouds can make it possible to access applications and associated data from anywhere. Cloud computing is the next generation of technology which unifies everything into one. In Cloud computing, multiple cloud users can request number of cloud services simultaneously. So there must be a provision that all resources are made available to requesting users in an efficient manner to satisfy their needs. However one of the major pitfalls in cloud computing is related to optimizing the resources being allocated. Because of the uniqueness of the model, resource allocation is performed with the objective of minimizing the costs associated with it. The other challenges of resource allocation are meeting customer demands and application requirements. This paper discusses the state of the art in cloud computing in related domains.

Keywords-- Cloud; Cloud Computing; Cloud Users; Cloud Services; Resource Allocation, Customer Demand.

I. INTRODUCTION

Today clouds [1, 2] can make it possible to access applications and associated data from anywhere. Cloud computing is the next generation in computation.

Possibly people can have everything they need on the cloud. Cloud computing is the next natural step in the evolution of on-demand information technology services and products. Cloud Computing [1,2] is an emerging computing technology that is rapidly consolidating itself as the next big step in the development and deployment of an increasing number of distributed applications.

Companies are able to rent resources from cloud for storage and other computational purposes so that their infrastructure cost can be reduced significantly. Further they can make use of company-wide access to applications, based on pay-as-you-go model. Hence there is no need for getting licenses for individual products. Cloud computing emerges as a new computing paradigm[16] which aims to provide reliable, customized and QoS (Quality of Service) guaranteed

computing dynamic environments for end- users[2].Distributed processing, parallel processing and grid computing together emerged as cloud computing[13]. The basic principle of cloud computing is that user data is not stored locally but is stored in the data center of Internet [14]. Cloud computing nowadays becomes quite popular among community of cloud users by offering a variety of resources. Cloud computing platforms, such as those provided by Microsoft, Amazon, Google, IBM, and Hewlett-Packard, let developers deploy applications across computers hosted by a central organization[11,12].Developers obtain the advantages of a managed computing platform, without having to commit resources to design, build and maintain the network. There are numerous advantages of cloud computing [1, 15] the most basic ones being lower costs, re-provisioning of resources and remote accessibility. Cloud computing lowers cost by avoiding the capital expenditure by the company in renting the physical infrastructure from a third party provider. Due to the flexible nature of cloud computing, we can quickly access more resources from cloud providers when we need to expand our business. The remote accessibility enables us to access the cloud services from anywhere at any time.

Yet, an important problem that must be addressed effectively in the cloud is how to manage QoS and maintain SLA for cloud users that share cloud resources.

Section II of the paper discusses problem of cloud computing. Section III of the paper discusses motivations. Different types of cloud computing are discussed in section IV. Section V discusses Survey of works/approaches/algorithms for Cloud Computing.

Section VI discusses the research direction of cloud computing.

II. PROBLEM OF CLOUD COMPUTING

A Resource allocation [13] is an issue that has been addressed in many computing areas, such as operating systems, grid computing, and datacenter management. A

(2)

Resource Allocation System (RAS) [3 ,4 , 17] in Cloud Computing can be seen as a mechanism that aims to guarantee that the applications’ requirements are attended correctly by the provider’s infrastructure.

Along with this guarantee to the developer, resource allocation mechanisms should also consider the current status of each resource in the Cloud environment, in order to apply algorithms to better allocate physical and/or virtual resources to developers’ applications, thus minimizing the operational cost of the cloud environment.

Allocation of resources is an important component of cloud computing. Its efficiency will directly influence the performance of the whole cloud environment. It requires the type and amount of resources needed by each application in order to complete a user job. Two players in cloud computing environments, cloud providers and cloud users, pursue different goals;

providers want to maximize revenue by achieving high resource utilization, while users want to minimize expenses while meeting their performance requirements.

However, it is difficult to allocate resources in a mutually optimal way due to the lack of information sharing between them. Moreover, ever-increasing heterogeneity, variability of the environment and uncertainty of resources in the nodes which cannot be satisfied with traditional resource allocation poses harder challenges for both parties.

Many resource allocation schemes have come up in the literature of cloud computing. Researchers around the world have proposed and implemented several types of resource allocation schemes. However one of the major pitfalls in cloud computing is related to optimizing the resources being allocated. Because of the uniqueness of the model, resource allocation is performed with the objective of minimizing the costs associated with it. The other challenges of resource allocation are meeting customer demands and application requirements.

III. MOTIVATIONS

Recently, there has been a dramatic increase in the popularity of cloud computing systems (e.g.,. Amazon's EC2 [11] that rent computing resources ondemand, bill on a pay-as-you-go basis, and multiplex many users on the same physical infrastructure. These cloud computing environments [13] provide an illusion of infinite

resources out to users on a perusage basis. On the other hand, there are users who have applications with lease resources from providers to run their applications. First, a user sends a request for resources to a provider. When the provider receives the request, it looks for resources to satisfy the request and assigns the resources to the requesting user, typically as a form of virtual machines (VMs) [16]. Then the user uses the assigned resources to run applications and pays for the resources that are used.

When the user is done with the resources, they are returned to the provider. One interesting aspect of the cloud computing environment is that these players are often different parties with their own interests.

Typically, the goal of providers is to generate as much revenue as possible with minimum investment. To that end, they might want to squeeze their computing resources.

IV. TYPES OF CLOUD COMPUTING

Cloud computing is typically classified in two ways [2]:

A. Location of the cloud computing B. Type of services offered

A. Location of the cloud

Cloud computing is classified in the following ways depending upon the location (shown in Fig. 1.):

a) Public cloud:

In Public cloud the computing infrastructure is hosted by the cloud vendor at the vendor’s premises. The customer has no visibility and control over where the computing infrastructure is hosted. The computing infrastructure is shared between any organizations.

b) Private cloud:

The computing infrastructure is dedicated to a particular organization and not shared with other organizations.

Some experts consider that private clouds are not real examples of cloud computing. Private clouds are more expensive and more secure when compared to public clouds.

Private clouds are of two types: On-premise private clouds and externally hosted private clouds. Externally hosted private clouds are also exclusively used by one organization, but are hosted by a third party specializing in cloud infrastructure. Externally hosted private clouds

(3)

and public clouds together is called hybrid cloud. A related term is Cloud Bursting. In Cloud bursting organization use their own computing infrastructure for

normal usage, but access the cloud for high/peak load requirements. This ensures that a sudden increase in computing requirement is handled gracefully.

Fig.1. Types of Cloud B. Classification based upon service provided Based

upon the services [2] offered, clouds are classified in the following types ( shown in Fig. 2.):

a) Infrastructure as a service (IaaS) involves offering hardware related services using the principles of cloud computing[10]. These could include some kind of storage services (database or disk storage) or virtual servers. Leading vendors that provide Infrastructure as a service are Amazon EC2, Amazon S3, Rackspace Cloud Servers and Flexiscale.

b) Platform as a Service (PaaS) involves offering a development platform on the cloud. Platforms provided by different vendors are typically not compatible.

Typical players in PaaS are Google’s Application Engine, Microsofts Azure, Salesforce.com’s force.com.

c) Software as a service (SaaS) includes a complete software offering on the cloud. Users can access a software application hosted by the cloud vendor on pay- per-use basis. This is a well-established sector. The pioneer in this field has been Salesforce.coms offering in the online Customer Relationship Management (CRM) space. Other examples are online email providers like Googles gmail and Microsofts hotmail, Google docs and Microsofts online version of office called BPOS (Business Productivity Online Standard Suite).

(4)

Fig. 2. Types of Services

V. SURVEY OF

WORKS/APPROACHES/ALGORITHMS FOR CLOUD COMPUTING

In cloud computing, Resource Allocation (RA) is the process of assigning available resources to the needed cloud applications over the internet [1]. Resource allocation starves services if the allocation is not managed precisely. Resource provisioning solves that problem by allowing the service providers to manage the resources for each individual module. Resource Allocation Strategy (RAS) is all about integrating cloud provider activities for utilizing and allocating scarce resources within the limit of cloud environment so as to meet the needs of the cloud application [4,5,6]. It requires the type and amount of resources needed by each application in order to complete a user job. The order and time of allocation of resources are also an input for an optimal RAS. An optimal RAS should avoid the following criteria as follows:

a) Resource contention situation arises when two applications try to access the same resource at the same time.

b) Scarcity of resources arises when there are limited resources.

c) Resource fragmentation situation arises when the resources are isolated. [There will be enough resources but not able to allocate to the needed application.]

d) Over-provisioning of resources arises when the application gets surplus resources than the demanded one.

application demands are impractical. For the cloud users, the job should be completed on time with minimal cost. Hence due to limited resources, resource heterogeneity, locality restrictions, environmental necessities and dynamic nature of resource demand, we need an efficient resource allocation system that suits cloud environments [9].

A. ROUND ROBIN ALGORITHM

It is one of the oldest, simplest, fairest and most widely used scheduling algorithms, designed especially for time-sharing systems. A small unit of time, called time slice or quantum is defined. All run able processes are kept in a circular queue[3]. The CPU scheduler goes around this queue, allocating the CPU to each process for a time interval of one quantum. New processes are added to the tail of the queue.

B. SJF ALGORITHM

The SJF scheduler is exactly like FCFS except that instead of choosing the job at the front of the queue, it will always choose the shortest job (i.e. the job that takes the least time) available[8]. We will use a sorted list to order the processes from longest to shortest. When adding a new process/task, we need to figure out that where in the list to insert it.

VI. RESEARCH DIRECTIONS

A. AUTOMATEDSERVICE PROVISIONING

One of the key features of cloud computing is the capability of acquiring and releasing resources on demand. The objective of a service provider in this case

(5)

requirements. Furthermore, to achieve high agility and respond to rapid demand fluctuations such as in flash crowd effect, the resource provisioning decisions must be made online.

B. VIRTUAL MACHINE MIGRATION

Virtualization [16] can provide significant benefits in cloud computing by enabling virtual machine migration to balance load across the data center. In addition, virtual machine migration enables robust and highly responsive provisioning in data centers.

C. SERVER CONSOLIDATION

Server consolidation [17] is an effective approach to maximize resource utilization while minimizing energy consumption in a cloud computing environment. Live VM migration technology is often used to consolidate VMs residing on multiple underutilized servers onto a single server, so that the remaining servers can be set to an energy-saving state.

D. ENERGY MANAGEMENT

Improving energy efficiency[11, 12, 14] is another major issue in cloud computing. It has been estimated that the cost of powering and cooling accounts for 53%

of the total operational expenditure of data centers.

E. TRAFFIC MANAGEMENT AND ANALYSIS Analysis of data traffic [14] is important for today’s data centers. For example, many web applications rely on analysis of traffic data to optimize customer experiences. Network operators also need to know how traffic flows through the network in order to make many of the management and planning decisions.

VII. CONCLUSION

Cloud computing technology is increasingly being used in enterprises and business markets. In cloud paradigm, an effective resource allocation strategy is required for achieving user satisfaction and maximizing the profit for cloud service providers. This paper discusses the various types of cloud and different types of scheduling algorithms. Scheduling algorithms should not affect the behaviour of the System (same results regardless of schedule).

However, the algorithms do impact the system’s efficiency and response time. Some of the strategies discussed above mainly focus on CPU and memory resources but are lacking in other factors which we want to touch in our future research work.

REFERENCES

[1] V.Vinothina, Dr.R.Sridaran, Dr.Padmavathi Ganapathi,” A Survey on Resource Allocation Strategies in Cloud Computing”, (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 3, No.6, 2012.

[2] Mohiuddin Ahmed, Abu Sina Md. Raju Chowdhury, Mustaq Ahmed, Md. Mahmudul

Hasan Rafee,” An Advanced Survey on Cloud Computing and State-of-the-art Research Issues”, IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 1, No 1, January 2012.

[3] Ronak Patel, Sanjay Patel,” Survey on Resource Allocation Strategies in Cloud Computing”, International Journal of Engineering Research &

Technology (IJERT) Vol. 2 Issue 2, February- 2013 ISSN.

[4] Ya gız Onat Yazır, Chris Matthews, Roozbeh Farahbod Stephen Neville, Adel Guitouni, Sudhakar Ganti and Yvonne Coady,” Dynamic Resource Allocation in Computing Clouds using Distributed Multiple Criteria Decision

Analysis”,2010 IEEE DOI

10.1109/CLOUD.2010.66 91, 2010 IEEE 3rd International Conference on Cloud Computing.

[5] Dorian Minarolli and Bernd Freisleben,” Uitlity – based Resource Allocations for virtual machines in cloud computing”(IEEE,2011).

[6] Xindong YOU, Xianghua XU, Jian Wan, Dongjin YU:RAS-M ,”Resource Allocation Strategy based on Market Mechanism in Cloud Computing”(IEEE,2009).

[7] Qi Zhang,Lu Cheng, Raouf Boutaba."Cloud Computing: Stateof the-art and research challenges". The Brazilian Computer Society 2010.

[8] Atsuo Inomata, TaikiMorikawa, Minoru Ikebe, Sk.Md. MizanurRahman: Proposal and Evaluation of Dynamin Resource Allocation Method Based on the Load Of VMs on IaaS(IEEE,2010),978-1-4244-8704-2/11.

[9] Karthik Kumar et al.: Resource Allocation for real time tasks using cloud computing (IEEE, 2011).

[10] Tram Truong Huu& John Montagnat: Virtual Resource Allocations distribution on a cloud infrastructure (IEEE, 2010), pp.612-617.

[11] Amazon ec2. http://aws.amazon.com/ec2.

[12] Google app engine.

http://code.google.com/appengine.

[13] D. Thain, T. Tannenbaum, and M. Livny.

Distributed computing in practice: the condor experience: Research articles. Journal of Concurrency: Practice and Experience, 17:323–

356, February 2005.

[14] A.Singh ,M.Korupolu and D.Mohapatra. Server- storage virtualization:Integration and Load balancing in data centers. In Proc.2008 ACM/IEEE conference on supercomputing (SC’08) pages 1-12, IEEE Press 2008.

[15] David Irwin, PrashantShenoy, Emmanuel Cecchet and Michael Zink:Resource

(6)

Management in Data-Intensive Clouds:

Opportunities and Challenges .This work is supported in part by NSF under grant number CNS-0834243.

[16] Gunho Lee, Niraj Tolia, Parthasarathy Ranganathan, and Randy H.Katz, Topology aware resource allocation for dataintensive

workloads, ACM SIGCOMM Computer Communication Review, 41(1):120--124, 2011.

[17] Daniel Warneke and Odej Kao, Exploiting dynamic resource allocation for efficient parallel data processing in the cloud, IEEE Transactions On Parallel And Distributed Systems, 2011.



Referensi

Dokumen terkait

Every type of management, communication, business and/or leisure application is capable of using the resource services offered by cloud computing technology because it is available

Abbreviation Description TCB Task classification and buffering TOORA Task offloading and optimal resource allocation WORA Whale optimized resource allocation SJF Shortest job first

In particular, the Particle Swarm Optimization PSO and Genetic Algorithm GA techniques have been heavily used by different researchers in developing task scheduling approaches for cloud

Cloud cooperative game In this section, we provide an example of cloud cooperative game N v, as a cooperative game with transferable utility, where each cloud provider in N is a

Mobile cloud applications move the computing power and data storage away from mobile phones and into the cloud, bringing applications and mobile computing to not just smartphone users