PERFORMANCE EVALUATION IN CLOUD COMPUTING USING ...

3 downloads 112564 Views 455KB Size Report
Dec 31, 2014 - My aim is. to cater the performance on the cloud infrastructure level ... Cloud provides services i.e. applications, storage and other. resources on ..... The security issues and privacy concerns are assumed to be in. separate ...
PERFORMANCE EVALUATION IN CLOUD COMPUTING USING FUZZY LOGIC Samia Akhtar School of Electrical Engineering and Computer Science (SEECS) National University of Sciences and Technology (NUST), Islamabad, Pakistan Email: [email protected]

Abstract— Cloud computing has emerged as one of the most advanced platform providing the online access to the resources on pay per-use basis. IT industry is expanding day by day and so are the businesses using the cloud services. The cloud owners are interested in providing the highest performance using less power by the physical servers. Due to the increased popularity of cloud and its resources in different organizations, there is the need of cloud performance criteria or evaluation method to help the users in making their decisions related to cloud. There are many traditional methods being used to highlight the parameters involved in cloud performance. Many strategies worked on testing the performance taking workload, storage, hypervisor, network devices manager, storage device manager etc. into account but no standard model is yet defined. The idea of the paper is to provide the model to evaluate the performance of cloud. My aim is to cater the performance on the cloud infrastructure level and the application level.

Cloud provides services i.e. applications, storage and other resources on pay-per-use to the general public through Public Cloud. Some organizations want to have their private cloud within their company for the limited users through Private Cloud. Some other organizations are interested in having both facilities through Hybrid Cloud [2]. The cloud infrastructure has the interface and the back end. The interface is for the users showing them the applications. The back end is where you find the actual cloud working. All the virtualization techniques and system resources (servers, storage devices, and network etc) are lying at the back end.

Index Terms—Cloud infrastructure, Fuzzy logic, Performance testing, Workload, VMs, Member function. I. INTRODUCTION The growing IT industry with Cloud Computing is the heart of advancement in this era. Cloud computing can simply be defined as the platform which provides you all the available resources from far-off places. The remote networked servers are able to provide you access to the services you need. Thousands of the web applications are moving towards cloud. Cloud is the infrastructure building IT services that can make use of the advantages provided by growing power of servers and virtualization technologies. The set of software, hardware, network, disk storage, virtualized machines and the interfaces work together giving the cloud services. A study has shown that 66% of the surveyed companies will be considering Cloud Based solutions for the future. Also 63% in Financial Services, 62% in Manufacturing are currently using Cloud based solutions [1].

Figure. 1 Cloud computing

Software testing is one of the crucial steps for any organization. There is need of many resources to complete the testing phase. It is not possible for every organization to have in-house testing environments. Previously many companies did this by booting up their machines in cloud for simulation and did performance testing on websites. The expensive resources and dedicated infrastructure can be provided by the cloud. Cloud computing has earned much

attention in past few years as it has modified the way of computation and providing the services to the users. Whenever and wherever the services are needed by users, the cloud is there on pay-per-use. Cloud Testing can be described in terms of testing as a Service (TaaS). TaaS is a new business and service model, which provides the customer software testing activities of a given application in a cloud infrastructure. Various organizations which provide product validation of different software products can use TaaS for testing products. Performance of the cloud is very important factor in this entire scenario. When you are on cloud you need to have fast and efficient services, otherwise the slow processing on cloud would not be any worth. Cloud performance is the direct measure of the resource utilization because if the available resources are managed and utilized slowly there would not be any advantage of large pile of free resources. So there is need of some model or criteria to evaluate the performance on the cloud.

Figure. 2 Cloud architecture

II. LITERATURE REVIEW

The related work in this field has been done by different simulations, environment and cloud tools. In various studies analysts have considered the following factors while evaluating the cloud performance: waiting time, load balancing, number of requests, the through put and rate of transactions [7]. Jason Read an IT infrastructure and software consultant and ex-IBMer published the cloud "speed test." The results showed a disparity in cloud performance based on location. Read has also posted comprehensive tests of CPU performance and disk I/O speeds [3]. The cloud environments like Google, Amazon EC2, Elastic hosts, Azure etc. have their own cloud architecture and distinct properties. Variety of users is taking benefits from their services. The cloud performance evaluation is based on their specific environments the providers have implemented on cloud. Aberdeen reported in article Application Performance Management in June 2008 that issues with application performance could impact corporate revenues by up to 9% [1].

LoadStorm: Load testing allows web developers to know how their applications respond under heavy volumes of HTTP traffic. The performance of your website is critical to your revenue, and web performance tuning can increase your profit by 10%.LoadStorm puts massive cloud resources in the hands of web developers to enable them to improve the performance of their web applications [1]. CloudTest by SOASTA: provides performance, functional, Web user interface and Asynchronous JavaScript and XML (Ajax) testing as an appliance or on-demand service [1]. Techout - Measure and optimize speed and availability of critical online applications. Website monitoring, business transactions monitoring, REST/SOAP Web Services Monitoring, Cloud Monitoring/Amazon Web Service monitoring [1]. The goal of benchmarking a software system is to evaluate its average performance under a particular workload. TPC-W [5] has been designed for transactional database systems. The primary metric used by the TPC-W is WIPS that the system under test can handle. By scaling the number of emulated browsers, the number of requests and the load on the system can be increased. The challenges introduced by cloud to any organization must be considered while evaluating the performance. There is need of non-linear modeling (such as ANNs or Fuzzy models) which should focus on actual transactions on cloud. The nonlinear models can be feasible in designing the performance availability, and scalability goals [4]. Fuzzy logic can provide resources with scalability for testing environment in cloud. Fuzzy logic was introduced to take in the user defined parameters i.e RAM, disk storage and network traffic. Using AND logic fuzzy rules and OR logic fuzzy rules the performance analysis of cloud is calculated. This model explained how the different values of the given parameters can enhance or degrade the cloud performance [5]. III. PROPOSED SOLUTION AND METHODOLOGY

The traditional performance evaluation focus on some specified factors. There are many methods to evaluate the cloud performance including the different parameters. My proposed method is to use fuzzy logic for parameters which are very important in defining the cloud performance. Firstly define the variables (parameters) and relevant terms. Once done with fuzzy parameters, the main idea includes the construction of member function calculating the performance. Fuzzy logic works with the rule base, so rule base is also to be defined. Now the step comes to fuzzify the data (input) by using the defined member function. The rule base is used to infer the ideas. As there is more than one idea, the results of the each rule are combined to get the collective idea. At the end the output data is to be converted to non-fuzzy values (defuzzification). The whole working of proposed idea is according to the fuzzy logic system as shown in Figure 3. The inference engine is used to infer the results in human like and intuitive manner. In

short fuzzy logic system is non-linear model mapping the input data into output data.

From the customers point of view this performance level is very important. The application hosted on cloud cannot directly tell us about the performance of cloud by just considering the resource utilization. The applications are moving around on the VMs, so there is need of some solution to tack them. Application Response Time is defined as the time taken for an application to respond to the user request. We can say the applications designed to be on the cloud must have some monitoring solution to track them for the application performance. 1V. IMPLEMENTATION AND EVALUATION For the evaluation of cloud performance all the resources available should be powerful, efficient and compatible enough for the cloud. The hardware and software configuration is well considered while dealing with this computing environment. To implement the fuzzy logic modeling the MATLAB FIS tool is used. The selected parameters for Infrastructure Performance are following:  IRT  No. of users  Resource utilization

Figure.3 Fuzzy logic system

Now the point is to decide which parameters must be included in fuzzy logic model to evaluate the cloud performance. Looking deep into the cloud we see physical and virtual machines to be managed such that the Service Level Agreements must be fulfilled. As the customers pay according the service used so they must be assured to have access according to SLAs at any time. There is need of such a performance evaluating model which insures the health (efficiency) in the entire cloud providing the services. My idea is to model the fuzzy logic on two performance levels i.e. infrastructure performance and application performance. A. Infrastructure Performance: This level of performance is of very significance for the cloud service provider because the components i.e. virtual machines, storage, network etc. lie at the infrastructure of cloud. If any of the components could not perform well or up to the mark, it has great effect on the overall cloud performance. To get the accurate view of the cloud environment Infrastructure Response Time (IRT) is being considered. IRT is the time the cloud takes for application (workload) to request on virtual machine and the time virtual machine takes to serve the request. We can say that about a request of some database transaction. B. Application Performance:

The parameter IRT says if the response time is low it means the infrastructure has high storage, low network traffic, high RAM and optimal bandwidth. If the IRT is high it means low storage available, high network traffic, low RAM and low bandwidth. The range of input data for IRT, number of users and resource utilization is [0-10]. The output variable Cloud performance range is set between [0-20]. We can say cloud performance is EFFICIENT if value lies between [12-20], cloud performance is SLOW if values lie between [0-8] and AVERAGE cloud performance if values lie between [8-12]. The selected parameters for Application performance are following:  Application Response Time (ART)  Data Linked  VM migration The parameter ART explains that if the value is high for ART it means the application did not respond to the user quickly. If ART is low it means the application quickly responded to the user on the cloud. Data linked parameter is added because it shows how much data has to be shared with the application for its completion. If more data is to be shared by the VMs to the application it would make the cloud performance slow and vice versa. The third parameter VM migration is important in application performance because if the user could not get his/her application completed at allocated VM the VM migration would take place and hence affect the cloud performance. High VM migration would take the cloud towards more workload but lower throughput.

The proposed fuzzy model is implemented by defining the three input variables (parameters) and an output performance variable in the FIS editor as shown in the figure 4.

AND logical operation. These fuzzy set logical operations are used to perform the rules evaluation and then the combine the results of the individual rules. Actually here the work of inference engine is done.

Figure.6 Defining rules for performance evaluation Figure. 4 FIS Editor showing the three inputs and an output parameter.

After defining inputs the membership functions are constructed giving them ranges respectively. Membership functions are constructed to use in fuzzification and defuzzification. They map the non-fuzzy inputs to fuzzy values which are then inferred according to rule base. The figure 5 below depicts the output variable with its member functions plotted on the curves. The three membership functions are mapped for each input data accordingly.

You are able to make as many rules as you need to test your system. I defined four rules for the infrastructure performance evaluation. A. Infrastructure Performance Evaluation: When the three parameters were given the different input values i.e. low, average and high, the overall result is a fuzzy value. The output is defuzzified after the inference of the rule base used. The membership function defined previously is used to defuzzify the output value accordingly. The figure 7 shows the input parameters with the values IRT=3.61, Number of users=5 and resource utilization=5.2. The output variable performance showed the value of 10.3 according to the rules defined.

Figure.5 Construction of membership function

The fuzzy rule editor is used to define the rules for the parameters taken under test. Here the three parameters IRT, number of users and resource utilization are linked through the Figure.7 Rule viewer showing the difuzzyfied form of parameters

The yellow part in figure 7 is showing the input value i.e. IRT which ranged from 0 to 10. The blue portion is for the output value. The output value range was defined from 0 to 20. The final result by combining the separate rules is obtained which is shown by the red line in the last graph on the rightmost bottom. B. Application Performance Evaluation: Users on the cloud are distributed geographically; they are interested in the fastest response to their applications. For the proposed fuzzy model the Application Response Time (ART) ranges from 0 to 20ms. The performance range for ART is explained below in the table I. ART

PERFORMANCE

Less than 2ms

Efficient

Equal to 10ms

Average

Greater than 10ms

Slow

VM MIGRATION

PERFORMANCE

Less than 10%

Efficient

Equal to 10%

Average

Greater than 10%

Slow

Table III Defining performance for VM migration level frequency on cloud

Now the point is how to evaluate the application performance for the three parameters considered in the model? According to fuzzy logic model, the rules defined will be used to tell about the performance. Combining the three parameters with AND logic operation the performance is given in the table IV. IF (ART is LOW) AND (Data Linked is LOW) AND (VM Migration is LOW) THEN (Performance is Efficient) IF (ART is AVG) AND (Data Linked is AVG) AND (VM Migration is AVG) THEN (Performance is AVG)

Table I Defining performance for ART range in cloud

IF (ART is HIGH) AND (Data Linked is HIGH) AND (VM Migration is HIGH) THEN (Performance is SLOW)

Similarly the performance is also defined on the basis of data linked with the requested application on the cloud. The value ranges from 0 to 10GB as shown in table II.

Table IV. Fuzzy rules for input parameters on cloud (Application Performance)

DATA LINKED

PERFORMANCE

Less than 10GB

Efficient

Equal to 10GB

Average

Greater than 10GB

Slow

Table II. Defining performance for data linked with application in cloud

VM migration, the third input parameter, is very important in calculating the cloud performance. The extent to which the applications have to face VM migration defines how the performance is affected. If I say 10% VM migration takes place whenever there are some very high computing applications then it means for the 90% the other applications will be completed without VM migration and hence can be efficient. The table III shows the performance range for the frequency of VM migration.

Figure 8. Rule viewer for Application Performance

Figure 8 shows the defuzzified output, when ART=2.11, data linked=3.43 and VM migration=3.19% the performance=5.41. The combined result is shown with the red line on the graph telling about the average performance.

ASSUMPTION AND LIMITATIONS The proposed fuzzy logic model for performance evaluation is based on the certain parameters which are broadly undertaking the usual parameters like average processing time average time per data center, requests related to memory, requests related to I/O or CPU. I have made the assumptions that the IRT is incorporating all the basic factors involved in cloud computing infrastructure i.e. CPU load, number of Virtual Machines, number of physical servers etc. The Fuzzy logic system is used to define the rules for evaluation, artificial neural network, some simulated environment or the real data values from the cloud could have been used to evaluate the performance. This fuzzy logic system is very useful for the basic learners about the cloud performance. The security issues and privacy concerns are assumed to be in separate dimension; just the performance effecting factors are involved in the logical modeling. The network traffic and power consumption parameters are skipped deliberately because these factors are discussed in majority of researches and the conclusions made on them lead to different scenarios of cloud workload.

to their requirements. The basic and most important factor is the performance of the cloud. So the cloud provider has to make sure that the cloud infrastructure performance and application performance must be met. The increasing number of user may give timely profit to the cloud provider but the performance factor will always matter. REFERENCES [1] [2]

[3] [4] [5] [6] [7] [8] [9]

V. CONCLUSION

Performance testing activities are important to reduce the risks related to user and transaction workloads. Compared to traditional performance evaluation of cloud this fuzzy logic model provides the clear idea of how the infrastructure and applications on cloud play their role in performance. There is much more research going on this area highlighting the problems. This paper is very helpful for the new researchers to have the idea about cloud environment and know about many factors involved in performance enhancement or degradation. According to the research and review performed in the field of performance service level agreements must be fulfilled to serve the customers according

[10] [11] [12] [13] [14] [15] [16]

Performance Testing in Cloud: A pragmatic approach Author: Neha Thakur Analysis and Strategy for the Performance Testing in Cloud Computing By Eljona Proko & Ilia Ninka Vlora University, Albania http://searchcloudcomputing.techtarget.com/feature/Cloud-computingperformance A Performance Centric Introduction to Cloud Computing by Dominique A. Heger A fuzzy mathematical model for performance testing in cloud using user defined parameters. TPC benchmark TM W (Web Commerce) Specification Version 1.21.1 October 18August 2000 Cloud computing performance evaluation: Issues and Challenges M. Malathi, (2011) Cloud Computing Concepts Performance Measurement Of Cloud Computing Services, International Journal on Cloud Computing: Services and Architecture(IJCCSA),Vol.2, No.2, April 2012 Software testing in Cloud platform: A survey, International Journal of Computer Applications (0975 – 8887) Volume 46– No.6, May 2012 Comparing Cloud Computing Performance Amazon EC2 and ProfitBricks, www.profitbricks.com Controlo e Decisão Inteligente – PL #2 MatLab Fuzzy Toolbox Alexandra Moutinho Energy Efficient Data Replication in Cloud Computing Datacenters, Global 2013 Workshop Cloud Computing Systems Performance Monitoring in Cloud by Vineetha V, www.infosys.com http://gevaperry.typepad.com/main/shopping-the-cloud/ A Survey of Performance Modeling and Analysis Issues in Resource Management on cloud, http://www1.cse.wustl.edu/~jain/cse56711/ftp/hypervsr/index

Suggest Documents