Dynamic Resource Provisioning and Monitoring for Cloud Computing
P.K.Soniha, N.Soundarya, S.Srimathi
CSE department,
Thiagarajar College of Engineering,
Madurai, India
Abstract—Dynamic resource provisioning for cloud computing is to allocate the resource in the cloud to the customer based on their needs. When a cloud provider accepts a request from a customer it must allocate an appropriate number of virtual machines, memory and RAM to them. The Monitoring agent monitors the requested resources and allocates it according to availability and in an efficient way using various algorithms like FCFS, Priority based algorithm, fuzzy logic based algorithm and their performance is measured.
Keywords-Resource provisioning, Cloud Computing, priority based, fuzzy logic.
I. INTRODUCTION
Cloud computing allows to store and access data and programs over the Internet instead of your computer’s harddrive.
Resource provisioning means the selection deployment and runtime management of software(Example: Database servers, Load balancers) and hardware resources(Example: CPU, storage and network) for ensuring guaranteed performance for application. The main process in cloud computing includes resource provisioning and request scheduling. There is a need for efficient techniques in allocating the resources available in the cloud. There are various resource scheduling algorithm based on the factors of Maximum expected remaining allocation time, Maximum current remaining allocation time, Minimum expected remaining allocation time, Minimum current remaining allocation time, etc.
There are various researches going on in the area of resource provisioning and monitoring in cloud computing. For example, [1] presents the dynamic resources provisioning and monitoring (DRPM) system, a multi-agent system to manage the cloud provider’s resources while taking into account the customers’ quality of service requirements as determined by the service-level agreement (SLA). A Moving Average-based Fuzzy Resource Scheduling (MV-FRS) for virtualized cloud environment to optimize the scheduling of resources through virtual machines is designed in [2]. Here, a fuzzy control theory is designed for system accessibility between user cloud requirements and cloud users resources and MV-FRS method is to reduce the total waiting time of cloud user resource requirements and effectiveness of the system accessibility. The research in [3] depicts a broad methodical literature analysis of resource management in the area of cloud in general and cloud resource scheduling in specific whereas in [4], the deficiency of the traditional research formulation to address the innovation of cloud computing is explored. The work in [5] proposes a new market model called the Combinatorial Double Auction Resource Allocation (CDARA), which is applicable in cloud computing environments and to evaluate the efficiency from an economic perspective. Similarly [6] proposes an agent-based dynamic scheduling algorithm named ANGEL for real-time, independent and aperiodic tasks in clouds that improve task scheduling by dynamically adding virtual machines.
In this work, focus is given in developing a fuzzy logic based algorithm to measure the amount of resources requested by the customer and allocate the resources to achieve maximum utilization of resources in the service provider side.
II. PROBLEM DESCRIPTION
On resource provisioning , there is a problem of over provisioning or under provisioning while allocating resources to the customers statically , depending on their request. Also, the resources are not utilized in an efficient manner . To overcome this problem in this paper we have proposed a methodology of dynamic resource allocation based on customer’s needs, using fuzzy algorithm and to monitor the allocated resources by a monitoring agent in order to achieve maximum utilization of the available resources.
I. PROPOSED METHODOLOGY
The resources are requested by multiple customers simultaneously or sequentially. The customers interact with the system using GUI interface. The request is forwarded to the monitoring agent. The monitoring agent processes the requested resources based on their availability and allocates the resources using fuzzy algorithm. The fuzzy algorithm is used to measure the amount of resources requested by the customer with respect to the total available resources in the cloud.The customer's request of resources are mapped as the inputs of fuzzy algorithm and the utilization of the available resources based on the requests is calculated using a set of fuzzy rules. The utilization of resources for each customer request can be calculated using defuzzification method. Then the requests can be scheduled based on the maximum utilization of available resources and the scheduled requests are satisfied based on the availability of resources.
A. Design of the system
The design of the system includes customers who requests for the resources in cloud, GUI interface that helps in communication between the customer and the monitoring agent by receiving the resource request from the customer and sending the request to the monitoring agent through a message, monitoring agent which acts as a platform connecting the customer and the cloud resources, cloud repository with the resources that is to be allocated to the customers based on their request.
Fig 1. Design of the system
B. Monitoring Agent
The Monitoring agent is created using jade environment by importing specific libraries in Eclipse IDE. The monitoring agent gets created when the process begin. The monitoring agent gets the message of request of resources by the customers. The monitoring agents splits up the resource categories such as number of processors, memory and RAM. It communicates with a cloud repository where the resources are actually available. Its sends a reply message indicating success when the requested resources by the customers are allocated to the customer from the cloud repository. It sends a refusal message if there is a lack of requested resources by the customers in the cloud repository.
The monitoring agent processes the requested resources by the customers according to a fuzzy algorithm that schedules the request of the customers.
C. Cloud Repository
The cloud repository contains the actual resources that will be allocated to the customer. The amount of resources available is retrieved by the monitoring agent during the beginning of the process and the status of the available resources is checked by the monitoring agent frequently. Here, the cloud environment and the cloud resources are simulated using the software CloudSim.
Fig 2 .Flowchart of Resource allocation
IV. ALGORITHMS USED
A. FCFS(First come first serve):
One of the algorithms used to process the customer’s request in this paper is First come first serve. Here the requests from multiple customers are monitored and the resources are allocated in the order in which the customer’s made their requests.
At first the request from customer are saved in the order they request their resources. The monitoring agent monitors the availability of resources requested by the customers from the cloud repository. Only then the present customer’s request of resources is satisfied, the next customer’s request will start processing.
If the resource asked by the customer’s in the request is available in the cloud then the monitoring agent allocate the resource to the customer. After the completion of processing this request the monitoring agent will process the next request. If the resources asked in the request is not available in the cloud repository, then refusal message is sent to the customer and the monitoring agent will start processing the next request.
Table 1. Resources requested by the customers
NO. OF PROCESSORS 8
MEMORY 500GB
RAM 10GB
B. Priority based
In priority based algorithm the monitoring agent will get all the customer’s request and stored. The individual resources such as number of virtual machines, memory and RAM are fetched and each resource’s percentage is calculated with respect to the overall resources available. The maximum percentage of the requested resources are processed and the respective resources are allocated to the customer by the monitoring agent. Then the next maximum percentage of requested resources is satisfied and the process follows.
At last, an efficient allocation of requested resources by the customers will be seen. And the performance will be compared with the traditional FCFS algorithm.
C. Fuzzy logic based algorithm
In fuzzy logic based algorithm the monitoring agent will get all the customer’s request and stored. The individual resources such as number of processors, memory and RAM are fetched and each resource is mapped as the input for the fuzzy algorithm. The range for each category of inputs is specified in the algorithm. For each request by the customers for resources, the fuzzy algorithm calculates the utilization of the available resources. Based on the value generated by the fuzzy algorithm the requests are scheduled in a way to achieve maximum utilization of the available resources and the requests are satisfied in the scheduled order.
At last, an efficient allocation of requested resources by the customers will be seen. And the performance will be compared with the traditional FCFS algorithm.
Fig 3. Flowchart of Priority Based Algorithm
Fig 4. Flowchart of Fuzzy Logic Algorithm
V. RESULTS AND DISCUSSION
The implementation of this work is done with the help of software like JADE and CloudSim.
JADE is the Java Agent Development Environment which is used to create the user agent who request for resources and the monitoring agent that schedules and allocates the resources based on various scheduling algorithm.
Using CloudSim the cloud repository with the cloud resources is created. These resources are accessed by the monitoring agent and are allocated to the customers depending on their requests.
The tool results will furnish the implementation level details of the project.
Fig 5. Customer 1 requesting resources via GUI interface
Fig 6. Customer2 requesting resources via GUI interface
Fig 5. and Fig 6. Represents the customer’s interaction with the system . A dialog box on a GUI interface pops up as soon as a customer is created. The dialog box has three rows where the customer can enter their required resources of virtual machines, memory and RAM .Once the customer enters the required resources and clicks the submit button , the message containing the resources requested is sent to the monitoring agent where the request is processed . Thus ,the customer requests the resources needed and it is made possible by using GUI interface.
Fig 7. FCFS-The communication between monitoring agent and customers.
Fig 7. Represents the communication between the customers and the monitoring agent where there are two customers and a monitoring agent. The customer1 makes a request first to the monitoring agent and it is satisfied by the monitoring agent after which the customer2 sends a request. Since the resources requested by the customer2 is also available this request is also satisfied by the monitoring agent.This can be inferred by the messages sent between the customer and the monitoring agent like propose, accept proposal, inform messages. When the customer1 sends another request, the resources available is not sufficient to satisfy the request. So the monitoring agent sends the refuse message to the customer1.
Fig 8. Priority Based Algorithm-The communication between monitoring agent and customers
Fig 8. Establishes the communication that happens between the customers and the monitoring agent. The customers request the resources they need and the requests are added in a queue and every time the percentage of the individual requested resources are calculated and the highest percentage containing request is processed. Here user2 requests higher percentage of resources , thus the monitoring agent satisfies its request first and the preceding requests afterwards.
Fig 9 . Comparison of the three algorithms
Fig 9. shows the percentage of resources allocated to the customers from the available resources for the same set of customer requests by the three algorithms namely FCFS, priority based and fuzzy logic based algorithms.From the figure we can evidently notice that the fuzzy logic based algorithm is comparatively more efficient than the other two algorithm.
VI. CONCLUSIONS
In this paper we have described a work on the allocation of resources in a dynamic cloud environment by using FCFS, priority based algorithm and fuzzy logic based algorithm which decides the allocation sequence for different jobs requested among the different users. With the advent of cloud computing and by using this implemented algorithms, monitoring agent can easily take decisions based on the different parameters and can efficiently allocate the available resources. The results of FCFS algorithm are explained using the sniffer agent which explains the communication between the customers and the monitoring agent. The priority based algorithm and fuzzy logic based algorithm will exhibit efficient resource allocation when compared to FCFS algorithm.
Acknowledgments
We wish to thank our project guide Dr.S.Padmavathi for her continued encouragement and support and Department of Computer Science and Engineering for providing us with the resources and infrastructure to undertake this project.