An automatic compiler optimizations selection framework for embedded applications

Shih Hao Hung, ChiaHeng Tu, Huang Sen Lin, Chi Meng Chen

Research output: Chapter in Book/Report/Conference proceedingConference contribution

4 Citations (Scopus)

Abstract

Optimizing compilers provide users with compiler options to maximize program performance. The selection of compiler options is important as the resulted performance can vary significantly. The best combination of compiler options is not only dependent on the program itself, but it also is highly related to the configuration of the system and the architecture of the processor that the program runs on. The determination of the best combination of compiler options is very complicated, as its complexity grows exponentially with the number of the optimization options the compiler offers. Many previous work attempts to shorten the search time by reducing the complexity of the problem. However, most of them focus on computational intensive applications, which run with little or no invocation of kernel functions and device input/output activities, which often dominate system performance in specific embedded environment, such as network appliance. This paper aims at system-wide compiler optimizations selection for embedded applications. We proposed an automated framework to judiciously select the compiler options not only for the control software in the user space but also for the associated kernel functions which perform the I/O operations for an embedded application. For this framework, we implemented compiler optimization selection algorithms and evaluated its efficiencies with and without performance monitoring hardware support. We argue that our framework is a platform-independent and system-level compiler options selection framework. Our experience in optimizing the performance of the embedded application on a production storage appliance show that an I/O-intensive application composed by various kernel modules device drivers under Linux can be optimized effectively and systematically.

Original languageEnglish
Title of host publicationProceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009
Pages381-387
Number of pages7
DOIs
Publication statusPublished - 2009 Oct 12
Event2009 International Conference on Embedded Software and Systems, ICESS 2009 - Hangzhou, Zhejiang, China
Duration: 2009 May 252009 May 27

Publication series

NameProceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009

Other

Other2009 International Conference on Embedded Software and Systems, ICESS 2009
CountryChina
CityHangzhou, Zhejiang
Period09-05-2509-05-27

Fingerprint

Hardware
Monitoring
Linux

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Software

Cite this

Hung, S. H., Tu, C., Lin, H. S., & Chen, C. M. (2009). An automatic compiler optimizations selection framework for embedded applications. In Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009 (pp. 381-387). [5066672] (Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009). https://doi.org/10.1109/ICESS.2009.86
Hung, Shih Hao ; Tu, ChiaHeng ; Lin, Huang Sen ; Chen, Chi Meng. / An automatic compiler optimizations selection framework for embedded applications. Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009. 2009. pp. 381-387 (Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009).
@inproceedings{d03aa754e44d4b788ea1d98b7f1cf090,
title = "An automatic compiler optimizations selection framework for embedded applications",
abstract = "Optimizing compilers provide users with compiler options to maximize program performance. The selection of compiler options is important as the resulted performance can vary significantly. The best combination of compiler options is not only dependent on the program itself, but it also is highly related to the configuration of the system and the architecture of the processor that the program runs on. The determination of the best combination of compiler options is very complicated, as its complexity grows exponentially with the number of the optimization options the compiler offers. Many previous work attempts to shorten the search time by reducing the complexity of the problem. However, most of them focus on computational intensive applications, which run with little or no invocation of kernel functions and device input/output activities, which often dominate system performance in specific embedded environment, such as network appliance. This paper aims at system-wide compiler optimizations selection for embedded applications. We proposed an automated framework to judiciously select the compiler options not only for the control software in the user space but also for the associated kernel functions which perform the I/O operations for an embedded application. For this framework, we implemented compiler optimization selection algorithms and evaluated its efficiencies with and without performance monitoring hardware support. We argue that our framework is a platform-independent and system-level compiler options selection framework. Our experience in optimizing the performance of the embedded application on a production storage appliance show that an I/O-intensive application composed by various kernel modules device drivers under Linux can be optimized effectively and systematically.",
author = "Hung, {Shih Hao} and ChiaHeng Tu and Lin, {Huang Sen} and Chen, {Chi Meng}",
year = "2009",
month = "10",
day = "12",
doi = "10.1109/ICESS.2009.86",
language = "English",
isbn = "9780769536781",
series = "Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009",
pages = "381--387",
booktitle = "Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009",

}

Hung, SH, Tu, C, Lin, HS & Chen, CM 2009, An automatic compiler optimizations selection framework for embedded applications. in Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009., 5066672, Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009, pp. 381-387, 2009 International Conference on Embedded Software and Systems, ICESS 2009, Hangzhou, Zhejiang, China, 09-05-25. https://doi.org/10.1109/ICESS.2009.86

An automatic compiler optimizations selection framework for embedded applications. / Hung, Shih Hao; Tu, ChiaHeng; Lin, Huang Sen; Chen, Chi Meng.

Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009. 2009. p. 381-387 5066672 (Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - An automatic compiler optimizations selection framework for embedded applications

AU - Hung, Shih Hao

AU - Tu, ChiaHeng

AU - Lin, Huang Sen

AU - Chen, Chi Meng

PY - 2009/10/12

Y1 - 2009/10/12

N2 - Optimizing compilers provide users with compiler options to maximize program performance. The selection of compiler options is important as the resulted performance can vary significantly. The best combination of compiler options is not only dependent on the program itself, but it also is highly related to the configuration of the system and the architecture of the processor that the program runs on. The determination of the best combination of compiler options is very complicated, as its complexity grows exponentially with the number of the optimization options the compiler offers. Many previous work attempts to shorten the search time by reducing the complexity of the problem. However, most of them focus on computational intensive applications, which run with little or no invocation of kernel functions and device input/output activities, which often dominate system performance in specific embedded environment, such as network appliance. This paper aims at system-wide compiler optimizations selection for embedded applications. We proposed an automated framework to judiciously select the compiler options not only for the control software in the user space but also for the associated kernel functions which perform the I/O operations for an embedded application. For this framework, we implemented compiler optimization selection algorithms and evaluated its efficiencies with and without performance monitoring hardware support. We argue that our framework is a platform-independent and system-level compiler options selection framework. Our experience in optimizing the performance of the embedded application on a production storage appliance show that an I/O-intensive application composed by various kernel modules device drivers under Linux can be optimized effectively and systematically.

AB - Optimizing compilers provide users with compiler options to maximize program performance. The selection of compiler options is important as the resulted performance can vary significantly. The best combination of compiler options is not only dependent on the program itself, but it also is highly related to the configuration of the system and the architecture of the processor that the program runs on. The determination of the best combination of compiler options is very complicated, as its complexity grows exponentially with the number of the optimization options the compiler offers. Many previous work attempts to shorten the search time by reducing the complexity of the problem. However, most of them focus on computational intensive applications, which run with little or no invocation of kernel functions and device input/output activities, which often dominate system performance in specific embedded environment, such as network appliance. This paper aims at system-wide compiler optimizations selection for embedded applications. We proposed an automated framework to judiciously select the compiler options not only for the control software in the user space but also for the associated kernel functions which perform the I/O operations for an embedded application. For this framework, we implemented compiler optimization selection algorithms and evaluated its efficiencies with and without performance monitoring hardware support. We argue that our framework is a platform-independent and system-level compiler options selection framework. Our experience in optimizing the performance of the embedded application on a production storage appliance show that an I/O-intensive application composed by various kernel modules device drivers under Linux can be optimized effectively and systematically.

UR - http://www.scopus.com/inward/record.url?scp=70349682891&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=70349682891&partnerID=8YFLogxK

U2 - 10.1109/ICESS.2009.86

DO - 10.1109/ICESS.2009.86

M3 - Conference contribution

SN - 9780769536781

T3 - Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009

SP - 381

EP - 387

BT - Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009

ER -

Hung SH, Tu C, Lin HS, Chen CM. An automatic compiler optimizations selection framework for embedded applications. In Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009. 2009. p. 381-387. 5066672. (Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009). https://doi.org/10.1109/ICESS.2009.86