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  集群上的工作负载数据,
   90   91   92   93   94   95   96   97   98   99   100