ALIC: A Low Overhead Compiler Optimization Prediction Model

ALIC: A Low Overhead Compiler Optimization Prediction Model
复制标题

DOI:
10.1007/s11277-018-5479-x
复制
发表时间:
2018-02
影响因子:
2.2
通讯作者:
Hui Liu;Rongcai Zhao;Qi Wang;Yingying Li
Hui Liu;Rongcai Zhao;Qi Wang;Yingying Li
中科院分区:
计算机科学4区
文献类型:
--
作者:
Hui Liu;Rongcai Zhao;Qi Wang;Yingying Li

文献摘要

被引文献

相似文献

基于机器学习的迭代编译可以自动预测新程序的最佳优化。然而,高效的预测模型往往需要重复训练,这导致了较高的训练时间开销,极大地影响了该技术的广泛应用。现有的预测模型构建方法往往采用随机样本搜索策略,容易造成数据冗余。此外,由于运行时噪声的影响,样本程序受到固定数量的重复观测。然而,在噪声很小的情况下,重复观测将导致迭代编译时间开销的严重浪费。因此,如何有效地收集最优预测模型样本,选择合适的样本观测数是减少迭代编译开销的关键问题。提出了一种低开销的迭代编译优化参数预测模型ALIC。首先,采用基于特征类相关性的静态-动态特征表示方法对目标程序进行描述,并利用分类器构造初始优化预测模型。然后对每个样本采用动态样本观测数策略。从候选样本集中选择最有利的样本进行标记,每标记一次就相当于增加样本观测值的个数。最后,在主动学习候选样本的中间预测模型的基础上,构建优化预测模型。实验结果表明,在Intel Xeon E5520和中国神威26010平台上,ALIC模型对新程序的优化参数进行预测,在Xeon平台上平均性能提高1.38倍(ICC14.0编译器),1.35倍(GCC5.4编译器),在神威平台上平均性能提高1.42倍(SW编译器)。此外,ALIC模型可以显着减少迭代编译训练时间开销比现有的方法。
Iterative compilation based on machine learning can automatically predict the best optimization for the new programs. However, the efficient prediction models often require repetitive training, which leads to a higher training time overheads, and greatly affects the widespread utilization of the technology. The existing approaches in the prediction model construction often use random sample search strategy, which easily lead to data redundancy. In addition, due to the effect of run-time noises, the sample program is subjected to a fixed number of repetitive observations. However, in the case there is very little noises, the repetitive observations will result in a serious waste of iterative compilation time overheads. Therefore, how to effectively collect the optimal prediction model samples and choose the appropriate sample observations number are the key problem of reducing the iterative compilation overheads. We propose a low overheads iterative compilation optimization parameters prediction model ALIC. First, we describe the target programs by static-dynamic features representation based on feature-class relevance, and construct an initial optimization prediction model by the classifier. Then we use a dynamic number of sample observations strategy for each sample. The most profitable sample from the candidate samples set is selected and marked, each mark is equivalent to increase the number of sample observations. Finally, the optimization prediction model is constructed based on the intermediate prediction model that learns candidate samples actively. The experimental results show that when predicting optimization parameters for the new programs on Intel Xeon E5520 and Chinese Shenwei 26010 platforms, the ALIC model generates 1.38× (by ICC14.0 compiler), 1.35× (by GCC5.4 compiler) average performance improvement on the Xeon platform, and 1.42× (by SW compiler) on the Shenwei Platform. In addition, the ALIC model can significantly reduce the iterative compilation training time overheads than the existing approaches.