Automatic Identification of Tuning Opportunities for Domain-Specific Compilers Using Decision Trees for Data Mining

Damon Fenacci and Björn Franke
University of Edinburgh


Abstract

Embedded systems have successfully entered a broad variety of application domains such as automotive and industrial control, telecommunications, networking, digital media, consumer equipment, office automation and many more. In this paper we investigate if there exist any fundamental differences between application domains that justify the development and tuning of domain-specific compilers. We develop an automated approach that is capable of identifying domain-specific workload characterizations and presenting them in a readily interpretable format based on decision trees. The generated, platform-specific workload profiles summarize the key resource utilization issues and enable compiler engineers to specifically address the highlighted bottlenecks. We have evaluated our methodology against the industrial EEMBC benchmark suite and three popular embedded processors (Intel StrongARM, ARC 750D, and Freescale MPC7410) and have found that workload profiles differ significantly between embedded application domains. We demonstrate that these characteristics can be exploited for the development of domain-specific compiler optimizations. In a case study we show an average performance improvement of approx. 27% for a class of networking applications.