2. 中石化胜利油田分公司 信息化管理中心, 东营 257001;
3. 中石化胜利石油管理局有限公司 信息化技术服务中心, 东营 257001
2. Information Management Center, Sinopec Shengli Oilfield Branch, Dongying 257001, China;
3. Information Technology Service Center, Sinopec Shengli Petroleum Management Bureau Co. Ltd., Dongying 257001, China
随着网络技术的不断进步, 智能终端数量日益增多. 与此同时, 服务数量显著增长, 边缘计算[1]环境下的服务推荐成为研究热点, 而服务推荐的关键是QoS预测问题. 在复杂、动态的边缘计算场景中, 用户随时间移动, 不同时刻接入的服务器不同, 导致边缘服务器的负载持续变化, 从而影响服务的调用. 如: 当某边缘服务器附近的用户增多时, 服务器的负载显著增加, 用户通过该服务器调用服务时QoS显著降低. 此外, 用户在不同时刻调用同一服务的QoS值也存在明显差异. 以往的QoS预测[2–4]利用张量分解学习用户、服务和时间的潜在特征完成预测, 但预测准确性低. 而当前深度学习在推荐系统等领域取得优异成果[5], 特别是使用深度神经模型预测用户点击率, 极大提升了预测效果. 这主要得益于深度神经网络通过多层表示结构有效地提取特征, 从而放大输入中与任务相关的重要因素、限制不相关的因素. 此外, 激活函数的使用增强了深度模型的非线性建模能力, 实现对任意复杂函数的近似, 建立一个高准确度的预测模型. QoS预测和点击率预测极为类似, 因此深度神经模型也适用于QoS预测. 近年来也确实涌现了大量基于深度学习实现QoS预测的研究[6–8].
当前的深度QoS预测方法主要研究使用各种上下文缓解数据稀疏性, 从而提升预测表现. 然而, 边缘计算环境的复杂性、动态性使得当前的方法, 特别是时间感知类的方法仍然存在一些限制.
1) 考虑到边缘计算场景中服务负载的波动, 过高的服务负载会影响用户的QoS体验. 但现有的QoS预测模型没有刻画不同时刻服务的负载状况, 缺乏对负载状况的感知能力.
2) 边缘环境内的用户在每天的相似时间段内趋向于在同一位置范围调用相同的服务, 即存在某种周期. 但现有的方法没有对周期性的感知能力.
为了解决以上挑战, 本文提出了一种深度神经模型 (QPSL)用于实时、准确的QoS预测, 其框架如图1所示. 在一个服务调用中, QPSL不光考虑了用户和服务的影响, 还考虑了随时序变化的服务负载的影响. 具体地, 该模型首先对用户和服务在某一时刻的上下文独热向量进行嵌入操作, 从而得到相应的嵌入向量. 其次, 对同一时刻服务的负载状况进行新的特征表示, 通过时序分解模块挖掘特征表示中的时序信息, 包括趋势项、季节项. 卷积层基于趋势项、季节项叠加得到的特征进行局部交互, 从而过滤出较重要的因素, 获得对周期性的感知能力. BiLSTM接收局部交互的结果, 学习任一时刻的关键因素与状态向量的关系以及整个时间序列上的时序关系, 增强周期性感知能力. Attention层区分不同时刻的状态向量的重要程度, 获取不同时刻的周期信息对未来时刻的影响. 最后, 感知层基于嵌入向量和Attention层的输出实现多个属性的实时预测.
本文的主要贡献如下.
1) 本文通过对服务负载状况进行特征表示, 刻画边缘系统中负载的时序变化, 完善对负载状况的感知能力. 而时序分解模块以及CNN-BiLSTM-Attention层的提出实现并提升了模型的周期感知能力.
2) 本文提出了QPSL深度神经模型, 用于充分挖掘和学习服务负载下的周期性信息, 从而利用服务负载这一辅助信息实时预测QoS.
3) 在真实的数据集上进行了大量的实验, 结果表明QPSL使响应时间和吞吐量任务上的MAE分别平均提升了10.28%和10.87%, 说明了QPSL的有效性.
1 相关工作近年来, 边缘计算的相关研究备受关注, 因为它弥补了云计算的缺陷. 随着边缘计算的发展, 边缘计算环境下的QoS预测逐渐吸引到相关人员.
由于边缘环境中用户频繁移动, 边缘环境中的QoS预测常常会关注用户移动性. Wang等[9]认为用户的移动性会使QoS预测值偏离真实值, 提出一种新的协同过滤方法, 该方法基于边缘服务器的相似度和距离选择Top-K个相似的邻居, 实现QoS预测. Zhang等[10]尝试基于长短期记忆网络预测用户轨迹, 确定候选边缘服务器, 通过基于位置的协同过滤完成预测. 张鹏程等[11]归纳了移动边缘环境下的一些问题, 并针对这些问题提出了一种移动边缘环境下隐私保护的Web服务QoS预测方法. 用户移动性造成的冷启动使得基于协同过滤的方法在边缘计算环境中使用时存在部分缺陷. Yin等[12]提出了一种混合方法. 首先, 基于改进的自编码器实现对稀疏输入的处理, 并缓解冷启动问题. 之后, 提出一种基于欧氏距离的相似度计算方法, 解决模型过拟合的问题.
边缘环境中观测到的QoS值还有着实时性强的特点, 即网络状况和服务负载频繁波动, 使得用户观测到的QoS经常随时间变化. 时间感知的QoS预测方法由此进入研究者们的视线. 此类方法通常考虑用户、服务、时间这3个维度, 因此主要基于张量分解实现. Zhang等[2]最早提出一种使用张量分解预测QoS的方法WSPred, 该方法利用QoS平均值正则化目标函数. Chen等[3]将QoS数据扩展到时间维度, 并将时间正则化与张量分解结合, 挖掘相邻时间间隔的时间序列特性. Yan等[4]通过截断奇异值分解(SVD)提取QoS矩阵的压缩矩阵, 用于扩展ARIMA模型, 从而同时预测多个QoS值. Wang等[13]认为移动客户端的QoS体验与多维度(时间、空间)相关, 需要挖掘多维QoS数据中的结构关系, 从而提出一种新的张量分解方法. Ngaffo等[14]在当前时间间隔上使用矩阵分解技术实现QoS预测, 而针对连续时间序列, 基于ARIMA模型提出一种预测方法对未来某一时间间隔的QoS进行预测. 张雅倩[15]针对以往的服务质量预测方法存在的问题以及移动边缘环境的特点, 将时间和时空信息先后融合进矩阵分解中.
深度学习在其他领域的成功应用使得研究者们开始探索深度QoS预测. 熊伟等[16]提出一种通用的时空感知的QoS预测方法, 通过深度学习准确建模时间和空间信息. Xiong等[6]提出了一种基于矩阵分解的个性化LSTM预测模型, 分别学习用户侧和服务侧的潜在表示随时间的变化, 从而预测未来时刻的QoS值. 传统的服务质量预测方法很少利用上下文数据或者忽略请求时间信息, 因此这些方法无法很好地捕获依赖因素并准确预测QoS值. 为了解决这个问题, Li等[7]提出一种深度神经网络来感知上下文数据和时间序列信息, 用于在包含显式和隐式因素的动态场景下预测QoS. Zou等[8]提出一种具有门控递归单元(GRU)的深度神经网络, 学习和挖掘用户和服务之间的时间特征. 陈慢慢[17]研究了基于对比学习方法实现对未来时刻QoS预测的任务和基于循环神经网络实现对任意时刻QoS预测的任务.
现有的方法在QoS预测准确性上已经取得优异的成果, 但它们没有考虑边缘计算中服务负载波动的影响, 缺乏负载状况的感知能力. 同时, 也没有充分考虑边缘计算中的周期性, 缺乏周期感知能力.
2 QPSL方法 2.1 输入层我们以元组的形式定义用户-服务调用, 具体如下:
$ \begin{split} {\textit{USI}} = &({\textit{UserID}}, {\textit{ServiceID}}, {\textit{ServerLongitude}}, \\ &{\textit{ServerLatitude}}, {\textit{ServiceLoad}}) \end{split} $ | (1) |
其中,
在
对于
由于上下文独热向量在语义表达上效果较差, 我们使用嵌入层将它映射到低维空间, 从而准确表征独热向量中每个特征的语义信息. 经过嵌入操作后, 每个上下文映射得到一组实值向量
在边缘计算环境中, 任一用户的移动行为在一段长连续时间内具有周期性, 而多名用户的周期性移动构成了服务负载的周期性. 因此, 使用时序分解模块分解时序数据、获取服务负载的周期性信息是必不可少的. 在时间序列分解领域[18], 某一时刻的数据可以视为趋势项、季节项、剩余项等相加或者相乘的结果, 即加法模型或乘法模型.
本文中将任一时刻的服务负载向量(
$ \left\{\begin{gathered} s{l_t} = AvgPool(Padding(sl)) \\ s{l_s} + s{l_r} = sl - s{l_t} \\ \end{gathered}\right. $ | (2) |
在得到趋势项
对于时序特征向量
如图2所示, 首先对
$ \left\{\begin{gathered} {f^1} = ReLU({f^0} \otimes {w_0} + {b_0}) \\ f_p^1 = maxpool({f^1}) \\ {f^2} = ReLU({f^1} \otimes {w_1} + {b_1}) \\ f_p^2 = maxpool({f^2}) \\ \qquad\qquad\qquad \vdots \\ {f^l} = ReLU({f^{l - 1}} \otimes {w_{l - 1}} + {b_{l - 1}}) \\ f_p^l = maxpool({f^l}) \\ \end{gathered} \right.$ | (3) |
其中,
BiLSTM是一种独特的RNN结构, 它由两层LSTM网络组成, 可以同时学习前向和后向的序列特征之间的依赖, 充分感知时间序列数据之间的上下关系. LSTM单元通过遗忘门、更新门、输出门等结构完成单元内的指定任务. 遗忘门、更新门、输出门都是以当前的输入信息和前一个隐藏状态信息作为输入. 遗忘门输出一个[0, 1]范围的值, 输出0代表完全丢弃, 输出1代表完全保留, 从而确定应当丢弃或保留的信息. 在进行遗忘之后, 下一阶段需要更新单元状态中的信息, 这一操作主要由更新门完成. 更新门确定具体的更新内容以及比例, 结合遗忘门的输出以及前一个单元状态, 获取当前的单元状态. 输出门用于产生一个最终的输出(即当前隐藏状态信息). 卷积层处理后的
$ \left\{\begin{gathered} {f_t} = {\textit{Sigmoid}}({w_f} \cdot [{h_{t - 1}}, {x_t}] + {b_f}) \\ {i_t} = {\textit{Sigmoid}}({w_i} \cdot [{h_{t - 1}}, {x_t}] + {b_i}) \\ {{\tilde c}_t} = {\rm{tanh}}({w_c} \cdot [{h_{t - 1}}, {x_t}] + {b_c}) \\ {c_t} = {f_t} \odot {c_{t - 1}} + {i_t} \odot {{\tilde c}_t}, \\ {o_t} = {\textit{Sigmoid}}({w_o} \cdot [{h_{t - 1}}, {x_t}] + {b_o}) \\ {h_t} = {o_t} \odot {\rm{tanh}}({c_t}) \\ \end{gathered}\right. $ | (4) |
其中,
$\left\{ \begin{split} & \overrightarrow {{h_t}} = \overrightarrow {lstm({x_t}, \theta )} \\ & {\text{ }}\overleftarrow {{h_t}} = \overleftarrow {lstm({x_t}, \theta )} \\ & {h_t} = [\overrightarrow {{h_t}} , \overleftarrow {{h_t}} ] \end{split} \right.$ | (5) |
其中,
注意力机制首先应用于图像处理领域[19], 它会根据特征的重要程度分配相应的权重, 使得神经网络具备专注某些特征的能力, 同时解决BiLSTM面临的信息丢失问题. 该部分的计算过程如下所示:
$ \left\{\begin{split} & {\alpha _i} = {\textit{Softmax}}(s({h_i}, Q))= \frac{{\exp ({h^{\rm{T}}_i} \cdot Q)}}{{\displaystyle \sum\nolimits_{j = 1}^{t - 1} {\exp ({h^{\rm{T}}_j} \cdot Q)} }} \\ &{e_{ts}} = \displaystyle \sum\limits_{i = 1}^{t - 1} {{\alpha _i}{h_i}} \end{split} \right.$ | (6) |
其中,
2.5 感知层
为用户提供优质的服务, 总是需要考虑服务质量的多个属性. 如: 响应时间、吞吐量和可靠性等. 这些QoS属性受共同上下文的影响, 彼此高度相关. 但不同的上下文对服务质量属性有不同的影响: 吞吐量对服务器端的情况更敏感, 而响应时间对底层网络的条件更敏感. 为了感知不同的QoS属性, 每个预测任务使用独立的感知模块:
$ \left\{\begin{gathered} e = [{e_c}, {e_{ts}}] \\ qo{s_{{\rm{task}}}} = P{L_{{\rm{task}}}}(e) \\ \end{gathered} \right.$ | (7) |
其中,
通过CNN-BiLSTM-Attention层, QPSL方法可以更好地基于
我们融合两个真实数据集构造边缘环境数据集. 第1个数据集由上海电信提供[20], 可以访问网址 https://github.com/BuptMecMigration/Edge-Computing-Dataset获取. 该数据集记录了用户调用服务的时间信息和接入的服务器的经纬度信息. 第2个数据集是WS-Dream[21], 可在网址 https://github.com/wsdream/wsdream.github.io下载. 该数据集包括142个用户在64个不同时间片调用的4 500个Web服务的QoS. 具体的融合方法借鉴了文献[9]的经验: 首先通过用户ID将两个数据集关联, 然后按照64个时间片展开, 形成时序边缘数据集.
为了保证公平性, 我们搭建统一的实验环境, 具体的配置为Windows 10操作系统、英伟达RTX 2060显卡、因特尔i5-12400F、16 GB运行内存以及PyTorch深度学习框架.
3.2 性能比较我们进行比较实验验证QPSL方法的优越性, 以MAE和RMSE作为评价指标. 此外, 取多次实验结果的平均值作为最终的预测结果. 在基线方法的选择上, 主要选择时间感知类的QoS预测方法, 包括WSPred[2]、SERPRED[4]、PLMF[6]、QSPC[7]、DeepTSQP[8]、TASERM[14]和LMDC[22].
从表1的实验结果可以看出, 所有方法的预测准确性都随着数据密度的增加而提高, 因为数据密度越大, 上下文信息越丰富, 模型可以学习到更多潜在关系. 在基于张量分解的方法中, SERPRED和TASERM总是优于WSPred, 因为它们使用的信息更加丰富, 应对数据稀疏性的效果更好. 此外, 随着数据密度增加, SERPRED相对于TASERM的优越性逐渐消失, 这可以归结为数据量对QoS压缩矩阵的影响. 在基于深度学习的方法中, LMDC在响应时间任务上的预测表现逐渐优于PLMF, 因为LMDC方法需要基于大量数据计算相似度. QSPC的预测表现始终优于LMDC和PLMF, 因为它考虑的上下文因素更充分, 更好地缓解数据稀疏性. DeepTSQP总是优于其他方法, 因为它同时使用了深度神经网络和协同过滤方法. 特别地, 与同样使用深度神经网络和协同过滤方法的LMDC相比, DeepTSQP能够产生更高阶的特征, 从而得到更高的准确性. 基于深度学习的方法始终优于基于张量分解的方法, 这说明深度学习可以捕获时间序列数据中的变化并有效地学习非线性关系, 从而更准确地预测QoS. 最后, 本文提出的QPSL方法在两个任务上始终优于基线方法, 并且使MAE分别提升12.8%和12.92%, RMSE分别提升10.9%和10.12%. 我们认为这主要得益于时序分解模块和CNN-BiLSTM-Attention层的应用. 时序分解模块将
3.3 敏感性分析
(1) 时间窗口的影响
我们在4–18的范围内, 以2为步长改变时间窗口的大小, 探究时间窗口的影响. 如图3所示, 实验结果表明, 当矩阵密度极低时, 较大的时间窗口有利于提供更多的时间调用信息, 更好地挖掘用户与服务之间隐含的非线性关系. 随着矩阵密度增加、时间窗口变大, 预测准确性有进一步提高的趋势. 我们认为这是因为时序分解模块的使用在一定程度上揭示了周期性, 时间窗口越大, 可以获得的周期性信息越丰富.
(2) 时序分解模块性能比较
我们进行消融实验探究时序分解模块的有效性, 并与乘法分解模型进行对比. 如表2所示, 加法分解模型QPSL-A (即QPSL) 的预测性能略微强于乘法分解模型QPSL-M, 我们分析认为加法模型分解后的时序信息更容易被卷积层用于交互产生周期性信息. 此外, 去除时序分解模块的QPSL-W模型预测精度出现下降, 这表明在QPSL方法中, 时序分解模块能有效提取时序数据中的趋势性和季节性信息, 实现方法对周期的初步感知, 从而为QoS预测提供辅助信息.
(3) CNN部分的性能比较
CNN部分在整个CNN-BiLSTM-Attention层中有着重要作用, 它通过局部交互建模出周期性, 同时通过最大池化层找出重要的特征信息, 减少信息的冗余. 对于后续的BiLSTM-Attention处理有着重要影响, 我们采用控制变量的方式去除该部分得到QPSL-C, 基于实验结果对比验证它的效果. 如表3所示, QPSL的预测表现优于QPSL-C, 这说明了CNN部分在提升方法的周期性感知能力上的重要地位.
(4) BiLSTM部分的实验对比
表4对比了在时序学习部分使用LSTM或BiLSTM的效果. 结果表明, 相对于使用LSTM的QPSL-L方法, 使用BiLSTM的QPSL方法的预测精度有一定提升. 这是因为LSTM只学习前向的序列特征之间的依赖, 而BiLSTM可以同时学习前向和后向的依赖, 从而实现对周期感知能力的加强, 能够有效提升预测精度.
(5) Attention部分的影响
为了验证Attention机制的影响, 我们将QPSL模型与去除Attention机制的QPSL-AT模型进行比较, 实验结果如表5所示. 可以看出QPSL的预测表现始终优于QPSL-AT. 我们将其归结为, 注意力机制可以根据过往时刻的周期信息以较高的准确性构造出预测时刻的周期信息, 在高维空间中反映出预测时刻服务的相关信息, 提升预测准确性.
4 总结
实时的QoS预测对于用户即时选择合适的服务具有重要意义. 针对边缘计算中用户频繁移动导致的服务负载动态波动和预测模型周期性感知不足, 本文提出一种基于服务负载实时预测QoS的深度神经模型(QPSL). 它对服务的负载状况进行新的特征表示, 使用时序分解模块和CNN-BiLSTM-Attention层实现对服务负载状况和周期性的感知. 在真实的融合数据集上进行了实验, 实验结果表明, QPSL方法在响应时间和吞吐量任务上分别使MAE平均提升了12.8%和10.92%, 优于现有的时间感知QoS预测方法.
在未来的工作中, 我们计划研究自适应时间窗口的动态QoS预测模型以支持更动态的场景.
[1] |
Filali A, Abouaomar A, Cherkaoui S, et al. Multi-access edge computing: A survey. IEEE Access, 2020, 8: 197017-197046. DOI:10.1109/ACCESS.2020.3034136 |
[2] |
Zhang YL, Zheng ZB, Lyu MR. WSPred: A time-aware personalized QoS prediction framework for Web services. Proceedings of the 22nd IEEE International Symposium on Software Reliability Engineering. Hiroshima: IEEE, 2011. 210–219.
|
[3] |
Chen YP, Zhang YQ, Xia H, et al. A hybrid tensor factorization approach for QoS prediction in time-aware mobile edge computing. Applied Intelligence, 2022, 52(7): 8056-8072. DOI:10.1007/s10489-021-02851-z |
[4] |
Yan C, Zhang YK, Zhong WY, et al. A truncated SVD-based ARIMA model for multiple QoS prediction in mobile edge computing. Tsinghua Science and Technology, 2022, 27(2): 315-324. DOI:10.26599/TST.2021.9010040 |
[5] |
Cai WJ, Wang YF, Ma JH, et al. CAN: Effective cross features by global attention mechanism and neural network for ad click prediction. Tsinghua Science and Technology, 2022, 27(1): 186-195. DOI:10.26599/TST.2020.9010053 |
[6] |
Xiong RB, Wang J, Li ZQ, et al. Personalized LSTM based matrix factorization for online QoS prediction. Proceedings of the 2018 IEEE International Conference on Web Services. San Francisco: IEEE, 2018. 34–41.
|
[7] |
Li BZ, Ye CY, Yu XZ, et al. QoS prediction based on temporal information and request context. Service Oriented Computing and Applications, 2021, 15(3): 231-244. DOI:10.1007/s11761-021-00322-4 |
[8] |
Zou GB, Li TF, Jiang M, et al. DeepTSQP: Temporal-aware service QoS prediction via deep neural network and feature integration. Knowledge-based Systems, 2022, 241: 108062. DOI:10.1016/j.knosys.2021.108062 |
[9] |
Wang SG, Zhao YL, Huang L, et al. QoS prediction for service recommendations in mobile edge computing. Journal of Parallel and Distributed Computing, 2019, 127: 134-144. DOI:10.1016/j.jpdc.2017.09.014 |
[10] |
Zhang HX, Dong YH, Yang YJ. Mobility-aware personalized service recommendation in mobile edge computing. Eurasip Journal on Wireless Communications and Networking, 2021, 2021(1): 196. DOI:10.1186/s13638-021-02068-1 |
[11] |
张鹏程, 金惠颖. 一种移动边缘环境下面向隐私保护QoS预测方法. 计算机学报, 2020, 43(8): 1555-1571. DOI:10.11897/SP.J.1016.2020.01555 |
[12] |
Yin YY, Zhang WP, Xu YS, et al. QoS prediction for mobile edge service recommendation with auto-encoder. IEEE Access, 2019, 7: 62312-62324. DOI:10.1109/ACCESS.2019.2914737 |
[13] |
Wang SG, Ma Y, Cheng B, et al. Multi-dimensional QoS prediction for service recommendations. IEEE Transactions on Services Computing, 2019, 12(1): 47-57. DOI:10.1109/TSC.2016.2584058 |
[14] |
Ngaffo AN, El Ayeb W, Choukair Z. Service recommendation driven by a matrix factorization model and time series forecasting. Applied Intelligence, 2022, 52(1): 1110-1125. DOI:10.1007/s10489-021-02478-0 |
[15] |
张雅倩. 基于时间和位置信息的服务质量预测方法研究[硕士学位论文]. 西安: 西安邮电大学, 2022.
|
[16] |
熊伟, 李兵, 吴钊, 等. 一种时空敏感的QoS预测方法. 计算机学报, 2019, 42(4): 772-785. DOI:10.11897/SP.J.1016.2019.00772 |
[17] |
陈慢慢. 时间感知的Web服务QoS预测方法研究[硕士学位论文]. 杭州: 杭州电子科技大学, 2022.
|
[18] |
Cleveland RB, Cleveland WS, McRae JE, et al. STL: A seasonal-trend decomposition procedure based on LOESS. Journal of Official Statistics, 1990, 6(1): 3-73. |
[19] |
Mnih V, Heess N, Graves A, et al. Recurrent models of visual attention. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014. 2204–2212.
|
[20] |
Wang SG, Guo Y, Zhang N, et al. Delay-aware microservice coordination in mobile edge computing: A reinforcement learning approach. IEEE Transactions on Mobile Computing, 2021, 20(3): 939-951. DOI:10.1109/TMC.2019.2957804 |
[21] |
Zheng ZB, Zhang YL, Lyu MR. Distributed QoS evaluation for real-world Web services. Proceedings of the 2010 IEEE International Conference on Web Services. Miami: IEEE, 2010. 83–90.
|
[22] |
Xiong W, Wu Z, Li B, et al. A learning approach to QoS prediction via multi-dimensional context. Proceedings of the 2017 IEEE International Conference on Web Services. Honolulu: IEEE, 2017. 164–171.
|