An automatic compiler optimizations selection framework for embedded applications

Shih Hao Hung, Chia Heng Tu, Huang Sen Lin, Chi Meng Chen

研究成果: Conference contribution

4 引文 (Scopus)

摘要

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.

原文English
主出版物標題Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009
頁面381-387
頁數7
DOIs
出版狀態Published - 2009 十月 12
事件2009 International Conference on Embedded Software and Systems, ICESS 2009 - Hangzhou, Zhejiang, China
持續時間: 2009 五月 252009 五月 27

出版系列

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

Other

Other2009 International Conference on Embedded Software and Systems, ICESS 2009
國家China
城市Hangzhou, Zhejiang
期間09-05-2509-05-27

指紋

Hardware
Monitoring
Linux

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Software

引用此文

Hung, S. H., Tu, C. H., Lin, H. S., & Chen, C. M. (2009). An automatic compiler optimizations selection framework for embedded applications. 於 Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009 (頁 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, Chia Heng ; 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. 頁 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 Tu, {Chia Heng} 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, CH, Lin, HS & Chen, CM 2009, An automatic compiler optimizations selection framework for embedded applications. 於 Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009., 5066672, Proceedings - 2009 International Conference on Embedded Software and Systems, ICESS 2009, 頁 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, Chia Heng; 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).

研究成果: Conference contribution

TY - GEN

T1 - An automatic compiler optimizations selection framework for embedded applications

AU - Hung, Shih Hao

AU - Tu, Chia Heng

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

AN - SCOPUS:70349682891

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 CH, Lin HS, Chen CM. An automatic compiler optimizations selection framework for embedded applications. 於 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