skip to main content
10.1007/978-3-540-87891-9_4guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Performance Prediction for Black-Box Components Using Reengineered Parametric Behaviour Models

Published: 14 October 2008 Publication History

Abstract

In component-based software engineering, the response time of an entire application is often predicted from the execution durations of individual component services. However, these execution durations are specific for an execution platform (i.e. its resources such as CPU) and for a usage profile. Reusing an existing component on different execution platforms up to now required repeated measurements of the concerned components for each relevant combination of execution platform and usage profile, leading to high effort. This paper presents a novel integrated approach that overcomes these limitations by reconstructing behaviour models with platform-independent resource demands of bytecode components. The reconstructed models are parameterised over input parameter values. Using platform-specific results of bytecode benchmarking, our approach is able to translate the platform-independent resource demands into predictions for execution durations on a certain platform. We validate our approach by predicting the performance of a file sharing application.

References

[1]
Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Experiments in Cost Analysis of Java Bytecode. Electr. Notes Theor. Comput. Sci. 190(1), 67-83 (2007).
[2]
Becker, S., Happe, J., Koziolek, H.: Putting Components into Context - Supporting QoS-Predictions with an explicit Context Model. In: Reussner, R., Szyperski, C., Weck, W. (eds.) WCOP 2006 (June 2006).
[3]
Becker, S., Koziolek, H., Reussner, R.: The Palladio Component Model for Model-Driven Performance Prediction. Journal of Systems and Software (in press, 2008) (accepted manuscript).
[4]
Bertolino, A., Mirandola, R.: CB-SPE Tool: Putting Component-Based Performance Engineering into Practice. In: Crnkovic, I., Stafford, J.A., Schmidt, H.W., Wallnau, K.C. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 233-248. Springer, Heidelberg (2004).
[5]
Binder, W., Hulaas, J.: Flexible and Efficient Measurement of Dynamic Bytecode Metrics. In: GPCE 2006, pp. 171-180. ACM, New York (2006).
[6]
Binder, W., Hulaas, J.: Using Bytecode Instruction Counting as Portable CPU Consumption Metric. Electr. Notes Theor. Comput. Sci. 153(2), 57-77 (2006).
[7]
Bondarev, E., de With, P., Chaudron, M., Musken, J.: Modelling of Input- Parameter Dependency for Performance Predictions of Component-Based Embedded Systems. In: Proceedings of the 31th EUROMICRO Conference (EUROMICRO 2005) (2005).
[8]
Bruneton, E., Lenglet, R., Coupaye, T.: ASM: a code manipulation tool to implement adaptable systems. Adaptable and Extensible Component Systems (2002).
[9]
Courtois, M., Woodside, C.M.: Using regression splines for software performance analysis. In: WOSP 2000, Ottawa, Canada, September 2000, pp. 105-114. ACM, New York (2000).
[10]
Donnell, J.: Java Performance Profiling using the VTune Performance Analyzer (Retrieved 2007-01-18) (2004).
[11]
Ernst, M.D., et al.: The Daikon system for dynamic detection of likely invariants. Science of Computer Programming 69(1-3), 35-45 (2007).
[12]
Harman, M.: The Current State and Future of Search Based Software Engineering. In: Future of Software Engineering, 2007. FOSE 2007, May 23-25, 2007, pp. 342-357 (2007).
[13]
Herder, C., Dujmovic, J.J.: Frequency Analysis and Timing of Java Bytecodes. Technical report, Computer Science Department, San Francisco State University, Technical Report SFSU-CS-TR-00.02 (2000).
[14]
Hrischuk, C.E., Murray Woodside, C., Rolia, J.A.: Trace-based load characterization for generating performance software models. IEEE Transactions Software Engineering 25(1), 122- 135 (1999).
[15]
Hu, E.Y.-S., Wellings, A.J., Bernat, G.: Deriving Java Virtual Machine Timing Models for Portable Worst-Case Execution Time Analysis. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2003. LNCS, vol. 2889, pp. 411-424. Springer, Heidelberg (2003).
[16]
Israr, T., Woodside, M., Franks, G.: Interaction tree algorithms to extract effective architecture and layered performance models from traces. Journal of Systems and Software, 5th International Workshop on Software and Performance 80(4), 474-492 (2007).
[17]
Koza, J.R.: Genetic Programming - On the Programming of Computers by Means of Natural Selection, 3rd edn. MIT Press, Cambridge (1993).
[18]
Kuperberg, M., Becker, S.: Predicting Software Component Performance: On the Relevance of Parameters for Benchmarking Bytecode and APIs. In: Reussner, R., Czyperski, C., Weck, W. (eds.) WCOP 2007 (July 2007).
[19]
Kuperberg, M., Krogmann, M., Reussner, R.: ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations. In: BYTECODE 2008 (2008).
[20]
Lambert, J., Power, J.F.: Platform Independent Timing of Java Virtual Machine Bytecode Instructions. In: Workshop on Quantitative Aspects of Programming Languages, Budapest, Hungary, March 29-30 (2008).
[21]
McMinn, P.: Search-based software test data generation: a survey. Software Testing, Verification and Reliability 14(2), 105-156 (2004).
[22]
Meffert, K.: JGAP - Java Genetic Algorithms Package (last retrieved: 2008-03-18), http://jgap.sourceforge.net/
[23]
Meyerhöfer, M., Meyer-Wegener, K.: Estimating Non-functional Properties of Component-based Software Based on Resource Consumption. Electr. Notes Theor. Comput. Sci. 114, 25-45 (2005).
[24]
Smith, C.U., Williams, L.G.: Performance Engineering Evaluation of Object- Oriented Systems with SPEED. In: Marie, R., Plateau, B., Calzarossa, M.C., Rubino, G.J. (eds.) TOOLS 1997. LNCS, vol. 1245, Springer, Heidelberg (1997).
[25]
Zhang, X., Seltzer, M.: HBench: Java: an application-specific benchmarking framework for Java virtual machines. In: JAVA 2000: Proceedings of the ACM 2000 conference on Java Grande, pp. 62-70. ACM Press, New York (2000).

Cited By

View all
  • (2018)Adaptive DispatchCompanion of the 2018 ACM/SPEC International Conference on Performance Engineering10.1145/3185768.3186406(195-198)Online publication date: 2-Apr-2018
  • (2016)The M3 (measure-measure-model) tool-chain for performance prediction of multi-tier applicationsProceedings of the 2nd International Workshop on Quality-Aware DevOps10.1145/2945408.2945414(30-35)Online publication date: 21-Jul-2016
  • (2015)On the suitability of black-box performance monitoring for SLA-driven cloud provisioning scenariosProceedings of the 14th International Workshop on Adaptive and Reflective Middleware10.1145/2834965.2834971(1-6)Online publication date: 7-Dec-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
CBSE '08: Proceedings of the 11th International Symposium on Component-Based Software Engineering
October 2008
350 pages
ISBN:9783540878902

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 14 October 2008

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2018)Adaptive DispatchCompanion of the 2018 ACM/SPEC International Conference on Performance Engineering10.1145/3185768.3186406(195-198)Online publication date: 2-Apr-2018
  • (2016)The M3 (measure-measure-model) tool-chain for performance prediction of multi-tier applicationsProceedings of the 2nd International Workshop on Quality-Aware DevOps10.1145/2945408.2945414(30-35)Online publication date: 21-Jul-2016
  • (2015)On the suitability of black-box performance monitoring for SLA-driven cloud provisioning scenariosProceedings of the 14th International Workshop on Adaptive and Reflective Middleware10.1145/2834965.2834971(1-6)Online publication date: 7-Dec-2015
  • (2014)Enriching software architecture models with statistical models for performance prediction in modern storage environmentsProceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering10.1145/2602458.2602475(45-54)Online publication date: 27-Jun-2014
  • (2014)Execution cost estimation for software deployment in component-based embedded systemsProceedings of the 17th international ACM Sigsoft symposium on Component-based software engineering10.1145/2602458.2602462(123-128)Online publication date: 27-Jun-2014
  • (2012)Search-based software engineeringACM Computing Surveys10.1145/2379776.237978745:1(1-61)Online publication date: 7-Dec-2012
  • (2011)PerOpteryxProceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS10.1145/2000259.2000267(33-42)Online publication date: 20-Jun-2011
  • (2011)From monolithic to component-based performance evaluation of software architecturesEmpirical Software Engineering10.1007/s10664-010-9142-816:5(587-622)Online publication date: 1-Oct-2011
  • (2010)The relationship between search based software engineering and predictive modelingProceedings of the 6th International Conference on Predictive Models in Software Engineering10.1145/1868328.1868330(1-13)Online publication date: 12-Sep-2010
  • (2009)Automated extraction of palladio component models from running enterprise Java applicationsProceedings of the Fourth International ICST Conference on Performance Evaluation Methodologies and Tools10.4108/ICST.VALUETOOLS2009.7981(1-10)Online publication date: 20-Oct-2009
  • Show More Cited By

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media