Abstract
Context-Aware Composition allows to automatically select optimal variants of algorithms, data-structures, and schedules at runtime using generalized dynamic Dispatch Tables. These tables grow exponentially with the number of significant context attributes. To make Context-Aware Composition scale, we suggest four alternative implementations to Dispatch Tables, all well-known in the field of machine learning: Decision Trees, Decision Diagrams, Naive Bayes and Support Vector Machines classifiers. We assess their decision overhead and memory consumption theoretically and practically in a number of experiments on different hardware platforms. Decision Diagrams turn out to be more compact compared to Dispatch Tables, almost as accurate, and faster in decision making. Using Decision Diagrams in Context-Aware Composition leads to a better scalability, i.e., Context-Aware Composition can be applied at more program points and regard more context attributes than before.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Hirschfeld, R., Costanza, P., Nierstrasz, O.: Context-oriented programming. Journal of Obj. Tech. ETH Zurich 7(3), 125–151 (2008)
Costanza, P., Hirschfeld, R.: Language constructs for context-oriented programming: an overview of contextl. In: Proc. of the 2005 Symposium on Dynamic Lang, pp. 1–10. ACM, New York (2005)
Nilsson, N.J.: Introduction to machine learning: An early draft of proposed text book. Stanford University, Stanford (1996)
Han, J., Kamber, M.: Data Mining: Concepts and Techniques, 2nd edn. The Morgan Kaufmann Series in Data Management Systems. Morgan Kaufmann, San Francisco (2000)
Moshkov, M.: Algorithms for constructing of decision trees. In: Komorowski, J., Żytkow, J.M. (eds.) PKDD 1997. LNCS, vol. 1263, pp. 335–342. Springer, Heidelberg (1997)
Rokach, L., Maimon, O.: Data Mining with Decision Trees: Theory and Applications. World Scientific, Singapore (2008)
Bryant, R.E.: Symbolic boolean manipulation with ordered binary-decision diagrams. ACM Computing Surveys 24, 293–318 (1992)
Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers 35, 677–691 (1986)
Johnson, S.: Branching programs and binary decision diagrams: theory and applications by Ingo Wegener society for industrial and applied mathematics, vol. 41, pp. 36–38. ACM, New York (2010)
Mitchell, T.M.: Machine Learning. McGraw-Hill, New York (1997)
Keogh, E.J., Pazzani, M.J.: Learning augmented bayesian classifiers: A comparison of distribution-based and classification-based approaches (1999)
Cortes, C., Vapnik, V.: Support-vector networks. Mach. Learn. 20, 273–297 (1995)
Chang, C.-C., Lin, C.-J.: Libsvm – a library for support vector machines. National Taiwan University, Dep. of Comp. Science and Inf. Eng. (2001)
Hsu, C.-W., Chang, C.-C., Lin, C.-J.: A practical guide to support vector classification. National Taiwan University, Dep. of Comp. Science, Tech. Rep. (2003)
Kramer, K.A., Hall, L.O., Goldgof, D.B., Remsen, A., Luo, T.: Fast support vector machines for continuous data. Trans. Sys. Man Cyber. 39, 989–1001 (2009)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. The MIT Press, New York (2001)
Quinlan, J.R.: C4.5: programs for machine learning. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (1993)
Andersson, J., Ericsson, M., Kessler, C.W., Löwe, W.: Profile-guided composition. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 157–164. Springer, Heidelberg (2008)
von Löwis, M., Denker, M., Nierstrasz, O.: Context-oriented programming: beyond layers. In: Proc. of the 2007 Int. Conf. on Dynamic lang.: in conjunction with the 15th Int. Smalltalk Joint Conf. 2007, pp. 143–156. ACM, New York (2007)
Moura, J.M.F., Johnson, J., Johnson, R.W., Padua, D., Prasanna, V.K., Püschel, M., Singer, B., Veloso, M., Xiong, J.: Generating platform-adapted DSP libraries using SPIRAL. In: High Performance Embedded Computing, HPEC (2001)
Moura, J.M.F., Johnson, J., Johnson, R.W., Padua, D., Prasanna, V.K., Püschel, M., Veloso, M.: SPIRAL: Automatic implementation of signal processing algorithms. In: High Performance Embedded Computing, HPEC (2000)
Li, X., Garzarán, M.J., Padua, D.: A dynamically tuned sorting library. In: Proc. CGO 2004, Palo Alto, CA, USA, pp. 111–124 (2004)
Brewer, E.A.: High-level optimization via automated statistical modeling. In: PPoPP 1995 (1995)
Thomas, N., Tanase, G., Tkachyshyn, O., Perdue, J., Amato, N.M., Rauchwerger, L.: A framework for adaptive algorithm selection in STAPL. In: Proc. ACM SIGPLAN Symp. on Princ. and Pract. of Parallel Programming, pp. 277–288. ACM, New York (2005)
Yu, H., Rauchwerger, L.: An adaptive algorithm selection framework for reduction parallelization. IEEE Trans. Par. Distr. Syst. 17, 1084–1096 (2006)
Kessler, C., Löwe, W.: A framework for performance-aware composition of explicitly parallel components. In: Bischof, C., et al. (eds.) ParCo-2007: Jülich/Aachen Parallel Computing: Architectures, Algorithms and Applications. Advances in Parallel Computing Series, vol. 15, pp. 227–234. IOS Press, Amsterdam (2008)
Kessler, C., Löwe, W.: Optimized composition of performance-aware parallel components. In: 15th Workshop on Compilers for Parallel Computing CPC, July 7-9. University of Technology, Vienna (2010)
Olszewski, M., Voss, M.: An install-time system for the automatic generation of optimized parallel sorting algorithms. In: Proc. PDPTA 2004, vol. 1 (June 2004)
Ansel, J., Chan, C.P., Wong, Y.L., Olszewski, M., Zhao, Q., Edelman, A., Amarasinghe, S.P.: PetaBricks: a language and compiler for algorithmic choice. In: Proc. ACM SIGPLAN Conf. on Progr. Language Design and Implem, pp. 38–49. ACM, New York (2009)
Wernsing, J.R., Stitt, G.: Elastic computing: a framework for transparent, portable, and adaptive multi-core heterogeneous computing. In: Proc. ACM Conf. on Lang, compilers, and tools for embedded systems (LCTES 2010), pp. 115–124. ACM, New York (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Danylenko, A., Kessler, C., Löwe, W. (2011). Comparing Machine Learning Approaches for Context-Aware Composition. In: Apel, S., Jackson, E. (eds) Software Composition. SC 2011. Lecture Notes in Computer Science, vol 6708. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22045-6_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-22045-6_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22044-9
Online ISBN: 978-3-642-22045-6
eBook Packages: Computer ScienceComputer Science (R0)