Skip to main content

Profile-Guided Composition

  • Conference paper
Software Composition (SC 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4954))

Included in the following conference series:

Abstract

We present an approach that generates context-aware, optimized libraries of algorithms and data structures. The search space contains all combinations of implementation variants of algorithms and data structures including dynamically switching and converting between them. Based on profiling, the best implementation for a certain context is precomputed at deployment time and selected at runtime. In our experiments, the profile-guided composition outperforms the individual variants in almost all cases.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Alexandrescu, A.: Modern C++ design: generic programming and design patterns applied. Addison-Wesley, Reading (2001)

    Google Scholar 

  2. Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press, Cambridge (2000)

    Google Scholar 

  3. Eriksson, M., Kessler, C., Chalabine, M.: Load balancing of irregular parallel divide-and-conquer algorithms in group-spmd programming environments. In: PASA 2006, 8th Workshop on Parallel Systems and Algorithms. Lecture Notes in Informatics (LNI), GI vol. P-81 (2006)

    Google Scholar 

  4. Frick, A., Goos, G., Neumann, R., Zimmermann, W.: Construction of robust class hierarchies. Software Practice and Experience 30(5), 481–543 (2000)

    Article  MATH  Google Scholar 

  5. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  6. Kessler, C., Löwe, W.: A framework for performance-aware composition of explicitly parallel components. In: Proc. ParCo 2007, Parallel Computing: Architectures, Algorithms and Applications, Jülich/Aachen, Germany, IOS Press, Amsterdam (2008)

    Google Scholar 

  7. Kiczales, G.: Aspect-oriented programming. ACM Comput. Surv. 28(4), 154 (1996)

    Article  Google Scholar 

  8. Li, X., Garzarán, M.J., Padua, D.: A dynamically tuned sorting library. In: CGO 2004: Int. Symp. on Code Generation and Optimization, p. 111 (2004)

    Google Scholar 

  9. Löwe, W., Neumann, R., Trapp, M., Zimmermann, W.: Robust dynamic exchange of implementation aspects. In: TOOLS 29—Technology of Object-Oriented Languages and Systems, pp. 351–360. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  10. Mehlhorn, K., Näher, S.: Leda: a platform for combinatorial and geometric computing. Commun. ACM 38(1), 96–102 (1995)

    Article  Google Scholar 

  11. Millstein, T.: Practical predicate dispatch. SIGPLAN Not. 39(10), 345–364 (2004)

    Article  Google Scholar 

  12. Schultz, U., Lawall, J., Consel, C., Muller, G.: Towards automatic specialization of Java programs. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 367–390. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Smaragdakis, Y., Batory, D.: Implementing layered designs with mixin layers. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 550–570. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  14. Strassen, V.: Gaussian elimination is not optimal. Numerische Mathematik 14(3), 354–356 (1969)

    Article  MathSciNet  Google Scholar 

  15. Yu, H., Rauchwerger, L.: An adaptive algorithm selection framework for reduction parallelization. IEEE Transactions on Parallel and Distributed Systems PDS-17(10), 1084–1096 (2006)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Cesare Pautasso Éric Tanter

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Andersson, J., Ericsson, M., Kessler, C., Löwe, W. (2008). Profile-Guided Composition. In: Pautasso, C., Tanter, É. (eds) Software Composition. SC 2008. Lecture Notes in Computer Science, vol 4954. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78789-1_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-78789-1_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-78788-4

  • Online ISBN: 978-3-540-78789-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics