RPOA Model-Based Optimal Resource Provisioning

Optimal utilization of resources is the core of the provisioning process in the cloud computing. Sometimes the local resources of a data center are not adequate to satisfy the users’ requirements. So, the providers need to create several data centers at different geographical area around the world and spread the users’ applications on these resources to satisfy both service providers and customers QoS requirements. By considering the expansion of the resources and applications, the transmission cost and time have to be concerned as significant factors in the allocation process. According to the work of our previous paper, a Resource Provision Optimal Algorithm (RPOA) based on Particle Swarm Optimization (PSO) has been introduced to find the near optimal resource utilization with considering the customer budget and suitable for deadline time. This paper is considered an enhancement to RPOA algorithm to find the near optimal resource utilization with considering the data transfer time and cost, in addition to the customer budget and deadline time, in the performance measurement. Keywords—Cloud Computing; Resource Provision; Data Communication; Particle Swarm Optimization


I. INTRODUCTION
One of the main definitions of cloud is that it is a cluster of distributed computers providing on-demand computational resources or services to the remote users over a network [1].In other words, the cloud computing is a new paradigm for hosting and delivering services on demand over the internet where the users could access services depending on their Quality of services (QoS) requirements regardless where these services are hosted, they only care about how much they will pay, and how much time is expected to provide the required hardware and software resources [2] [3].
Cloud computing has the growing popularity and adoption feature [4].This means that there is no data center with limited capacity.In other words, if a data center is become overloaded, it may be possible to relocate some workloads to another data center [5].The workload sharing makes the cloud system has the ability to expand the resource pool and provides more flexible and cheaper resources [1].
Cloud computing delivers three application layers as services that are Infrastructure as a service (IaaS) for delivering IT infrastructure, Platform as a service (PaaS) for software development and deployment, and software as a service (SaaS) for providing software product [6].depending on the, frameworks, or a final .IaaS rule is to provide Hardware as a Service by offering basic storage, memory and computing capabilities as standardized services over the network.To acquire computing resources, a user launches a server instance on the infrastructure of the cloud provider, thereby specifying the instance's characteristics such as the available processing power, main memory and I/O capacity.Most commonly, the notion of an instance materializes into a virtual machine that is launched on the physical IT infrastructure of the provider.Examples of successful IaaS providers are; Amazon EC2, Joyent, Rackspace.PaaS is a way to rent hardware, operating systems, storage and network capacity over the internet.It delivers a computing platform or software stack as a service to develope applications.This can broadly be defined as application development environment which is offered as a 'service' by the vendors.AppEngine, Bungee Connect, LongJump, Force.com,WaveMaker are examples of PaaS [7].Instead of executing an application locally, this application could be located on the cloud and can be accessed online via web interfaceby SaaS.The applications are already-created as fully or partially remote services.Sometimes they are in the form of web-based applications and other times they consist of standard non remote applications with Internet-based storage or other network interactions [8].Yahoo mail, Google docs applications, Salesforce.comCRM apps, Microsoft Exchange Online, Facebook are examples of SaaS [7].
Other important characteristics that distinguish Cloud Computing from other distributed systems are dynamic provisioning, Geo-distribution, ubiquitous network access, and Utility-based pricing [9].
One of main criteria affects data sharing in resource provision process under the cloud environment is the network performance, especially network bandwidth consumption.The network bandwidth can be stated as the amount of data shared over the network in a given time [11].The relationship between www.ijacsa.thesai.org the characteristics of the offered traffic, the link speed and the resulting Quality of Service (QoS) should be concerned for calculating the overall cost of the resource provisioning.On the other hand, the users ask about the needed resources that achieve their services and deal with the providers with a payas-you-go strategy without concerning about the network communication characteristic because the providers do not offer a guaranteed network bandwidth to the users.But sometimes, achieving the requirements of one cloud user may make an influence on another cloud user in the same cloud environment due to the network latency which increases response time and decreases throughput.That may cause time delay in service providing [11].The possibility of growing the Cloud environments by spreading the resources across wide geographical area using Wide Area Network (WAN), causes a delay for providing the services because of the limitation of the communication infrastructure, which is provided by the Internet [12].
The work in this paper is considered an enhancement of RPOA algorithm which is based on Particle Swarm Optimization to find the near optimal resource utilization with considering the data transfer time and the cost in the performance measurement [3].
The rest of this paper is organized as follows; the related works about the resource provision problem in cloud computing are presented in section 2. The principles of the resource provision in the cloud environment are discussed in Section 3. Section 4 states the influence of data communication on provisioning process.Section 5 represents the enhancement RPOA algorithm and its implementation and evaluation using CloudSim toolkit.The conclusions is presented in section 6.

II. RELATED WORKS
Over the years, the demand of services provisioning through the Internet has been increased .In order to handle these huge numbers of users' applications, Cloud infrastructure providers (i.e., IaaS providers) have established data centers in multiple geographical locations to achieve availability and ensure reliability in case of site failures [13].
Many researchers tried to meet the conditions of Quality of Services (QoS) and agreements of Service Level Agreement (SLA) in the resource provisioning process.Hu; Y., et.al. [14] have merged two resource allocation policies; Shared Allocation policy (SA) and Dedicated Allocation policy (DA).These allocation policies are evaluated by heuristic algorithm on basis of the smallest number of servers required to meet the negotiated SLA.Chaisiri; S., et.al. [15] have introduced an algorithm for resource provisioning based on the cost optimization by considering the demand price uncertainty in the provisioning stages to manage virtual machines.Byun; E., et.al. [16] have suggested a Partitioned Balanced Time Scheduling algorithm to estimate the minimum number of computing hosts required to execute a workflow within a user-specified finishing time.The main goal of this algorithm is to minimize the resource cost rather than the makespan of the workflow.This algorithm is for the automatic execution of large scale workflow-based applications on dynamically and elastically provisioned computing resources.
Jung; G., Sim; K. M., [17] have proposed the agent-based adaptive resource allocation algorithm.This algorithm aimed to satisfy customer needs of service in terms of fast allocation time and execution response time where the provider try to allocate each customer request to an appropriate data center among the distributed data centers by offering his resources under the infrastructure as a service model.The authors have proposed an adaptive resource allocation model that took into consideration both the geographical distance between the location of consumer and data centers and the workload of data center.
There is a proposed algorithm for resource provisioning by considering the communication link between the customer and the provider with minimum cost, as illustrated by Gaurav Raj [18].He has proposed an Efficient Broker Cloud Management as a new provider cloud communication paradigm, explaining communication mechanism between the provider and the cloud using cloud exchange.He obtained optimum route on the basis of cost factor considering hops count, bandwidth and network delay using Optimum Route Cost Finder algorithm.Gaurav Raj, Ankit Nischal [19] are tried to find an efficient way to utilize the resources within the cloud, and to create virtual machines with consideration to optimum cost based on a performance factor.This performance factor depends upon the overall cost of the resource, communication channel cost, and reliability and popularity factor.They proposed a framework for communication between the resource owner and the cloud using Resource Cloud Communication Paradigm (RCCP) and extended the CloudSim by adding provisioning policies and Efficient Resource Allocation (ERA) algorithm in VMM allocation policy as a decision support for resource provisioning [20].
El-Attar; N., et.al [3] have introduced a Resource Provision Optimal Algorithm (RPOA) based on Particle Swarm Optimization PSO to find a Workload Resource map WM that is commensurate with customer budget and suitable for deadline time.According to this algorithm, it is found that maximizing the performance of computing resource could be achieved by allocating its capacity for the maximum number of workloads using (PSO) algorithm with the utilization function.let list)

III. RESOURCE PROVISIONING PROBLEM
Identifying the proper resource to the required service is considered a fundamental problem in Cloud computing.Cloud providers have to achieve the availability by allocating the appropriate resources to the required services without any confliction in the resource demands and with determining the right amount of resources required for the execution of services in an optimal way.This optimization aims to achieve the defined Quality of Service (QoS) that is affected by various parameters related to the application (i.e.security, accessibility, availability and reliability), the resources (i.e.availability, reliability, throughput and utilization) ,as well as, the userdefined requirements (i.e.cost and time) and the provider profit (i.e.resource utilization and revenue) [21].
In other words, the main goal of the provisioning policy is how to spread the applications load on convenient Cloud www.ijacsa.thesai.orgresources to achieve the optimization objective of satisfying both service providers and customers QoS requirements (i.e.minimizing both response time and cost of resource utilization and, in the same time, maximizing the provider profit with the available customer's budget) [3].The Cloud computing service provider's profit is achieved by providing high-quality services to the users through the efficient allocating of the resources on demand [22].
In [3], a Resource Provision Optimal Algorithm (RPOA) has been proposed based on particle swarm optimization to find the near optimal scheduling map of available resources with minimization of user response time and resource usage cost.According to the work in this paper, the RPOA has been enhancement and modified by considering the influence of communication parameters.

IV. DATA COMMUNICATION IN RESOURCE PROVISIONING
One of the main features of Clouds is to spread workloads over distributed virtualization infrastructure and to cover larger geographical areas.The resource providers in the cloud environment rely on the concept of virtualization to supply their computational resources.The aim of virtualization technologies is to hide the underlying infrastructure by introducing a virtual layer between the physical infrastructure and the computational resources.In fact, the large clouds are based on exploitation of distributed virtualization infrastructures of other clouds to provide new types of services "Distributed IaaS, PaaS, and SaaS".On the other hands, the distributed Cloud service is composed of a set of VMs spread over a wide geographical area, coordinated in order to achieve a specific service which is provided on demand to the user in order to meet his requirements [12].
Another scenario of resource provision is to use the federation perspective that allows the Cloud providers to use virtualization infrastructures of other federated Clouds, trying to meet more and more kinds of required services [23,24].The federation makes the small and the medium Clouds able to increase their virtualization capabilities by using the virtualization infrastructures of other federated Clouds to achieve the required service.
By using the federation perspective, the resource provision is become more elastic by increasing the virtualization capabilities of Clouds and, on the other hand, to enable the Clouds providers to rent their computational and storage resources when their virtualization infrastructures are unused [12].
Any Cloud user cares about two main criteria; the service response time in the data center, i.e., turnaround time [25], and the cost of the available resources that can be allocated to the service.Generally, the allocation process of any cloud service can be divided into three consecutive stages; scheduling, computation and transmission [25].
On the other hand, the potential growth of Cloud environments due to the distribution of Cloud infrastructures over large scale geographical area makes the provisioning of services face some delay problems due to the latency that happened in transmission through the Internet [12].
Therefore, the transmission time has to be considered as a significant criterion in the allocation process specially when there is a need for transferring a huge dataset.
V. THE ENHANCEMENT OF RPOA According to the RPOA algorithm, the data centers are distributed over different resource pools.Each pool includes a specific resource type (e.g., computing power or memory capacity), and each computing resource is limited with the available number of hosts and both certain memory capacity and computing power consumption.On the other hand, each task workload is associated with a number of subtasks which require a certain amount of computing power or memory capacity depending on the workload type.In the same time, the RPOA algorithm is considered that the work loads are independent and have the same priority.By these conceptions, the measurement of the implementation's cost and time are become more accurate [3].
The work in this paper is considered a new version of RPOA which has been proposed in [3] with considering the influence of communication bandwidth and time latency beside the cost and time of the resources.This is because the network bandwidth and latency have a critical effect on the network performance, and accordingly on the provisioning process.
The network bandwidth can be defined as the rate at which the number of messages can be transferred from one point to another point in a given amount of time and it can be measured as baud rate, rate of data transfer and bit rate or throughput.The bandwidth that is used in cloud computing is the network bandwidth [11].On the other hand, the network latency refers to any delay typically incurred in the processing of network data.This delay occurs because of the resources distribution over large number of computing nodes on the network as in the web based cloud applications [26].

A. The Enhancement of RPOA Environment
According to RPOA algorithm, there are 'm' number of available resources, and 'n' workloads that contain 'j' of subtasks, with consideration of some principle assumptions (fixed quantity of resources ' 'Q , with a definite price ' ' j p and a default execution time ' ' j t ).On the other hand, every workload ' i' has a set of tasks' j' that need a specific resource quantity denoted by ' q ', and every customer has the availability of deciding the price of each task that can be paid ' i j bp '.All of these consideration with a very important constraint which is ensuring that the total number of all workloads have to be not more than the available resources [3].
On the other hand, the cost and time of data transfer have to be defined, i.e. the communication link type and the available data packet size on the communication channel.The Transfer cost can be calculated according to equations (1, 2, 3) [27]: Where,  Similarly, the transfer latency time will be calculated by equation ( 4) [29].

Latency (Packet Delivery Time(PDT)) = TT +PD (4)
Where Transmission Time (TT), and Propagation Delay (PD) are calculated by equations (5,6): TT=Packet Size /Bit Rate, (5) which are stated in table 2, and PD=Distance/ Propagation Speed (PS) (6) where Propagation Speeds are known as follows [30]: a ) for copper wires= 2*108 meter/sec.b) for wireless = 3*108 meter/sec.So, depending on RPOA implementation [3], there are N users ask for services that are defined with a matrix q nm subtasks that have to be achieved by the available resources that have a vector The Total processing time i j t and cost i j c of every workload i on the suitable resource j is calculated according to equations 7, 8 [3] based on equation 1,4.www.ijacsa.thesai.org RPOA uses the elasticity definition to find the existing relation between time and cost of both workloads and resources [32].

B. The Enhancement of RPOA Implementation and Evaluation
The difficulty of obtaining workloads for real applications makes the evaluation of resource provisioning algorithm to be not an easy process.So, the CloudSim simulator is used to overcome this problem.
CloudSim with CloudAnalyst interface is used as Simulation framework to evaluate the Enhancement RPOA algorithm performance.CloudSim is a framework developed by the GRIDS laboratory of University of Melbourne which enables seamless modelling, simulation and experimenting on designing Cloud computing infrastructures [33].CloudSim is a self-contained platform which can be used to model data centers, service brokers, scheduling and allocation policies of a large scaled Cloud platform.It provides a virtualization engine with extensive features for modelling the creation and life cycle management of virtual engines in a data center.CloudSim framework is built on the top of GridSim framework also is developed by the GRIDS laboratory, and it is written in java 6.1, because Java is a programming language designed for the distributed environment of the internet [34] [35].CloudAnalyst has an easy graphical user interface that provides a high degree of configurability and flexibility by giving the ability of quickly and easily changing of the parameters that needed to be assumed in the simulation.Also CloudAnalyst gives a graphical output in the form of tables and charts to summarize the potentially large amount of statistics that is collected during the simulation with the ability of repeating the experiments under similar environment.Also, it gives more accurate evaluation by allowing the comparison between different scheduling algorithms [34].
RPOA is applied for memory provisioning; the user requests the memory on the available data centers.To evaluate the enhancement RPOA algorithm, some resource allocation requests are applied at different intervals of peak hours with different average of peak users.The datacenters that are used in this simulation have (x86) architecture, working on Linux operating system, and with Xen virtual machines that are based on time shared allocation policy.
The simulation is done over a various number of user bases requests on different available data centers.Every user base has its own budget, and asks for a specific amount of memory also it can be divided to independent subtasks; everyone has its own request and budget.On the other hand, every data center has a certain amount of memory, and has a predefined execution time.Also, the available bandwidth and its transmission cost are defined with the type of network communication and the available networks bit rate.
As shown in Figure 1, CloudAnalyst divides the worlds into regions to make the cost and time calculation more accurate.3 and 4 show the variant parameters of a ten sample from hundred simulated experiments; respectively.Table 3 shows the user bases services request and contains all of the request details as, user region, request size, number of subtasks; if it contains subtasks; and user budget.Other important parameters are that the start and end peak hours that influence the time of server responding.Figures 3 and 4 show the user base and data center configuration, in order.Figure 3 displays the details of user bases configuration (with their subtasks), and virtual machines that used to every user base.This relation is to illustrate the importance of using the whole capacity of a data center to one or more of user bases that is because leaving a small amount of capacity in every datacenter will not be useful in another allocation process.But still there is another main condition in the allocation process.This condition is to search for the closest data center to the user base from both the latency and region, for trying to reach the goal of cost and time optimization by using RPOA.
Table 5 displays the overall cost that is paid for every datacenter containing the processing and the transfer cost.The main objective of the Enhancement RPOA algorithm is that find the near optimal allocation of the user requests on available data centers with the user budget restriction and deadline time with putting the influence of communication factors in consideration.
As shown in table 5, the data transfer cost has a significant effect on the total cost, this leads to take the distance between request region and resource region in consideration, and trying to allocate the request to the nearest data center which achieves the user demands.
The Enhancement RPOA algorithm provides a result by taking budget and deadline time into consideration as it can do; the error rate with the proposed sample of a hundred user base is nearly 18% for cost and 24% for time.

VI. COMPARATIVE STUDY
The first algorithm which we can use to compare with RPOA is Closest Data Center Algorithm (CDCA) [34].This algorithm is considered the simplest service broker policy.It is based on creating an index table of all data centers indexed by their region.When the user base sends a message with his requirements, the algorithm looks for the data centers which are in the same region of the user base and picks from the data center located at the earliest/highest region in the proximity list and puts the request in the requests' queue of this data center [34].
The comparison between RPOA and CDCA in terms of cost reduction is illustrated in Figure 8.The CDCA's working mechanism is to provide resource with minimizing the cost of the provided service that is because the CDCA searches for the resource in the nearest region of user base that reduces the transfer cost, and so reduces the total cost.www.ijacsa.thesai.orgThe second Comparison will be done between RPOA algorithm and Best Response Time Algorithm (BRTA) [34].This policy locates all the available data centers and indexes them.After the service broker receives the user's request, it identifies the closest data center (i.e. in terms of latency) and iterates through the list of all data centers and estimates the response time at each data center by querying the last recorded processing time using Internet Characteristics.If this time is recorded before a predefined threshold, the processing time for that data center is reset to 0. This means that the data center has been idle for duration of at least the threshold time.If the least estimated response time is for the closest data center, the broker selects the closest data center.Else, the broker picks either the closest data center or the data center with the least response time with a 50:50 chance (i.e.latency load balanced 50:50) [34].
The comparison between cost and user budget in both RPOA and BRTA algorithms is displayed in Figure 10.BRTA algorithm cares only about how to provide the service with minimizing execution time as much as possible, but without considering the user budget, so it tries only to fit a deadline time without giving a suitable execution cost.Concluding form the BRTA characteristics, RPOA can be considered better than BRTA with 55% of cost reduction, but its performance in the execution time minimization is less than BRTA algorithm with 12% as shown in Figure 11.

VII. CONCLUSIONS
The Enhancement RPOA is an algorithm that is implemented to optimize both response time cost Dead Line (sec) www.ijacsa.thesai.orgresource provisioning process.On the other hand, the problem is the limitation of the resources capabilities which needs to spread the workloads on different geographical areas around the world.This leads to consider the communication factors, (i.e., communication time and cost) into consideration, which influence the performance of the allocation process.CloudSim is the simulation toolkit which is used to implement and evaluate the Enhanced RPOA algorithm and find the workload -resource map that achieves the user requirements.

Fig. 1 .
Fig. 1.Region Boundaries Details in CloudAnalyst Tables3 and 4show the variant parameters of a ten sample from hundred simulated experiments; respectively.Table3shows the user bases services request and contains all of the request details as, user region, request size, number of subtasks; if it contains subtasks; and user budget.Other important parameters are that the start and end peak hours that influence the time of server responding.

Fig. 3 .
Fig. 3. UserBase Configuration Also, Figure 4 displays the data center configurations with showing the physical hardware details of every data center.

Fig. 4 .
Fig. 4. Data Center Configuration Figure 5 shows the chart of statistical results of the executed simulation.Only 50 requests are displayed from the hundred simulated user bases.This is to make the comparison results to be visible and clear.It displays the required amount of every user base's task and its relation with the whole capacity of the available resources.

Fig. 5 .
Fig. 5. Relation between the size of Resource and Request.

Fig. 10 .Fig. 11 .
Fig. 10.Comparison between Cost and Budget in RPOA and BRTA RT) depends on the network distance as shown in Table.1, and both Loading Cost (LC) and total bandwidth price are applied from the resource provider.

Table 4 ,
also shows a sample of the data centers details that contains data center region, Virtual machine's cost for every data center, data transfer cost, and Resource size per G. Byte.

TABLE IV
It displays the location of every user base on the selected suitable datacenter.

TABLE V .
GRAND TOTAL COST FOR SOME DATACENTERS The above comparisons can be summarized in that, RPOA algorithm can enhance the time optimization more than CDCA with 65%, but it has a weakness in reducing execution time with 13% than CDCA.