Page 217 - 《软件学报》2026年第6期
P. 217

2536                                                       软件学报  2026  年第  37  卷第  6  期



                           第 n−1 次迭代                    第 n 次迭代                     第 n+1 次迭代
                             模型训练                         模型训练                       模型训练

                    训练数据收集           模型预测       训练数据收集           模型预测       训练数据收集           模型预测
                                     特征筛选                        特征筛选                         特征筛选
                                  SHAP 值计算                    SHAP 值计算                     SHAP 值计算


                                                                                                    时间
                                              图 5 SHAP  计算开销隐藏机制示意图

                    最后, 对于每个选项      o i ∈O', 算法使用四分位数法    (quartile method) [37] 找到   ¯ ϕ i,j  中的所有潜在异常值, 并将所有
                 潜在异常值对应的特征        o j 并入  O'. 在后续的迭代中, 元搜索策略将使用筛选后的选项集合               O'构造新的搜索空间.
                 四分位数法是一种描述数据分布特性的统计方法, 适用于各种类型的分布, 且不受极端值的影响, 因此可以准确地
                                                          ¯ ϕ i,j  从小到大排序并分为  4  等份, Q 1 表示位于  25%  位置的数
                 反映数据集的集中趋势和离散程度. 具体地, 本文将
                 值, Q 3 表示位于  75%  位置的数值, IQR= Q 3 –Q 1 表示四分位距. 在  SWTuner 的实现中, 任何高于      Q 3 +7.5×IQR  的值
                 都被认为是异常值, 表明该值对应的特征             o j 与  o i 存在显著相关性.
                    为了直观地展示算法        1  的执行流程, 本文仍然使用第        2.2  节中包含  5  个选项的编译调优任务作为示例. 对于
                 如图  4  所示的随机森林模型, 使用       SHAP  框架计算得到的平均       Shapley  值   ¯ ϕ i  以及平均  Shapley  交互值  ¯ ϕ i,j  如表  3
                                 ¯ ϕ i  筛选出  o 1 、o 2 和  o 3 这         ¯ ϕ i,j  筛选出与  o 1 相关程度较高的  o 4 选项. 如
                 所示. 算法首先根据                         3  个重要选项, 然后根据
                 果在选项筛选的过程中仅考虑           Shapley  值, 则  o 4 的重要性很可能会被忽视.

                                       表 3 平均   Shapley  值以及平均  Shapley  交互值计算示例

                                                                     ϕ i, j
                            选项         ϕ i
                                                 o 1       o 2       o 3        o 4       o 5
                             o 1     2.752 7     -        0.006 5   0.009 7   0.123 9   0.007 0
                             o 2     1.992 3    0.006 5    -        0.009 0   0.005 8   0.002 6
                                     1.490 6    0.009 7   0.009 0    -        0.006 3   0.003 1
                             o 3
                             o 4     0.257 1    0.123 9   0.005 8   0.006 3     -       0.002 5
                                     0.249 2    0.007 0   0.002 6   0.003 1   0.002 5     -
                             o 5

                  3   实验与分析

                  3.1   实验环境与测试用例
                    本文以神威新一代超级计算机           [38] 为实验平台, 硬件环境主要包括前端机和计算节点. 前端机配备了                  24  核心
                 的  Intel Xeon E5-2440  处理器  (2.40 GHz), 计算节点为神威新一代众核处理器      SW26010Pro. 通过作业管理系统,
                 SWTuner 元搜索驱动将搜索样本的编译和执行任务提交至计算节点, 而模型训练/推理以及                          SHAP  计算等任务则
                 主要在前端机上通过多进程方式并行执行. 软件环境方面, 本文选择                     swGCC [39] 和  swLLVM [40] 两款主流编译器作
                 为目标编译器, 以验证本文提出的          SWTuner 调优框架的兼容性. 其中, swGCC      版本为   7.1.0, swLLVM  版本为  13.0.0.
                    本文采用    NAS Parallel Benchmarks 3.0 (NPB 3.0) [41] 作为测试用例, 以全面评估  SWTuner 的关键技术有效性以
                 及整体调优效果. NPB 3.0    是美国国家航空航天局开发的一组基准测试程序, 共包含                   8  个测试用例, 涵盖了科学计
                 算中的多种典型算法和工作负载, 常被用来评估高性能计算系统的表现. 考虑到用例执行时间过短可能增加性能
                 测量的相对误差, 本文将       CG、FT、IS、MG    用例的输入规模配置为        A, 其余用例配置为      W.
                    BT  和  CG  是  NPB  中的具有代表性的两个用例, 其中      BT (block tridiagonal) 是典型的计算密集型课题, 主要用
   212   213   214   215   216   217   218   219   220   221   222