Abstract
The quantitative performance evaluation of different deployments of distributed software objects over computational nodes is one of the main activities during the early stages of the design phase and should be supported by automated tools. The important design decision is to finding the optimal placement of objects, from the performance viewpoint, for different input workloads. Each deployment of objects may impose two kinds of delay on the overall performance of the software: first, the communicational delay due to the remote invocations among distributed objects and second, the computational delay due to the resource sharing by two or more concurrently executing object invocations. The object deployment problem can be formulated as an optimization problem to find the optimal deployment for which the total delay is minimal. In this paper an analytical model for delay prediction of object deployments considering the input workload of the software is presented. This model applies the object-oriented load metrics such as object population and object utilization to estimate the total amount of delay corresponding to a given object deployment. To achieve this, a novel method, called delay propagation, is proposed to compute the amount of delay corresponding to each method invocation which affects the overall response time of the software.
In order to verify the proposed analytical delay predictor model, a statistical regression-based method is used. Moreover, by comparing the proposed method with the existing deployment optimization methods, which apply the Layered Queueing Networks to evaluate the performance of each deployment in the search space, a significant improvement in efficiency is observed due to the fast evaluation of each deployment instance in the search space.











Similar content being viewed by others
References
Woodside M, Franks G, Petriu D (2007) The future of software performance engineering. In: Int conference on software engineering. IEEE, New York
Menasce DA, Almeida VAF, Dowdy LW (2004) Performance by design: computer capacity planning by example. Prentice Hall, New York
Boone B, Truck F, Dhoedt B (2008) Automated deployment of distributed software components with fault tolerance guarantees. In: Proc 6th int conference on software engineering research, management and applications. IEEE, New York
Li R, Etemaadi R, Emmerich M, Chaudron M (2011) An evolutionary multiobjective optimization approach to component-based software architecture design. In: IEEE congress on evolutionary computation (CEC), The Netherlands. IEEE, New York
Martens A, Koziolek H, Becker S, Reussner R (2010) Automatically improve software architecture models for performance, reliability and cost using evolutionary algorithms. In: Proceedings of the first joint WOSP/SIPEW international conference on performance engineering, USA
Bushehrian O (2011) The application of FSP models in automatic optimization of software deployment. In: 18th int conf on analytical and stochastic modelinf techniques and applications (ASMTA 2011), Venice, Italy, Lecture notes in computer science, vol 6751
Koziolek A, Koziolek H, Reussner R (2011) PerOpteryx: automated application of tactics in multi-objective software architecture optimization. In: Proc of the joint ACM SIGSOFT conference QoSA and ACM SIGSOFT symposium ISRACS, QoSA-ISARCS ’11, USA. ACM, New York
Koziolek A, Noorshams Q, Reussner R (2011) Foccussing multi-objective software architecture optimization using QoS bounds. In: Models in software engineering. Lecture notes in computer science, vol 6627. Springer, Berlin, pp 384–399
Bushehrian O, Ghanbari R (2011) An INLP approach for simulated-based automatic object deployment. In: The 2011 IEEE int symp on computer science and software engineering, Tehran, Iran
Petriu DB, Woodside CM (2002) Analysing software requirements specifications for performance. In: Third int workshop on software and performance, Rome
Petriu DC, Shen H (2002) Applying the UML performance profile: graph grammar based derivation of LQN models from UML specifications. In: Proc of computer performance evaluation: modeling techniques and tools. LNCS, vol 2324
Bennett A, Field J (2004) Performance engineering with the UML profile for schedulability, performance and time: a case-study. In: Proc 12th annual int symposium on modeling, analysis and simulation of computer and telecommunication systems. IEEE, New York
Bushehrian O, Ghaedi H (2011) The application of FSP models in software performance engineering: a multi-threaded case-study. In: IEEE symposium on computers and informatics (ISCI 2011), Malaysia
Ayles T, Field AJ, Magee JN (2003) Adding performance evaluation to the LTSA too. In: Proc 13th int conference on computer performance evaluation: modeling techniques and tools. Lecture notes in computer science, vol 2794
Xu J (2008) Rule-based automatic software performance diagnosis and improvement. In: Proc of WOSP08, USA. ACM, New York
Chih-Chieh H, Devetsikiotis M (2007) An automatic framework for efficient software performance evaluation and optimization. In: 40th annual simulation symposium (ANSS ’07), USA. IEEE, New York
Deb D, Fuad M, Oudshoom MJ (2006) Towards autonomic distribution of existing object oriented programs. In: Proc of conference on autonomic and autonomous systems (ICAS06). IEEE, New York
Aleti A, Bjornander S, Grunske L, Meedeniya I (2009) Archeopterix: an extendable tool for architecture optimization of AADL models. In: International workshop on model-based methodologies for pervasive and embeded software (MOMPES)
Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model driven performance prediction. J Syst Softw 82:3–22
Malek S, Medvidovic N, Mikic-Rakic M (2012) An extendible framework for improving a distributed software system’s deployment architecture. IEEE Trans Softw Eng 38(1):73–100
LINGO users guide. http://www.lindo.com
Magee J, Kramer J (1999) Concurrency: state models and Java programs. Wiley, Chichester
SAS users guide. http://www.sas.com
Koziolek H, Reussner R (2008) A model transformation from the Palladio component model to the layered queueing networks. In: Proc of the SPEC international workshop on performance evaluation: metrics, models and benchmarks SIPEW ’08. Lecture notes in computer science, vol 5119. Springer, Berlin, pp 58–78
Karlsruhe Institue of Tech (KIT). http://sdqweb.ipd.kit.edu
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bushehrian, O., Baghnavi, R.G. Deployment optimization of software objects by design-level delay estimation. J Supercomput 65, 1243–1263 (2013). https://doi.org/10.1007/s11227-013-0880-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-013-0880-4