Skip to main content
Log in

Deployment optimization of software objects by design-level delay estimation

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Woodside M, Franks G, Petriu D (2007) The future of software performance engineering. In: Int conference on software engineering. IEEE, New York

    Google Scholar 

  2. Menasce DA, Almeida VAF, Dowdy LW (2004) Performance by design: computer capacity planning by example. Prentice Hall, New York

    Google Scholar 

  3. 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

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. 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

    Google Scholar 

  10. Petriu DB, Woodside CM (2002) Analysing software requirements specifications for performance. In: Third int workshop on software and performance, Rome

  11. 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

    Google Scholar 

  12. 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

    Google Scholar 

  13. 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

    Google Scholar 

  14. 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

    Google Scholar 

  15. Xu J (2008) Rule-based automatic software performance diagnosis and improvement. In: Proc of WOSP08, USA. ACM, New York

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model driven performance prediction. J Syst Softw 82:3–22

    Article  Google Scholar 

  20. 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

    Article  Google Scholar 

  21. LINGO users guide. http://www.lindo.com

  22. Magee J, Kramer J (1999) Concurrency: state models and Java programs. Wiley, Chichester

    MATH  Google Scholar 

  23. SAS users guide. http://www.sas.com

  24. 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

    Chapter  Google Scholar 

  25. Karlsruhe Institue of Tech (KIT). http://sdqweb.ipd.kit.edu

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Omid Bushehrian.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-013-0880-4

Keywords

Navigation