Page 96 - 《软件学报》2026年第2期
P. 96

曾文瑄 等: 云计算中基于      SAC  的多视角工作负载预测集成框架                                           575


                 包含了   2019  年  5  月  8  个  Borg  单元若干小时的运行时信息. 本文从中筛选出作业相关信息, 去除其中            time 标签为
                 0  的数据, 以  1 s 为间隔统计用户提交作业请求的数量.
                    ● SockShop: 我们在  Kubernetes 集群中部署开源微服务系统       SockShop, 并使用  Prometheus 收集监控数据. 该
                 数据集包含微服务系统在集群中真实运行约                28 h  的每秒请求数   (requests per second, RPS) 数据. 本文将  RPS  作为
                 负载值用于负载预测任务.
                    数据集按照     6:2:2  比例划分训练集、验证集与测试集, 并通过归一化将数值映射至                  [0, 1] 区间.
                  4.1.2    对比模型
                    为全面评估     SAC-MWF  的有效性, 本文选取      9  类代表性时序预测模型作为基线方法, 包含            3  类传统时序预测
                 模型, 3  类  Transformer 架构模型和  3  类新式模型.
                    ● BiLSTM: 一种改进的    LSTM  架构, 通过双向门控结构同时捕获序列的前向与反向依赖关系.
                    ● GRU: 简化  LSTM  结构, 通过更新门与重置门平衡长短期记忆.
                    ● TCN [35] : 基于因果卷积与扩张卷积提取长期时序特征, 通过残差连接增强深层网络稳定性.
                    ● Crossformer [36] : 设计跨尺度注意力机制, 融合不同时间粒度的特征表示, 强化多分辨率时序建模能力.
                    ● Informer [37] : 采用稀疏注意力与概率采样策略优化      Transformer.
                    ● iTransformer [38] : Informer 的改进版本, 通过通道独立性假设与多层特征交互优化注意力机制.
                    ● SCINet [15] : 基于递归奇偶分解与动态卷积操作, 实现多尺度时序特征解耦与重构.
                    ● TimeMixer [16] : 结合趋势分解与多尺度  MLP  架构, 通过通道-时间混合操作捕获非线性时序关联.
                    ● DLinear [17] : 将序列分解为趋势与残差分量, 分别通过线性层建模.
                  4.1.3    参数设置
                    我们在   PyTorch 2.1.2  平台上使用  Python 3.10  实现了  SAC-MWF  模型框架与实验环境. 具体参数设置如表         1
                 所示. 实验共设置     4  组“历史窗口-预测窗口”组合, 分别为        12-4、24-8、48-16  和  96-48.

                                                     表 1 模型参数设置

                          模型                                          参数
                         全部模型                        learning_rate=0.003, weight_decay=0, 0001, dropout=0.1
                          SAC                   learning_rate=0.001, soft_update_param=0.005, entropy_coefficient=0.1
                         BiLSTM                              hidden_size=256, num_layers=2
                          GRU                                hidden_size=256, num_layers=2
                          TCN                          levels=2, kernel_size=3, hidden_units_per_layer=1
                        Crossformer           enc_in=1, seg_len=12, win_size=2, nheads=2, d_model=128, d_ff=64, factors=5
                         Informer                 enc_in=1, nheads=2, d_model=128, d_ff=512, factors=5, e_layers=2
                        iTransformer                    nheads=2, d_model=128, d_ff=512, e_layers=2
                         SCINet                     hidden_size=64, num_stacks=2, num_levels=2, kernel_size=3
                        TimeMixer                 d_model=128, d_ff=64, down_sampling_window=3, moving_avg=4
                         DLinear                               moving_avg=5, enc_in=1

                  4.1.4    评估指标
                    本文选择均方误差       (MSE) 作为评估指标, 其计算公式为:

                                                          1  N ∑
                                                     MSE =     (ˆy i −y i ) 2                        (30)
                                                          N
                                                            i=1
                 其中, N  为样本数量,   ˆ y i  和  y i  分别对应  i 时刻的预测值与真实值.
                  4.2   有效性实验
                    将  SAC-MWF  框架与  9  个基线模型分别组合, 在      3  个工作负载数据集上进行验证. 表         2−表  5  依次展示了  4  个
                 历史窗口-预测窗口组合下, 各模型在应用            SAC-MWF  前后的   MSE  对比 (表  2−表  5  中用粗体表示最优结果).
   91   92   93   94   95   96   97   98   99   100   101