A Regression-based Method for Software Performance Engineering

In this paper a statistical methodology for finding the optimal deployment of distributed software objects over computational nodes is presented. The optimal placement of a distributed software objects, from the performance viewpoint, has a significant impact on the performance of the software. In the proposed methodology, a performance predictor function is extracted from a dataset of simulation results using the regression analysis. This performance predictor function then is used by an optimization algorithm to find the optimal object deployment. The key advantage of the proposed methodology over using the traditional QN models is that solving the predictor model obtained from the QN approach during the optimization process many times, particularly when the search space is huge, is prohibiting due to its time complexity.

[1]  James Fealey,et al.  Performance by design , 2004 .

[2]  Omid Bushehrian,et al.  An INLP approach for simulated-based automatic object deployment , 2011, 2011 CSI International Symposium on Computer Science and Software Engineering (CSSE).

[3]  Steven A. Demurjian,et al.  Two Optimization Techniques for Component-Based Systems Deployment , 2001, SEKE.

[4]  Michael Devetsikiotis,et al.  An Automatic Framework for Efficient Software Performance Evaluation and Optimization , 2007, 40th Annual Simulation Symposium (ANSS'07).

[5]  Filip De Turck,et al.  Automated Deployment of Distributed Software Components with Fault Tolerance Guarantees , 2008, 2008 Sixth International Conference on Software Engineering Research, Management and Applications.

[6]  Debzani Deb,et al.  Towards Autonomic Distribution of Existing Object Oriented Programs , 2006, International Conference on Autonomic and Autonomous Systems (ICAS'06).

[7]  Omid Bushehrian,et al.  The application of FSP models in Software Performance Engineering: A multi-threaded case-study , 2011, 2011 IEEE Symposium on Computers & Informatics.

[8]  C. Murray Woodside,et al.  Fast Allocation of Processes in Distributed and Parallel Systems , 1993, IEEE Trans. Parallel Distributed Syst..

[9]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[10]  Lars Grunske,et al.  ArcheOpterix: An extendable tool for architecture optimization of AADL models , 2009, 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software.

[11]  Steffen Becker,et al.  Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms , 2010, WOSP/SIPEW '10.

[12]  Omid Bushehrian The Application of FSP Models in Automatic Optimization of Software Deployment , 2011, ASMTA.

[13]  Dorina C. Petriu,et al.  The Future of Software Performance Engineering , 2007, Future of Software Engineering (FOSE '07).

[14]  Virgílio A. F. Almeida,et al.  Performance by Design - Computer Capacity Planning By Example , 2004 .

[15]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[16]  Tony Field,et al.  Performance engineering with the UML profile for schedulability, performance and time: a case study , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..