Page 95 - 《软件学报》2026年第2期
P. 95
574 软件学报 2026 年第 37 卷第 2 期
9. Y ← {x , x ,..., x ′ }; //生成预测窗口
′
′
′
t t t+1 t+H−1
m
10. l , ˆ Y base ← MultiViewPredict(X ,Y ); //计算多视角模型预测值和损失
′
′
t t t t
11. s t ← {X ,L 0 }; //构造当前状态
′
t
12. D ← D∪{(s t−1 ,a t ,r t , s t ,0)}; //存入经验
13. a t ← π θ (s t ); //选取动作
14. for j ← 0 to H −1 do
j
j
15. ω t = Softmax(a t );
∑ N mv +1
j
16. ˆ Y t ensemble [ j] ← ω t [i]· ˆ Y t base [i][ j]; //计算集成预测值
i=1
17. end for
,
18. l ← CalcMSELoss(Y ,{ ˆ Y base ˆ Y ensemble }); //计算集成损失
e
′
t
t
t
t
e
19. r t ← 1−l ;
t
20. if t mod iteration = 0 then
21. UpdateSAC(·);
22. end if
m
e
23. L 0 ← {l ,l };
t t
24. s t−1 ← s t ;
25. end for
26. end for
4 实验评估
本节将介绍实验数据集、对比方法、模型参数设置以及评估指标, 随后将对 SAC-MWF 进行全面评估.
4.1 实验设置
4.1.1 数据集
实验采用两个公开数据集和一个由我们构建的数据集对方法进行评估, 图 14 展示了 3 个数据集的部分工作
负载数据. 各数据集详细介绍如下.
7 000 1 400
50
6 000 1 200
5 000 40 1 000
请求数量 4 000 请求数量 30 请求数量 800
600
3 000
20
2 000
1 000 10 400
200
0 0 0
0 2 000 4 000 6 000 8 00010 000 0 2 000 4 000 6 000 8 000 0 2 000 4 000 6 000 8 000
时间 (s) 时间 (s) 时间 (s)
(a) Azure2021 (b) Google2019 (c) SockShop
图 14 实验数据集工作负载示例
[33]
● AzureFunctionsInvocationTrace2021 (以下简称为 Azure2021): 该数据集记录了 Microsoft Azure 中 Azure
Functions 的调用数据, 包含自 2021 年 1 月 31 日开始两周的函数调用追踪. 本文以 0.125 s 为间隔聚合数据, 统计
每个时间间隔内应用程序被调用的次数.
● GoogleClusterData2019 [34] (以下简称为 Google2019): 该数据集记录了 Google Borg 集群上的工作负载数据,

