论文名称: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中的"云基础架构"和"工作负载预测"模块之间的交互信息流,展示了工作负载预测在物理资源管理中的角度和实用性。植根于虚拟化技术的服务器集群{ServerP1,ServerP2,...,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, Da+1, Da+2}和{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中呈现了一个分类和分类的表示,将现有的预测模型根据其概念和操作特征划分为具体类别和子类别的监督式机器学习方法。
相应地,五种独特的工作量预测类别 被指定为进化学习、深度学习、混合学习、集成学习和量子学习 。在进化学习类 中,候选方法:ANN+SADE [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模型功能。自编码器子类包括Encoder+LSTM [34]、CP Autoencoder [35]、LPAW Autoencoder [36]和GRUED [37],通过对传统自编码器进行一些有用的修改导出。类似地,DBN+RBN [38]、DBN+OED [39]、DP-CUPA [40];以及es-DNN [41]、DNN+MVM [42]、DNN-PPE [43]、SG-LSTM [44]分别与深度信念网络子类和深度神经网络子类相关联。混合学习类 代表了几种机器学习算法和方法的整合,包括ADRL [45]、Bi-Hyprec [46]、BG-LSTM [47]、HPF-DNN [48]、FAHP [28]、ACPS [49]和LSRU [50]。同样,集成学习 涉及基础学习器和决策制定来估计最终结果。KSE+WMC [51]、FAST [52]、SGW-S [19]、ClIn [53]、AMS [54]、E-ELM [55]和SF-Cluster [48]等作品涉及集成学习。最后,量子学习类包括使用量子计算和神经网络学习原理开发的EQNN模型 [56]。
IV. 基于进化神经网络的预测模型
神经网络通过进化优化算法实现学习过程的网络被称为进化神经网络 (ENN)。图4展示了ENN的结构和操作视图。考虑一个由n,q个节点组成的前馈神经网络n-p1-p2-q,其中输入和输出层中分别有n、q个节点,三个连续隐藏层中分别有p1和p2个节点。训练输入数据向量:{D1,D2,...,Dn} ∈ D 被传递到该神经网络的输入层,其中每一层的每个节点通过突触/神经权重{w1,w2,...,wz} ∈ W 与连续层的所有节点连接,z是两个连续神经层之间的权重连接总数。训练输入向量(D)的前向传播是通过加权连接使用(3),(4),和(5)进行的,是计算每个神经元的线性函数;B是偏置向量。权重连接{w1,w2,...,wz}的值决定了输入向量对神经元输出向量的影响,并决定了神经元之间突触互连的强度。
进化神经网络预测模型通过调整ENN的偏置和互连权重{w1,w2,...,wn} ∈ W† 的值来学习,以最小化预测误差。这一学习过程是通过应用不同的进化优化算法实现的,该算法从Z个网络的随机群体 {w†1,w†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的FLNN(FLGANN)以及带PSO的FLNN(FLPSONN)进行了比较,并验证了其性能。
表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)将两个输出结合起来更新单元状态。
对服务器上托管的不同虚拟机的预测流量RU(ZtPr+1)进行聚合,以主动确定任何过载,并通过将预测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]提出了一种基于高效的规范Polyadic(CP)分解的深度学习模型,用于预测云中的工业工作负载,在该模型中,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-Golay(S-G)滤波器来消除原始数据序列中的极端点和噪音干扰。采用了基于DNN的LSTM(SG-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-Golay(SG)滤波器来降低平滑工作负载前的标准差。它可以有效地提取相对较长时间序列的复杂和非线性特征,并实现高预测准确性。[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-Golay(SG)滤波器和小波分解与随机配置网络相结合,以预测接近的工作负载。在这个模型中,使用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 和内存使用痕迹以及来自 PlanetLab(PL)虚拟机痕迹的 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 可变资源利用率。我们已经评估并比较了不同类型的基于学习的模型,包括具有置信度指标的 MSE,MAE,绝对误差频率(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预测模型的效率。