互易中国如何做网站,郑州专业的网站公司,wordpress下载站用什么模板,wordpress怎么优化进程论文名称#xff1a;Performance Analysis of Machine Learning Centered Workload Prediction Models for Cloud
摘要
由于异构服务类型和动态工作负载的高变异性和维度#xff0c;资源使用的精确估计是一个复杂而具有挑战性的问题。在过去几年中#xff0c;资源使用和流…论文名称Performance Analysis of Machine Learning Centered Workload Prediction Models for Cloud
摘要
由于异构服务类型和动态工作负载的高变异性和维度资源使用的精确估计是一个复杂而具有挑战性的问题。在过去几年中资源使用和流量的预测已受到研究界的广泛关注。许多基于机器学习的工作负载预测模型通过利用其计算能力和学习能力得以发展。本文提出了第一篇系统调查、基于性能分析的比较研究涉及多样化的基于机器学习的云工作负载预测模型。从预测资源管理的重要性开始讨论接着介绍了这些工作负载预测模型的框架描述、操作设计、动机和挑战。将不同预测方法的分类和分类法分为五个不同类别着重介绍现有最先进的工作负载预测方法的理论概念和数学功能。对属于机器学习模型的独特类别的最突出的预测方法进行了全面调查和比较。使用三个不同的基准云工作负载跟踪通过实验分析在一个共同平台上实现了所有五个分类的基于机器学习的工作负载预测模型以进行系统调查和比较。对最先进方法的关键绩效指标进行了评估并通过讨论权衡和值得注意的评论来结束本文。
索引词 —— 云计算深度学习集成学习进化神经网络预测混合学习量子神经网络。
I. 引言
云计算CC范式通过迅速的弹性、资源池、外包服务管理、广泛的网络访问和按需付费模式为企业、学术界、研究和所有利益相关者提供了最小的前期资本投资的可扩展计算途径 [1][2]。CC在全球IT基础设施不一致性的背景下通过持续动力和解决全球IT基础设施的不一致性推动着商业进步成为跨越地理边界的增长不确定性的催化剂 [3]。根据最近的一份调查报告 [4]预计到2030年全球云计算市场将达到1,554.94亿美元年复合增长率为15.7%。此外包括物联网IoT、雾计算和边缘计算、物理系统等所有新兴技术都强烈依赖于CC因为它们的存储和计算能力不足 [5]。
A.动机
云服务提供商CSP利用数据中心的虚拟化 [6][7][8][9][10]将物理资源最大化以提供具有快速可扩展性特权的计算实例的需求从而最大化其收入 [11][12][13]。因此CC基础设施的全面管理完全取决于资源的细粒度配置包括存储、处理和网络等方面 [14][15][16][17][18]。资源需求随时间变化而高度变化加速了物理机器的过度/低利用率和服务级别协议SLA违规问题 [19]。在高峰负载到达期间VM资源的总需求超过服务器的可用资源容量导致服务器超载和性能降低例如一些VM可能会崩溃、资源长时间不可用和响应时间增加等。而不足的资源需求会导致计算资源的浪费。为了管理资源容量的动态和随机需求或处理过度/低负载实时将VM从过度/低负载的服务器迁移到具有足够资源容量的另一台服务器这会导致执行延误。在这种情况下通过先前的估计有效地处理传入的工作负载是一项主要需求。负载的准确预测可以降低资源浪费、最小化功耗和活动服务器的数量仅允许所需数量的物理机器处于活动状态。工作负载的精确信息提前保留资源来有效执行和管理即将到来的工作负载减少响应时间、SLA违规、过度配置和低配置问题并改善资源利用率、可靠性和服务可用性 [20][21][22][23]。
B. 从工作负载预测角度来看
通过图1中的“云基础架构”和“工作负载预测”模块之间的交互信息流展示了工作负载预测在物理资源管理中的角度和实用性。植根于虚拟化技术的服务器集群{ServerP1ServerP2...ServerPn}能够提供以虚拟机VM形式满足云用户的服务需求。虚拟化允许在调度程序和虚拟化监视器的帮助下在各种应用程序如AWS、Docker、MS Azure和GCP等之间共享物理机器。
资源使用信息被监测并记录在工作负载预测和管理单元内的工作负载存储库中。原始信息包括请求的数量和类型虚拟机的数量、类型和成本资源如CPU、内存、带宽的使用情况从存储库中检索并传输到工作负载预测单元。原始数据样本中的重要属性在数据预处理过程中被提取、聚合和归一化。工作负载预测模型被应用于实时工作负载预测的一系列阶段例如训练、验证和测试。最终的预测模型分析和估计与资源使用、请求数量和类型等相关的信息以进行有效的资源管理决策。预测的资源信息有助于主动分配所需的物理资源避免运行时资源提供延迟同时满足服务质量QoS约束。 工作负荷预测的示意图表示和应用。 C. 研究挑战
毫无疑问云工作负载预测在主动自动缩放和资源的动态管理方面起着重要作用从而增加了系统的扩展性和吞吐量通过对系统故障的主动预测实现了可持续性和容错性。然而云工作负载预测面临一些主要挑战具体如下所述
异构工作负载云用户提交不同类型的应用请求需要具有不同优先级和定价策略的异构资源容量与其各自的服务级别协议SLA相关联。不确定的资源需求资源需求随时间变化在小时、天、周、月和年内根据工作负载类型和用户提交的执行期限发生变化。有时流量会变得突发[24]这使得难以估计即将到来的资源需求并决定资源分配。动态适应性由于云环境高度变化和动态它会遭受意想不到的波动这提出了工作负载预测适应性的关键挑战即适应或重新生成以便在不断变化的工作负载下保持和高效执行。数据粒度和预测窗口大小决定数据样本或粒度的合适大小以及预测窗口的长度即较短或较长间隔是另一个关键挑战直接影响到学习相关模式和开发提取模式之间的相关性。
D. 论文概述和贡献
本文对基于机器学习的云工作负载预测模型进行了全面研究。该研究从第一节开始讨论了CC的重要性以及工作负载预测在CC环境中的研究动机。随后通过示意图和CDC中负载预测和管理的说明展示了应用负载预测和管理的概念性和操作性设计。然后讨论了解决云工作负载预测的一些主要挑战并介绍了准确的工作负载预测对资源管理的需求和有力影响。第II节展示了工作负载预测的操作流程。第III节讨论了拟定的研究方法。本研究旨在对广泛范围的云工作负载进行预测的最重要和开创性的基于机器学习的模型进行广泛回顾。因此第IV节讨论了基于进化神经网络的预测模型第V节和第VI节分别回顾了深度学习和混合学习的预测模型而第VII节和第VIII节则讨论了集成学习和量子学习的预测模型。此外本文还在第IX节中对考虑的五个类别的预测模型进行了实施以评估和比较它们在各种关键绩效指标KPI方面的性能。最后第X节总结了研究并讨论了不同类别的预测模型之间的权衡以及解决云工作负载预测的新兴研究挑战及其可能的解决途径。据作者所知这是第一篇旨在全面实验研究基于机器学习的工作负载预测模型在CC资源管理上的论文。本文的主要贡献包括
根据机器学习算法将基于机器学习的最佳云工作负载预测模型进行了分类和分类组织图3。为每个类别的工作负载预测方法描绘了概念性和操作性设计包括五种具体的机器学习模型架构及其工作策略。提供了对现有工作的所有关键细节进行批判性讨论和比较并分析了其特点以确定未来研究范围解决各类预测模型的局限性。在同一平台上对每个类别的五种预测模型相关方法进行了实施以进行深入的实验分析和比较衡量其性能并讨论权衡和值得注意的观点。
附表I为本文中使用的符号、表示法和缩写的解释。 II. 工作量预测操作流程
工作量预测的基本步骤通过图2中的操作设计进行概述。考虑从工作量存储库中提取的原始数据组成的输入数据集{D1, D2,..., Dn} ∈ D。数据提取从原始数据中筛选出相关属性以改善模式学习并在提取的模式之间开发更直观的关联。数据聚合操作在其中执行提取的数据按照选择的预测窗口大小例如五分钟组装比如{D1, D2, D3}组合生成一个聚合数据样本。类似地{Da, Da1, Da2}和{Dn−2, Dn−1, Dn}聚合生成数据样本D∗a和D∗n。聚合的数据样本按特定范围[xa, xb]进行缩放并使用1转换为归一化数据样本{D1N, D2N,..., DnN}其中和分别是输入数据集的最小值和最大值归一化数据向量表示为它是所有归一化输入数据值的集合。用于实验的xa和xb的值分别设置为0.0001和0.999。这些归一化值被组织成二维输入和输出矩阵分别表示为和如2所述 因此根据图2中的滑动窗口块所示准备好预测滑动窗口。这些归一化数据样本被划分为三类即训练数据、验证数据和测试数据。指定一个机器学习算法作为预测模型接收训练数据以允许在迭代学习或优化过程中进行特定模式学习。然后使用任何错误评估函数如RMSE或MSE评估该预测模型的准确性。如果达到所需的准确性则获得一个经过训练的预测模型并再次将验证数据传入其中以检查预测准确性。如果达到最佳准确性则建立一个经过验证的预测模型。最后将测试/未见数据传入经过验证的预测模型并执行准确性评估。如果连续达到所需的准确性则部署最终的预测模型否则预测模型的相应阶段将回退到迭代学习过程。性能通过实现云资源管理的预测输出进行度量。
III. 研究方法论
本节详细阐述了审查方法。审查程序包括收集主要的云工作量预测论文其中所提出的方法源自机器学习算法和概念。搜索、研究和分析发表在IEEE、ACM数字图书馆、Elsevier、Springer、Wiley等顶尖期刊和会议数据库中的开创性质量预测模型用于比较研究。此外通过识别基于所提出方法的主要研究并应用特定的纳入标准将论文分组为具有相似方法或重叠特征的公共类别对收集到的论文进行精炼。为避免研究中的任何偏见在剩余部分的审查过程由一位作者进行开发并通过讨论和迭代审查方法由另一位合著者最终确定。不同的作者对现有预测模型进行深入探讨以确保所提出研究的完整性和相互性能比较。在选择与每个类别对应的相关工作时平均水平和以下水平的研究工作会被过滤和避免以呈现现有工作负载预测方法的清晰简明审查。因此图3中呈现了一个分类和分类的表示将现有的预测模型根据其概念和操作特征划分为具体类别和子类别的监督式机器学习方法。 相应地五种独特的工作量预测类别被指定为进化学习、深度学习、混合学习、集成学习和量子学习。在进化学习类中候选方法ANNSADE [25]、ANN-BADE [26]、ANN-BHO [27]、SDWF [27]和FLGAPSONN [28]应用了进化优化算法来进行神经网络层的学习过程或权重更新过程。深度学习方面的作品多样化为四个子类包括长短期记忆LSTM单元、自编码器、深度信念网络和深度神经网络。LSTM子类包括LSTM [29]、2D LSTM [30]、Bi-LSTM [31]、Crystal ILP [32]和FEMT-LSTM [33]这些主要基于LSTM模型功能。自编码器子类包括EncoderLSTM [34]、CP Autoencoder [35]、LPAW Autoencoder [36]和GRUED [37]通过对传统自编码器进行一些有用的修改导出。类似地DBNRBN [38]、DBNOED [39]、DP-CUPA [40]以及es-DNN [41]、DNNMVM [42]、DNN-PPE [43]、SG-LSTM [44]分别与深度信念网络子类和深度神经网络子类相关联。混合学习类代表了几种机器学习算法和方法的整合包括ADRL [45]、Bi-Hyprec [46]、BG-LSTM [47]、HPF-DNN [48]、FAHP [28]、ACPS [49]和LSRU [50]。同样集成学习涉及基础学习器和决策制定来估计最终结果。KSEWMC [51]、FAST [52]、SGW-S [19]、ClIn [53]、AMS [54]、E-ELM [55]和SF-Cluster [48]等作品涉及集成学习。最后量子学习类包括使用量子计算和神经网络学习原理开发的EQNN模型 [56]。
IV. 基于进化神经网络的预测模型
神经网络通过进化优化算法实现学习过程的网络被称为进化神经网络ENN。图4展示了ENN的结构和操作视图。考虑一个由nq个节点组成的前馈神经网络n-p1-p2-q其中输入和输出层中分别有n、q个节点三个连续隐藏层中分别有p1和p2个节点。训练输入数据向量{D1D2...Dn} ∈ D 被传递到该神经网络的输入层其中每一层的每个节点通过突触/神经权重{w1w2...wz} ∈ W 与连续层的所有节点连接z是两个连续神经层之间的权重连接总数。训练输入向量D的前向传播是通过加权连接使用34和5进行的是计算每个神经元的线性函数B是偏置向量。权重连接{w1w2...wz}的值决定了输入向量对神经元输出向量的影响并决定了神经元之间突触互连的强度。 进化神经网络预测模型通过调整ENN的偏置和互连权重{w1w2...wn} ∈ W† 的值来学习以最小化预测误差。这一学习过程是通过应用不同的进化优化算法实现的该算法从Z个网络的随机群体 {w†1w†2...w†Z} 中选择最优网络。
该算法通过更新网络群体并广泛探索和利用各种网络来重复优化神经权重连接的值。在连续的时期内通过评估诸如均方根误差RMSE、平均绝对百分比误差MAPE等的预测误差估计等适合度函数选择最佳网络候选者。为了允许对ENN进行在线优化学习过程会定期重复使用先前和最近的工作负载样本进行离线模式下的训练和重新训练同时分析实时工作负载。已经提出了几种利用ENN进行云工作负载预测的方法本节旨在进一步提供这些方法的全面讨论和分析。
[25] 提出了一种基于ENN的云工作负载预测方法其中使用自适应差分进化SaDE训练了一个三层前馈神经网络。在学习过程中通过选择性地应用三种变异策略随后进行均匀交叉更新网络群体。这种方法相比于基于反向传播训练的神经网络BPNN[57]具有更好的准确性因为前者进行了多维学习而后者只优化单一解决方案。Kumar等人[26]提出了一种基于双阶段自适应差分进化BaDE学习的神经网络该方法采用了双重适应即在开发过程中的交叉水平和在探索阶段的变异以提高神经网络的学习效率。因此这项工作在预测准确性方面胜过了SaDE [25]。[58]中开发了一种自适应神经网络其中网络连接权重使用三重适应差分进化TaDE算法进行调整。在这种方法中适应性分别指定在交叉、变异和控制参数生成水平上从而增强了学习预测模型的能力。Kumar等人[59]使用黑洞优化BHO算法优化神经权重并开发了一个用于动态资源扩展的工作负载预测模型。这种进化优化算法更新星星的移动即随机初始化的网络向量并跟踪它们的位置是否达到事件视界。此外在[27]中通过修改现有的BHO算法将其提升为增强BHO即E-BHO包括局部和全局黑洞即最佳解决方案的概念以增强前馈神经网络的迭代学习过程。此外该方法计算了最近预测的偏差并将其应用于提高未来预测的准确性。Malik等人[28]提出了一种基于ENN的多资源利用率预测方法。在这项工作中使用包含遗传算法GA和粒子群优化PSO的混合进化算法对神经网络权重进行调整。它与FLNN、带GA的FLNNFLGANN以及带PSO的FLNNFLPSONN进行了比较并验证了其性能。
表II提供了现有基于ENN的工作负载预测模型的总览摘要重点介绍了主要特征、实施细节、性能指标、参数调整及学习过程中的预期计算复杂性。[25]、[26]、[58]中讨论的方法基于差分进化需要对多个控制参数进行调整包括交叉率、变异率、跟踪动态或固定学习周期以及在每个时期中记录失败和成功候选者的数量。而[27]、[59]中采用黑洞优化仅跟踪事件视界半径并根据每个候选者的适应值与视界半径进行比较来更新下一代群体。因此可以分析出与基于BHO的预测方法相比基于差分进化的预测方法消耗的训练时间和涉及的计算复杂度更高。基于上述因素[27]是所有讨论方法中最可取的方法。 V. 基于深度学习的预测模型
深度学习模型是一类对云计算领域产生了巨大影响的预测模型。深度学习策略的概念性和操作性设计如图5所示在其中经过预处理的训练输入数据样本{D1, D2,..., Dn} 被传入深度学习算法例如长短期记忆LSTM、门控循环单元GRU、深度信念网络DBN、深度前馈神经网络DNN、自编码器、递归神经网络RNN等进行学习过程。 各个深度学习算法的基本超参数 {Hyp1, Hyp2,..., HypN} 被周期性地调整和重新调整以创建和更新基于深度学习的预测模型。经过训练的模型会进一步使用验证数据进行评估以估计其性能和准确性。相应地通过最佳或最合适的超参数优化得到基于深度学习的模型。
例如采用基于LSTM的深度学习算法进行预测。将存储为历史工作负载的实际负载使用情况作为输入馈送到神经网络输入层以预测未来的资源使用情况。基于LSTM-RNN的预测模型包括四个神经网络层组成的单元其中将上一个单元X t−1的信息传递给当前单元X t。第一层G1运用6来决定前期资源使用情况信息的数量该信息被传递到下一个状态其中 WT 是权重矩阵B 是偏置值 和 Zt P r分别为先前的输出和当前的输入。使用两个网络层更新单元状态即使用 sigmoid 层G2决定要使用的值参见7以及 tanh 层生成新的候选值向量参见8。最后9将两个输出结合起来更新单元状态。 对服务器上托管的不同虚拟机的预测流量RUZtPr1进行聚合以主动确定任何过载并通过将预测RU最高的虚拟机迁移到有效的服务器来减轻它。随后继续讨论四种不同类别的深度学习方法所属的现有工作负载预测模型的全面调查。
A. LSTM-RNN
在[29]中提出了一种使用基于长短期记忆的递归神经网络LSTM-RNN的细粒度云工作负载预测模型该模型能够学习长期依赖关系并对主机负载预测产生高准确性。Tang [30] 提出了一个利用隐藏层周相关联和权重并行化算法的二维LSTM神经网络单元结构。这项工作通过提供并行LSTM算法的数学描述及其与误差反向传播方法的优化改进了LSTM算法。其性能使用上海超级计算中心的真实工作负载进行验证。Tuli 等人[34]针对云环境提出了一种自动卡顿处理缓慢任务预测和缓解方法该方法利用编码器LSTM网络来处理异质主机和波动任务特性。编码器分析资源使用情况和负载信息并将信息传递给LSTM。此外考虑了输入矩阵的指数移动平均以防止LSTM模型发散。[32]中介绍了一种基于LSTM神经网络的存储工作负载预测方法 CrystalLP。在这种方法中开发了存储工作负载时间序列模型该模型收集了有助于精确和自适应调度负载平衡的预期工作负载模式。随后实施了基于LSTM的工作负载预测器该预测器使用由随机梯度下降SGD和Adam优化器组成的算法进行训练或优化。Gao等人[31]提出了一种基于多层双向长短期记忆Bi-LSTM的任务失败预测算法。它包括一个输入层两个Bi-LSTM层一个输出层和逻辑回归LR层以预测任务是否失败或已完成。与传统的仅使用前向状态的LSTM不同Bi-LSTM同时在前向和后向状态上运行以更准确地估计较近和较远输入特征的权重。Ruan等人[33]针对考虑云工作负载特性的云服务器工作负载预测建立了一个转折点预测模型。随后构建了一个基于规则过滤的分段线性表示PLR算法的云特征增强深度学习模型用于工作负载转折点预测。该模型的性能评估表明相对于现有的最先进方法其F1分数的提高体现了其预测准确性的有效性。
B. 自编码器
[35]提出了一种基于高效的规范PolyadicCP分解的深度学习模型用于预测云中的工业工作负载在该模型中CP自编码器通过双射将基本自编码器转换为张量空间。在该模型中CP分解格式中的基本自编码器之后是CP分解格式中的堆叠自编码器模型。创建堆叠自编码器以学习工作负载信息的相关特征并采用CP分解大幅压缩特征以提高训练效率。Chen等人[36]建立了一个基于深度学习的云工作负载预测算法L-PAW其中包括一种用于有效提取工作负载基本表示的Top-Sparse自编码器TSA。该方法将GRU和递归神经网络RNN整合起来以排除对未来云工作负载的长期记忆依赖并提高准确性。
C. 深度信念网络
Qiu等人[38]提出了一种由多层受限玻尔兹曼机RBM和一个回归层组成的深度信念网络DBN用于预测云工作负载。在这个模型中DBN从所有虚拟机中提取高层特征回归层用于预测虚拟机未来的负载。它以无监督的方式利用先验知识有效地学习重要模式。张等人[39]开发了一种基于DBN的负载预测模型这是一个堆叠的RBM并使用反向传播算法来最小化其损失函数。它将方差分析和正交实验设计OED技术纳入DBN的参数学习中并在ARIMA模型上取得了较高的预测准确性。此外[60]中还提出了一种类似的基于DBN的方法它可以捕获云指标数据中的高方差而无需手工指定短期资源需求和长期负载预测的特征。文等人[40]提出了一种基于DBN和粒子群优化PSO的CPU使用率预测算法命名为DP-CUPA。该算法包括三个主要步骤训练数据样本的预处理采用自回归和灰色模型作为基础预测模型以及对DBN进行训练。PSO用于在学习过程中估计DBN的参数。
D. 深度神经网络
徐等人提出了一种高效的监督学习的深度神经网络esDNN算法[41]用于提取和学习历史数据的特征并准确预测未来的工作负载。多变量数据被转换为监督学习时间序列并应用了改进的GRU可以适应工作负载的变化从而实现准确的预测并克服了梯度消失和梯度爆炸的局限性。[42]中提出了一种基于DNN的工作负载预测方法称为DNN-MVM用于处理来自多个虚拟机的工作负载预测。它采用了一个预处理和特征选择引擎直接处理这些虚拟机的数据。该模型根据历史负载对数据进行分类为云服务提供商提供增强的信息或知识用于资源管理和优化。它有助于预测未来资源的峰值需求。该模型使用了Grid Workload Archive (GWA) 数据集进行验证。毕等人[44]提出了另一种基于DNN的工作负载预测模型其中在任务平滑之前执行对数运算以最小化标准差。随后应用Savitzky-GolayS-G滤波器来消除原始数据序列中的极端点和噪音干扰。采用了基于DNN的LSTMSG-LSTM来提取任务时间序列的复杂特征。采用渐变剪切方法实现了基于时间反向传播BPTT算法以消除梯度爆炸问题使用Adam Optimizer进行模型的优化。该模型通过对Google Cluster数据集进行评估以确认其相对于现有方法的有效性。[43]中提出了一种基于DNN学习的功耗预测引擎DNN-PPE其中包括数据采集、数据预处理和预测模块。递归自编码器用于短时间精细预测可以跟踪数据中心内功耗的快速变化。表III简要总结了各种深度学习预测方法的类别。
VI. 混合预测模型
基于混合机器学习的预测模型结合不同的机器学习算法如N个算法将一个算法的输出结果馈送给另一个算法单向以创建一个高效的机器学习模型进行准确的预测。这些混合模型是通过各种协作方式构建的例如“分类分类”“分类聚类”“聚类聚类”“聚类分类”“分类回归”“聚类回归”等。这些组合根据所需和相关问题的挑战来选择以减少特征噪声和偏差降低方差并提高预测的准确性。混合预测模型的示意图如图6所示。 在这个模型中原始和复杂的数据样本通过过滤和平滑处理数据样本提取重要特征聚合和缩放或标准化进行预处理。经过预处理的数据样本通过一系列N个机器学习算法将它们的输出作为输入传递给其他机器学习算法生成一个混合预测模型用于性能测量和部署到预期目的。与基于混合方法的工作负载预测模型相关的重要关键贡献如下讨论。
Kardani等人[45]开发了一种基于异常感知的深度强化学习的资源自适应调整ADRL模型用于云环境中的动态资源调整。它提出了一种深度强化Q学习的异常检测方法用于识别系统中的异常状态并相应地触发行动。该工作包括全局和局部决策者两个层次以管理必要的调整行动。ADRL只通过关键行动改善了QoS并提高了系统的稳定性。[46]中提出了一个名为‘BHyPreC’的基于双向长短期记忆Bi-LSTM的堆叠LSTM和GRU的混合递归神经网络RNN预测模型。它提高了Bi-LSTM、LSTM和GRU模型分别的非线性数据分析能力并与其他统计模型相比确认了更好的准确性。它使用了历史窗口大小的组合网格搜索技术来优化模型并确定最佳的窗口大小。毕等人[47]提出了一种集成深度学习方法名为‘BG-LSTM’它结合了BiLSTM和GridLSTM用于高质量地预测工作负载和资源时间序列。在预处理过程中它应用了Savitzky-GolaySG滤波器来降低平滑工作负载前的标准差。它可以有效地提取相对较长时间序列的复杂和非线性特征并实现高预测准确性。[61]中提出了一种名为‘HPFDNN’的分层勾股模糊深度神经网络用于预测云资源需求的数量。原始采样数据的神经表示作为清晰解释真实结果的辅助方法这超出了模糊逻辑的使用。用户可以利用深度神经网络的预测来确定预期的云服务数量从而有助于降低成本。
基于MAPE-k控制回路的多层应用的混合自治资源配置模型被提出[28]。它是一种名为‘FAHP’的模糊层次分析过程方法的组合。实验结果表明与其他方法相比该解决方案在分配的虚拟机数量、响应时间和成本方面表现更好。[49]中提出了一种自适应分类预测方案ACPS首先将工作负载分类为不同的类别根据工作负载特征自动分配不同的预测模型。此外工作负载分类的问题通过建立一个改进的分支和界限算法将工作负载分类问题转换为任务分配问题并快速解决。Peng等人[37]采用了一个基于GRU的编码器-解码器网络名为‘GRUED’包含两个门控循环神经网络GRNNs用于解决这些问题。它已通过实验对云计算中多步预测主机工作负载进行了评估。Shuvo等人[50]提出了一种名为‘LSRU’的新型混合方法用于提高预测准确性。LSRU是LSTM和GRU的集成用于短期预测以及突然的工作负载长期预测。混合预测方法的相应比较总结见表IV。
VII.集成预测模型
集成方法涉及使用多个“基本预测”BP模型或“专家”来预测事件的预期未来结果。集成模型的最终结果是通过使用投票引擎结合每个专家的预测计算得出的。图7展示了基于集成的预测方法的概念架构。历史数据和实时数据样本经过预处理准备一个“滑动窗口”然后将创建的输入数据向量作为输入提供给所有基本预测器{BP1、BP2、...、BPz}其中z是用于集成学习的基本预测器的数量。每个基本预测器的估计结果被分配一个权重值表示它们在最终预测结果中的重要性。权重分配及其更新需要使用适当的优化方法进行学习如多类回归、基于优先级的方法或进化学习算法。与个体预测方法相比集成学习方法更有效个体预测方法面临高方差、低准确性、特征噪声和偏差等挑战。基本上在集成方法中各种机器学习模型相互独立地工作进行预测基于与每个基本预测器相关联的加权值的投票系统硬投票或软投票确定最终预测。下面讨论了基于集成学习的主要模型。 Singh等人[51]通过扩展和调整两种在线集成学习方法包括加权多数WM和可模拟专家SE解决了广泛范围的工作负载预测问题。经典的SE从二元结果空间扩展到k结果空间使其适用于解决任何k类问题称为“kSE”。加权多数集成模型参数是逐步重新生成的使这些算法在计算上更高效适合处理大范围的在线数据流称为“WMC”。使用包含1570台服务器的大型数据集对这些模型进行评估并验证了大约91%的服务器可以通过这些算法的扩展版本进行正确预测。Feng等人[52]提出了一个名为FAST的具有自适应滑动窗口和时间局部性集成模型用于预测工作负载。开发了一种考虑趋势和时间相关性以及未来工作负载的随机波动以最大化预测精度并降低开销的自适应滑动窗口算法。此外为了基于错误的整合策略还实现了一种针对局部预测器行为的时间局部性概念。通过开发多类回归加权算法将整个模型集成在一起。使用Google Cluster跟踪数据集验证了该模型的性能。[19]提出了一种用于临时工作负载预测的综合模型将Savitzky-GolaySG滤波器和小波分解与随机配置网络相结合以预测接近的工作负载。在这个模型中使用SG滤波器平滑任务时间序列并通过小波分解方法分解成分量。该命名为“SGW-S”的模型能够表征趋势和详细分量的统计特征并通过更快的学习实现了改进的性能。
[53]提出了一种基于集成预测方法的云资源预测模型“CloudInsight”ClIn。该模型通过训练基于统计特征的分类器精确估计作业抵达的最合适机器学习预测方法。它使用多个本地预测器或专家并通过动态确定每个本地预测器的重要权重或贡献来构建集成预测模型。利用多类回归和SVM分类器在规定的时间间隔内优化自适应权重评分以选择在各自预测间隔期间具有最高准确性的最适合的预测模型。该模型经过三种不同类别的工作负载Web、集群和高性能计算工作负载测试证明其比现有预测模型更有效。
Baig等人[54]提出了一种集成和自适应云资源估计模型命名为“自适应模型选择器”AMS。该模型通过训练基于统计特征的分类器来确定最合适的机器学习预测方法以准确估计资源利用情况。它使用随机决策森林RDF构建一个分类器通过在规定时间间隔内进行周期性的训练和重新训练来预测给定滑动窗口数据的最佳模型。选定的特征和识别的预测方法被记录为训练数据并传递给滑动窗口进行学习过程。使用Google Cluster、Alibaba和Bitbrains数据集对该模型的性能进行评估。Kumar等人[55]提出了一种基于集成学习的工作负载预测模型“E-ELM”使用极限学习机进行相关预测并通过投票引擎对其进行加权。在这项工作中应用了受黑洞理论启发的元启发式算法来决定最优权重。该模型的准确性通过Google Cluster跟踪数据的CPU和内存需求请求以及PlanetLab VM跟踪数据的CPU利用率进行评估。
Chen等人[48]提出了一种使用集成模型和基于减法模糊聚类的模糊神经网络ESFCFNN的自适应预测方法。用户偏好和需求被刻画使用多个基本预测器构建了一个集成预测模型。表V总结了集成预测方法的比较摘要。
VIII.基于量子神经网络的预测模型
基于量子神经网络QNN的预测模型是一种智能模型利用神经网络的机器学习能力和量子力学的计算能力来实现高精度的预测准确性。基本上它是一个由量子比特神经元和量子比特权重组成的神经网络而不是实数值并且训练数据信息也以量子比特的形式传播。量子比特表示为1、0或这些状态的任何量子叠加态。在数学上它可以表示为|Ψ α|0 β|1 其中α和β是复数指定状态|0 和|1 的概率幅度。图8显示了基于QNN的预测模型的示意图它包括一个输入层、多个隐藏层和一个输出层分别具有n、p和q个量子比特节点表示n-p-q量子比特网络架构。不同层之间的量子比特神经元之间的互连权重也采用量子比特的形式在学习过程中进行调整。 量子比特神经元的状态转换来源于各种量子门如旋转门、控制非门等。训练数据样本值被提取并聚合到一个特定的时间间隔例如5分钟并使用归一化函数在特定范围内进行缩放。归一化后的数据值通过应用量子比特旋转的效果转换为量子状态值或量子比特使用10和11;
其中Di是第i个输入数据点Θi是网络的第i个量子输入点。QNN模型从实际工作负载中提取相关和重要的模式并分析前n个工作负载值以估计数据中心下一个n 1时间点的即将到来的工作负载信息。
QNN的学习过程是通过基于量子比特的优化算法推导出来的该算法可以操作、探索和利用量子比特来重新生成种群并防止停滞问题。使用QNN进行工作负载预测的方法仍处于初级阶段。
迄今为止唯一使用基于QNN的模型进行工作负载预测的工作是在[56]中提出的。该模型利用量子计算的计算效率将工作负载信息编码为量子比特并通过网络传播此信息以主动地提高预测负载或资源需求的准确性。C-NOT门的旋转和逆旋转效果用作隐藏层和输出层的激活函数以优化量子比特权重。开发了自平衡自适应差分进化SB-ADE算法来优化量子比特网络权重。该模型在三种不同类别的工作负载上进行评估预测准确性较现有方法显著提高。[62]提出了一种使用复数的工作负载预测模型其中将学习能力和更高的准确性应用于多层神经网络和多值神经元MLMVN预测模型中实现更短的时间内的预测。
IX 性能评估
A.实验设置
模拟实验在一台服务器上进行该服务器装配有两个 Intel Xeon Silver 4114 CPU每个 CPU 均带有 40 个核心处理器和 2.20 GHz 的时钟速度。计算机采用64位 Ubuntu 16.04 LTS内存为128 GB RAM。所有选定的最佳预测工作都是基于进化神经网络ENN、集成学习EL、混合学习HL、深度学习DL、进化量子学习等实现的采用 Python 3.7 编写其中包含各种预期参数及其数值的详细信息见表 VI。
B.数据集
利用三个不同的基准数据集进行各种基于机器学习的预测模型的性能分析和比较包括来自 Google 集群数据GCD[63] 的 CPU 和内存使用痕迹以及来自 PlanetLabPL虚拟机痕迹的 CPU 使用情况[64]。GCD 工作负载提供了云应用程序在集群中的行为以及诸如 Hadoop 等大数据分析的资源CPU、内存和磁盘 I/O 请求以及使用信息这些信息是在 29 天内收集的共收集了在 12,500 台服务器上执行的 672,300 个作业。VM 的 CPU 和内存利用率百分比是在给定的 CPU 和内存使用百分比的基础上获取的每五分钟获取一次持续二十四小时。PL 包含了超过 11000 个 VM 的 CPU 利用率在 2011 年 3 月至 4 月的十天内每五分钟测量一次。根据不同的预测间隔如 5、10、20、...、60 分钟提取和聚合了各种资源使用的值并使用规范化公式将这些值重新缩放到 [0, 1] 范围内该公式在 (1) 中说明。表 VII 显示了评估工作负载的统计特征。
C.评估指标
评估预测模型的预测准确度使用以下误差指标进行评估
均方误差MSE这是一个用于衡量预测模型准确性的众所周知指标对较大的误差项施加高惩罚。如果其得分接近零则认为模型更精确。该指标的数学表达式见12其中 m 是工作负载痕迹中的数据点数量ZAc(t) 和 ZPr(t) 分别是 t 时刻的实际和预测的工作负载值。 平均绝对误差MAE在均方误差中较大误差值的平方可能会受到更多权重的影响这可能会影响预测的准确性。而MAE 对每个误差分量分配相等权重并通过计算实际ZAc(t)和预测ZPr(t)工作负载在 t 时刻的绝对差的均值来衡量预测模型的准确性如13所示。它生成一个非负数用于评估预测准确性如果接近零则预测与实际值非常相似。
D.结果
对包括进化量子神经网络EQNN[56]、集成学习EL[55]、混合学习[50]、深度学习DL[29]、进化神经网络ENN[25] 在内的不同预测模型的性能进行了彻底调查和比较使用了多种异构云应用程序和 VM 可变资源利用率。我们已经评估并比较了不同类型的基于学习的模型包括具有置信度指标的 MSEMAE绝对误差频率AEF以及训练所用时间TT。
1均方误差图 9 比较了包括 GCD-CPU 痕迹图 9(a)、GCD-内存痕迹图 9(b)和 PL-CPU 痕迹图 9(c)在内的三种不同类别的工作负载的均值。从图中可以看出MSE 随着不同的预测模型变化而异并随着预测间隔从 5 分钟增加到 60 分钟而增加。这是因为随着预测窗口大小的增加可用于训练的数据样本数量减少。与平均 MSE 值降低的价值相关的预测准确性遵循以下趋势EQNN EL ≤ HL DL ENN。此外需要注意的是对于较短的预测间隔预测误差MSE之间的差异较小但随着预测窗口大小的增长这种差异随着训练数据样本数量的减少而增加。因此可以得出结论对于短期预测所有类型的预测模型都能产生预期水平的预测准确性而在长期预测间隔下预测性能的主要差异出现。获得的实验值表明基于量子学习的预测模型EQNN在大多数预测间隔和大多数数据痕迹中提供了最小的预测误差而基于进化学习的预测模型即 ENN则在大多数实验案例中产生最高的 MSE 值。对于 GCD-CPU图 9(a)EQNN 在所有方法中表现最好这是因为它采用了 Qubits 和量子叠加效应这在学习过程中提供了对相关性和相关模式的精确和直观学习。此外EL 的 MSE 值低于 HL、DL 和 ENN因为 EL 涉及多个基本预测模型每次自适应地选择最佳预测模型并通过更新与各自基本预测器相关联的权重来刷新学习过程。HL 的预测误差较小与 DL 相比原因是在实际预测之前使用了过滤和平滑方法的整合利用各种过滤方法如 SG-Filters 或使用 GRU 来改进准确性同时最小化 LSTM 的缺陷。在 HL 中两种或两种以上的方法通过协同合作来减少每种方法的限制从而生成一种有效的预测模型以预测广泛范围的云工作负载的资源使用情况。DL 的实验是使用基于 LSTM 的预测方法执行的对于所有情况包括 GC 5 到 GC 60其表现均优于 ENN。图 9(b) 显示了 GCD-内存痕迹的类似趋势其中 HL 和 EL 的表现更接近低于 EQNN但优于 DL 和 ENN 基于预测模型。使用 DL 的预测模型获得的结果表明在所有实验中相对于 ENN其 MAE 值较小这意味着在 GM 30 和 GM 60 的情况下DL 的准确性得到了改善。图 9(c) 表示了 PL-CPU 痕迹的 MSE 比较其中预测误差值之间的差异微小但显著支持上述性能趋势。此外对获得的 MSE 结果进行了置信度度量的计算如表 VIII 所示在所有实验案例中报告了误差边界EM和置信区间CI。 2平均绝对误差图 10 展示了在各种数据集上获得的不同预测模型的 MAE 结果值的比较。与 MSE 类似MAE 值遵循所有三个评估工作负载包括 GCD-CPU图 10(a)、GCD-内存图 10(b和 PL-CPU图 10(c的性能的共同趋势。如三个连续柱形图所示MAE 值的顺序是EQNN EL ≤ HL DL ENN。此外观察到随着预测窗口大小的增加预测误差MAE之间的差异增加因为训练数据样本的数量减少。因此可以得出结论对于短期预测所有类型的预测模型都能产生预期水平的预测准确性而在长期预测间隔下预测性能的主要差异出现。这是因为随着训练样本数量的减少模式的学习不足各自的预测模型开始低估来自训练数据集的相关信息导致发展必要的关联和性能下降的能力降低。 3训练时间图 11 展示了在 30 分钟预测窗口大小下各种预测模型在不同工作负载痕迹上学习过程中消耗的训练时间的比较。HL 和 DL 的模型消耗了相似的训练时间这在所有预测模型的训练时间中最少这是由于使用了梯度下降和 Adam 优化器的训练算法。而由于在学习过程中使用了进化优化ENN、EL 和 EQNN 的训练时间更长。EL 的训练时间高于 EQNN 和 ENN原因是它涉及多个基本预测模型这些模型在学习过程中同时使用。相反EQNN 和 ENN 的学习过程中使用单个网络模型其中 EQNN 消耗的时间比 ENN 多。这是因为它使用 Qubits 和基于量子力学的网络权重优化过程需要进行复杂的计算以处理生成和更新基于量子位的网络权重所需的复数。这讨论总结了训练时间的趋势DL HL ENN EQNN EL。然而各种预测模型的效率和适用性并不受影响因为训练是一个周期性任务可以在配备足够资源的服务器上并行执行。 4绝对误差频率通过评估绝对预测误差并比较其频率来测量和分析各种比较模型获得的预测误差。图 12 比较了绝对误差实际值-预测值的频率其中 EQNN 对于大多数云工作负载相比其他四种类型的预测模型产生的错误最少。对于一个预测模型的较高绝对误差频率表明其持续的潜力和稳定的趋势产生最大的预测准确性。在 GCD-CPU 痕迹图 12(a)、GCD-内存图 12(b和 PL-CPU 痕迹图 12(c中观察到的绝对误差频率遵循共同的趋势ENN DL HL EL EQNN。这种趋势背后的原因是 EQNN 使用 Qubits 种群以及进化优化允许对模式进行更直观的学习从而使得对广泛范围的动态工作负载模式具有最佳准确性。EL 排在 EQNN 之后因为其涉及多个基础预测模型的学习能力可以精确地学习不同类型工作负载的相关信息。其他预测模型显示的预测误差频率略低但可接受根据其学习能力和学习过程中涉及的优化算法而变化。 E. 折衷和讨论
所有的机器学习算法在适应广泛范围工作负载的自适应预测方面都存在一些折衷。同样各种基于ENN的预测方法之间的关键区别是应用于学习过程的进化优化算法直接影响预测方法的性能。不同的进化优化算法在涉及人口更新过程中的探索和利用方法以及控制参数调整过程中有所不同。具有较少调整超参数的进化优化方法比具有更多调整超参数的方法更可取。例如Blackhole学习算法是一种无参数算法时间和空间复杂度较低预测准确性较高而涉及调整超参数包括交叉率、变异率、学习率等的差分进化算法则预测准确性较低。尽管深度学习方法相对于基于进化学习的前馈神经网络模型更快地学习数据样本的自然变化但它们需要更多的数据样本进行训练以精确估计输出。此外计算上更复杂的深度学习方法需要昂贵的GPU和高性能机器这会提高其应用成本。观察到深度学习算法与其他机器学习方法如随机森林用于特征提取集成后表现更好并与其他分类方法合作编译预测输出。另一方面混合和集成学习方法涉及多个机器学习算法的联合操作比单个单位机器学习方法消耗更多空间和时间复杂度。毫无疑问由于在一个共同平台上包含了多种机器学习方法它们比深度学习和进化学习方法更高效地适应未知数据和广泛范围的工作负载。在混合和集成学习方法中集成方法更具适应性因为它考虑了所有考虑的机器学习算法的预测输出并在生成最终输出时应用权重优化以选择与这些学习算法相关的预测结果。基于实验验证量子神经网络基于学习方法是讨论的所有方法中最有效的可准确预测不同负载。在量子神经网络中使用从复数派生的量子位qubits比实数网络权值具有更高的多样性能够生成更直观的模式学习复杂关系并有助于预测更准确的输出。
最后最重要的是诸如IaaS、PaaS、SaaS、FaaS等云服务的多样性对于确定处理工作负载的异构性具有重要影响云服务提供商有责任提供无缝的资源质量和容量。针对特定云服务选择最佳模型没有完美的指导方针因为对所有云服务模型的资源需求动态变化。此外云工作负载因包括资源容量如CPU、内存、带宽等利用、执行截止期限等优先约束执行成本、一段时间内作业请求数量的可变性等各种特征而变化。然而这些特征除了一段时间内作业请求数量的可变性对于不同预测模型的学习能力影响不大因为相应的数据样本会定期生成作为每种工作负载的事件记录报告时间戳上的所有相关信息。这些数据样本用于训练预测模型在相同时间段内显示出对估算负载的不同精度和训练计算成本。然而根据约束的优先级可以选择预测模型对于有望获得高可用性和截止期限敏感性的情况应选择高精度的预测模型而不管计算和训练时间多高。另一方面如果有最小执行成本的约束那么计算和训练成本较低的预测模型是减少相应工作负载的处理成本的更好选择。此外工作负载预测模型可以根据工作负载的多样性选择例如高度随机、周期性可变、随机可变、均匀或非均匀多样化等。根据所考虑的机器学习模型的特征、设计和能力的讨论可以推断EQNN、混合和集成模型更适用于高度随机和多样化的工作负载因为它们更能够学习和处理高度可变和异构流量数据模式其中包括大量的动态数据、多个变量与复杂关系甚至多步时间序列流量数据。而进化学习模型更适合于按照相同时间顺序记录的周期性和均匀可变的工作负载观察。
X. 结论和未来方向
本文提出了一项基于机器学习的工作负载预测模型在云环境中资源分配和管理方面的全面调查和性能评估比较。讨论了工作负载预测方法的运行设计、效用、动机和挑战。基于各种预测模型的概念特征和操作特征的差异提出了机器学习驱动的预测模型的分类和分类法。针对每种预测模型的领先预测方法进行了深入讨论。此外所有讨论的预测模型都在一个共同平台上实施以进行广泛调查和比较这些模型的性能。基于深入研究和性能评估讨论了这些预测模型之间的折衷以及它们的适用性以总结对云工作负载预测模型的全面研究。将来可以利用可解释人工智能XAI方法构建更强大的工作负载预测模型具有可追溯机制有助于表征准确性、透明度、公平性和AI驱动资源管理的预测结果。此外通过优化轻量级优化算法并降低计算复杂性可以提高QNN预测模型的效率。