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 中用粗体表示最优结果).

