Feature Mining for Machine Learning Based Compilation Optimization

Fengqian Li, F. Tang, Yao Shen
{"title":"Feature Mining for Machine Learning Based Compilation Optimization","authors":"Fengqian Li, F. Tang, Yao Shen","doi":"10.1109/IMIS.2014.26","DOIUrl":null,"url":null,"abstract":"Compilation optimization is critical for software performance. Before a product releases, the most effective algorithm combination should be chosen to minimize the object file size or to maximize the running speed. Compilers like GCC usually have hundreds of optimization algorithms, in which they have complex relationships. Different combinations of algorithms will lead to object files with different performance. Usually developers select the combination manually, but it's unpractical since a combination for one project can't be reused for another one. In order to conquer this difficulty some approaches like iterative search, heuristic search and machine learning based optimization have been proposed. However these methods still need improvements at different aspects like speed and precision. This paper researches machine learning based compilation optimization especially on feature processing which is important for machine learning methods. Program features can be divided into static features and dynamic features. Apart from user defined static features, we design a method to generate lots of static features by template and select best ones from them. Furthermore, we observe that feature value changes during different optimization phases and implement a feature extractor to extract feature values at specific phases and predict optimization plan dynamically. Finally, we implement the prototype on GCC version 4.6 with GCC plug in system and evaluate it with benchmarks. The results show that our system has a 5% average speed up for object file running speed than GCC O3 optimization level.","PeriodicalId":345694,"journal":{"name":"2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing","volume":"2 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IMIS.2014.26","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8

Abstract

Compilation optimization is critical for software performance. Before a product releases, the most effective algorithm combination should be chosen to minimize the object file size or to maximize the running speed. Compilers like GCC usually have hundreds of optimization algorithms, in which they have complex relationships. Different combinations of algorithms will lead to object files with different performance. Usually developers select the combination manually, but it's unpractical since a combination for one project can't be reused for another one. In order to conquer this difficulty some approaches like iterative search, heuristic search and machine learning based optimization have been proposed. However these methods still need improvements at different aspects like speed and precision. This paper researches machine learning based compilation optimization especially on feature processing which is important for machine learning methods. Program features can be divided into static features and dynamic features. Apart from user defined static features, we design a method to generate lots of static features by template and select best ones from them. Furthermore, we observe that feature value changes during different optimization phases and implement a feature extractor to extract feature values at specific phases and predict optimization plan dynamically. Finally, we implement the prototype on GCC version 4.6 with GCC plug in system and evaluate it with benchmarks. The results show that our system has a 5% average speed up for object file running speed than GCC O3 optimization level.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
基于机器学习的特征挖掘编译优化
编译优化对软件性能至关重要。在产品发布之前,应该选择最有效的算法组合,以最小化目标文件大小或最大化运行速度。像GCC这样的编译器通常有数百种优化算法,它们之间有着复杂的关系。不同的算法组合将导致具有不同性能的目标文件。通常开发人员手动选择组合,但这是不切实际的,因为一个项目的组合不能在另一个项目中重用。为了克服这一困难,人们提出了迭代搜索、启发式搜索和基于机器学习的优化等方法。然而,这些方法仍然需要在速度和精度等不同方面进行改进。本文对基于机器学习的编译优化进行了研究,特别是对机器学习方法中重要的特征处理进行了研究。程序特征可分为静态特征和动态特征。除了用户自定义静态特征外,我们设计了一种通过模板生成大量静态特征并从中选择最佳静态特征的方法。此外,我们观察到特征值在不同优化阶段的变化,并实现特征提取器来提取特定阶段的特征值并动态预测优化计划。最后,利用GCC插件系统在GCC 4.6版本上实现了原型,并进行了基准测试。结果表明,与GCC O3优化水平相比,我们的系统在目标文件运行速度上平均提高了5%。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Multi-defense Mechanism against DDoS in SDN Based CDNi Extending the EPCIS with Building Automation Systems: A New Information System for the Internet of Things A Survey of Green, Energy-Aware Security and Some of Its Recent Developments in Networking and Mobile Computing A Dual-Path-Based Data Aggregation Scheme for Grid-Based Wireless Sensor Networks Minimum Cost Content Object Reconstruction in Multi-tier Servers
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1