Accurate software performance estimation using domain classification and neural networks

  • Authors:
  • Márcio Seiji Oyamada;Felipe Zschornack;Flávio Rech Wagner

  • Affiliations:
  • Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil and Universidade Estadual do Oeste do Paraná, Cascavel, Brazil;Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil;Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil

  • Venue:
  • SBCCI '04 Proceedings of the 17th symposium on Integrated circuits and system design
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

For the design of an embedded system, there is a variety of available processors, each one offering a different trade-off concerning factors such as performance and power consumption. High-level performance estimation of the embedded software implemented in a particular architecture is essential for a fast design space exploration, including the choice of the most appropriate processor. However, advanced architectures present many features, such as deep pipelines, branch prediction mechanisms and cache sizes, that have a non-linear impact on the execution time, which becomes hard to evaluate. In order to cope with this problem, this paper presents a neural network based approach for high-level performance estimation, which easily adapts to the non-linear behavior of the execution time in such advanced architectures. A method for automatic classification of applications is proposed, based on topological information extracted from the control flow graph of the application, enabling the utilization of domain-specific estimators and thus resulting in more accurate estimates. Practical experiments on a variety of benchmarks show estimation results with a mean error of 6.41% and a maximum error of 32%, which is more precise than previous work based on linear and non-linear approaches.