A Multi-Objective Approach to Model-Driven Performance Bottlenecks Mitigation
Total Page:16
File Type:pdf, Size:1020Kb
Scientia Iranica D (2015) 22(3), 1018{1030 Sharif University of Technology Scientia Iranica Transactions D: Computer Science & Engineering and Electrical Engineering www.scientiairanica.com Research Note A multi-objective approach to model-driven performance bottlenecks mitigation M. Amoozegara; and H. Nezamabadi-pourb a. Department of Information Technology, Institute of Science and High Technology and Environmental Sciences, Graduate University of Advanced Technology, Kerman, P.O. Box 76315-117, Iran. b. Department of Electrical Engineering, Shahid Bahonar University of Kerman, Kerman, P.O. Box 76169-133, Iran. Received 25 December 2013; received in revised form 1 October 2014; accepted 7 March 2015 KEYWORDS Abstract. Software Performance Engineering (SPE) evaluates the key performance factors such as response time and utilization in the entire life cycle of software development. Bottleneck detection; One of the important issues of software performance is bottlenecks that have not been Multi-objective investigated much till now in the process of SPE. Meanwhile, Bottleneck detection and optimization; mitigation in software modeling stage is quality-centered and cost e ective. Layered Software performance bottleneck is a type of bottleneck that occurs in systems with layered services and a ects its engineering; utilization more than at bottlenecks. The presented approach in this paper has selected UML; Layered Queening Network (LQN) as an appropriate performance model to present and Gravitational search analyze the layered bottlenecks. The process of SPE from software model to performance algorithm. model has been automatically implemented. Also, an optimization stage is added to nd the best speci cation of software model in a way that the strength of the bottleneck, the response time and the cost will be minimized. To assess the proposed solution, two recently proposed multi-objective gravitational search algorithms are employed. To evaluate the e ectiveness of the applied algorithms, two well-known multi-objective algorithms: NSGA- II and MOPSO are also applied to a case study, and a comprehensive comparison is presented. c 2015 Sharif University of Technology. All rights reserved. 1. Introduction while SPE also covers the other performance issues such as bottlenecks. Although high utilization of resources is Software performance engineering integrates perfor- a main target, excessive utilization causes bottlenecks. mance evaluation in the software development process A bottleneck is a single point of contention that limits from the early stages throughout the whole life cycle. the overall system performance [1]. Therefore, software model annotated with performance Layered bottleneck is a type of bottleneck that speci cation is transformed into a performance model. occurs in systems with layered services. In this layered Recent research of SPE focused on feedback from structure, each service in a layer is client for lower layer analyzing performance results into software model. service, and server for upper layer service and resources Performance usually refers to response time; are possessed simultaneously. Layered bottlenecks throughput and resource utilization. Many researches are more complicated than at bottlenecks and the have been presented to improve these factors. Mean- workload intensity of the system and the resources utilization are more a ected. Therefore, one of the *. Corresponding author. Tel.: 03433776611 key factors in the software performance optimization E-mail addresses: [email protected] (M. Amoozegar); is bottleneck detection and improvement. [email protected] (H. Nezamabadi-pour) Many bottleneck detection and improvement ap- M. Amoozegar and H. Nezamabadi-pour/Scientia Iranica, Transactions D: Computer Science & ... 22 (2015) 1018{1030 1019 proaches have been presented. Some approaches are speci cations of the software modeled with Palladio based on simulation and monitoring. Ref. [2] presented Component Model. an approach that supports automated monitoring, Gravitational Search Algorithm (GSA) is a rela- analyzing, and reporting by applying machine-learning tively new optimization algorithm based on the laws in the context of staging. Therefore, this approach of gravity and motion. In Ref. [14] we presented an collects data and analyzes bottlenecks for a signi cant approach to optimize the response time of the software number of performance metrics. model along with two constraints, cost and utilization, Ref. [3] has presented an approach for simple and by single objective version of GSA. Single objective automatic detection of performance bottleneck based optimization algorithm provides one solution or one on the di erential analysis method. This approach choice for the software architecture. Meanwhile, in generates di erent binary variants obtained by patch- multi-objective optimization algorithms, instead of a ing individual or groups of instructions. Then the unique optimal solution, there is rather a set of alter- cost of an instruction group is evaluated. Di eren- native trade-o s. This research applies three multi- tial Analysis is illustrated by the use of DECAN on objective versions of GSA that are called NSGSA (Non- a range of HPC applications to detect performance dominated Sorting Gravitational Search Algorithm) bottlenecks. and MOGSA (Multi Objective Gravitational Search Many other approaches detect bottlenecks from Algorithm) to nd the best con gurations of software runtime or source-code information [4-7]. Based on model in a way that bottleneck strength be minimized. runtime information, a PERT (Program Evaluation Bottleneck must be improved while cost and response and Review Technique) diagram is built, and the crit- time must also be controlled. Thus three objectives ical path of the diagram is identi ed as a performance exist that must be minimized. bottleneck. The privileges of the presented approach are: These methods are time consuming and very costly. The bottlenecks are detected in the last phase 1. The software model that is speci ed with perfor- of software development so that their mitigation is very mance property automatically analyzed from two dicult. important performance issues; bottleneck and re- Model based techniques for bottleneck detection sponse time. Bottlenecks, especially software bot- evaluate software model. Therefore, in the early life tlenecks, are a ected by the software and hardware cycle of software development, bottlenecks can be de- resources. By the presented approach, the optimum tected and mitigated by tuning the related performance number of resources will be determined, before speci cations. the software development starts. This process is Based on [8], in performance model side, bot- very cost e ective especially when the role of the tleneck identi cation and removal was introduced few software resources, e.g. threads, in the development decades ago [1] and has been continuously re ned by process has been considered. more recent results [9]. But, there exist few works 2. The bottleneck improvement is considered as the that detect such bottlenecks based on UML models. main objective during the SPE process. The Garousi [10] presented a UML-driven technique to software architecture who is not aware of the perfor- detect Performance bottlenecks of concurrent real- mance engineering can easily optimize the software time systems. The control ow diagram and PERT model. diagram are built from the sequence diagrams and 3. NSGSA and MOGSA are applied in SPE scope and interaction overview diagrams to pinpoint performance bottleneck improvement problem with respect to bottlenecks. response time and cost. This paper presents an automatic UML based bottleneck improvement solution that optimizes A case study has been selected and whole steps strength bottleneck [9] of the software model. There- of SPE, from software modeling to optimization, have fore, bottleneck detection and mitigation problem is been applied to it. NSGA-II and MOPSO are also used modeled as an optimization problem that has consid- for optimization. Important metrics such as coverage ered more than one objective function (in this study metric, diversity and spacing evaluate the performance three objective functions are considered together) and of these algorithms. Comprehensive comparison of the is solved with the Pareto-optimal concepts. results has been provided that show the NSGSA has In recent years, some approaches [11,12] have been the best behavior. proposed that apply heuristic algorithms to evaluate The rest of the paper is structured as follows: the UML model for performance in terms of expected Basic concepts are discussed in Section 2. Section 3 response time, throughputs and resource utilizations. describes the bottleneck detection and the measure- Ref [13] has applied multi-objective evolutionary op- ment strategy. Formal de nition of an optimization timization to nd the good value of the performance problem is presented in Section 4. Introduction of the 1020 M. Amoozegar and H. Nezamabadi-pour/Scientia Iranica, Transactions D: Computer Science & ... 22 (2015) 1018{1030 2.2. Bottleneck A bottleneck is a single point of contention that limits the overall system performance [1]. LQN models [24] extend the traditional queuing network models by considering both software and hard- ware contention, and the impact of layers on service time. LQN model has layered structure. Each layer is the server of the upper layers and a client for the lower layers. Figure 1. Software performance