From Source Code to Runtime Behaviour: Software Metrics Help to Select the Computer Architecture.

  • Frank EichingerEmail author
  • David Kramer
  • Klemens Böhm
  • Wolfgang Karl
Conference paper


The decision which hardware platform to use for a certain application is an important problem in computer architecture. This paper reports on a study where a data-mining approach is used for this decision. It relies purely on source-code characteristics, to avoid potentially expensive program executions. One challenge in this context is that one cannot infer how often functions that are part of the application are typically executed. The main insight of this study is twofold: (a) Source-code characteristics are sufficient nevertheless. (b) Linking individual functions with the runtime behaviour of the program as a whole yields good predictions. In other words, while individual data objects from the training set may be quite inaccurate, the resulting model is not.


Source Code Computer Architecture Target Class Program Level Memory Hierarchy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, F.E.: Control Flow Analysis. In: Proc. of a Symposium on Compiler Optimization, SIGPLAN Notices, pp. 1–19 (1970)Google Scholar
  2. 2.
    Castillo, P.A., Mora, A.M., Guervós, J.J.M., Laredo, J.L.J., Moretó, M., Cazorla, F.J., Valero, M., McKee, S.A.: Architecture Performance Prediction Using Evolutionary Artificial Neural Networks. In: Proc. of the European Workshop on Bio-Inspired Heuristics for Design Automation (EvoHOT) (2008)Google Scholar
  3. 3.
    Eichinger, F., Böhm, K.: Selecting Computer Architectures by Means of Control-Flow-Graph Mining. In: Proc. of the Int. Symposium on Intelligent Data Analysis (IDA) (2009)Google Scholar
  4. 4.
    Henning, J.L.: SPEC CPU 2006 Memory Footprint. SIGARCH Comput. Archit. News 35(1), 84–89 (2007)CrossRefGoogle Scholar
  5. 5.
    Hoste, K., Phansalkar, A., Eeckhout, L., Georges, A., John, L.K., Bosschere, K.D.: Performance Prediction Based on Inherent Program Similarity. In: Proc. of the Int. Conf. on Parallel Architectures and Compilation Techniques (PACT) (2006)Google Scholar
  6. 6.
    İpek, E., McKee, S.A., Singh, K., Caruana, R., de Supinski, B.R., Schulz, M.: Efficient Architectural Design Space Exploration via Predictive Modeling. ACM Trans. Archit. Code Optim. 4(4), 1–34 (2008)Google Scholar
  7. 7.
    Jones, C.: Applied Software Measurement. McGraw-Hill (2008)Google Scholar
  8. 8.
    Joshi, A., Phansalkar, A., Eeckhout, L., John, L.: Measuring Benchmark Similarity Using Inherent Program Characteristics. IEEE Trans. Computers 55(6), 769–782 (2006)CrossRefGoogle Scholar
  9. 9.
    Kühnemann, M., Rauber, T., Runger, G.: A Source Code Analyzer for Performance Prediction. In: Proc. of the Int. Parallel and Distributed Processing Symposium (IPDPS) (2004)Google Scholar
  10. 10.
    Kuncheva, L.I.: Combining Pattern Classifiers: Methods and Algorithms. Wiley (2004)Google Scholar
  11. 11.
    McCabe, T.: A Complexity Measure. IEEE Trans. Software Eng. 2 (4), 308–320 (1976)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Ottenstein, K.J., Ottenstein, L.M.: The Program Dependence Graph in a Software Development Environment. SIGSOFT Softw. Eng. Notes 9(3), 177–184 (1984)CrossRefGoogle Scholar
  13. 13.
    Quinlan, J.R.: C4.5: Programs for Machine Learning. Morgan Kaufmann (1993)Google Scholar
  14. 14.
    Saavedra, R.H., Smith, A.J.: Analysis of Benchmark Characteristics and Benchmark Performance Prediction. ACM Trans. Comput. Syst. 14(4), 344–384 (1996)CrossRefGoogle Scholar
  15. 15.
    Shepperd, M.: A Critique of Cyclomatic Complexity as a Software Metric. Software Engineering Journal 3(2), 30–36 (1988)CrossRefGoogle Scholar
  16. 16.
    Singh, K., İpek, E., McKee, S.A., de Supinski, B.R., Schulz, M., Caruana, R.: Predicting Parallel Application Performance via Machine Learning Approaches. Concurrency and Computation: Practice and Experience 19(17), 2219–2235 (2007)CrossRefGoogle Scholar
  17. 17.
    Ye, D., Ray, J., Kaeli, D.: Characterization of File I/O Activity for SPEC CPU 2006. SIGARCH Comput. Archit. News 35(1), 112–117 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag London 2010

Authors and Affiliations

  • Frank Eichinger
    • 1
    Email author
  • David Kramer
    • 2
  • Klemens Böhm
    • 1
  • Wolfgang Karl
    • 2
  1. 1.Institute for Program Structures and Data Organisation (IPD)Universität Karlsruhe (TH)KarlsruheGermany
  2. 2.Institute for Computer Science and Engineering (ITEC)Universität Karlsruhe (TH)KarlsruheGermany

Personalised recommendations