没有合适的资源?快使用搜索试试~ 我知道了~
沙特国王大学学报一种新的基于时间局部性的云环境Wiem Matoussi,Tarek HamrouniLIPAH,突尼斯理工学院,突尼斯El Manar大学,大学校园,突尼斯,突尼斯阿提奇莱因福奥文章历史记录:收到2020年2021年3月26日修订2021年4月22日接受在线预订2021年保留字:云计算SaaS预测机器学习时间局部性A B S T R A C T随着向软件即服务(SaaS)的范式转变继续获得公司和科学界的兴趣事实上,云提供商必须为其用户提供最佳的服务质量(QoS),以便在竞争如此激烈的云市场中生存。为了改进容量规划,确保资源的有效管理,从而维护与最终用户的SLA合同,提出了容量预测技术。在这种情况下,我们提出了一种新的方法来预测到达SaaS服务的请求的数量,以准备响应用户请求所需的虚拟化资源该方法将实施,以同时实现双重效益:获得准确的预测结果,同时优化响应时间。在这方面,我们选择通过动态化与要分析的最近历史相关联的滑动窗口的大小来控制计算时间然后,预测将建立基于时间局部性原则和动态分配的权重,以不同的数据点在最近的历史。此外,所提出的方法可以扩展到其他用途的预测。进行了实验,以评估所提出的方法使用两个真正的工作负载跟踪的性能,并比较国家的最先进的方法。所提出的方法提供了一个执行时间和预测的准确性之间的妥协。版权所有©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 导言和动机近年来,人们已经从使用范式从传统的软件交付模式转变为软件即服务(SaaS)。SaaS的使用越来越多,主要是因为这种模式允许用户摆脱购买和资源设施的负担。在SaaS云的背景下,最终用户运行他们的应用程序,而无需控制主机环境(Stavrinides和Karatza,2019)。此后,SaaS服务(Qian等人,2009; Wang等人,2015)指定在云环境中操作的软件(Lee-Post和Pakath,2014),并与连接到互联网的web浏览器一起使用。云提供商负责管理工作负载(Shishira等人,2017年)由最终用户在*通讯作者。电子邮件 地址: tarek. fst.rnu.tn(T. Hamrouni)。q沙特国王大学负责的同行审查。IaaS层的底层虚拟化资源(Jennings和Stadler,2015)。虚拟化资源中的供应不足导致违反服务水平协议(SLA)、较低的服务质量(QoS)(Slimani等人,2021)和客户不满(Jiang等人,2013年)。这可能会导致对云提供商的处罚,但这些处罚或客户补偿无法弥补客户体验的质量差(例如非常长的响应时间)(Masdari和Khoshnevis,2020年)。对另一方面,过度供应浪费能源和资源,甚至增加成本(网络、冷却和维护)。在这种情况下,快速响应工作负载的变化以满足期望的性能是云中弹性的真正挑战(Amiri等人,2018年)。在这种情况下,SaaS云提供商和最终用户之间就SLA合同达成一致。SaaS云提供商和最终用户之间定义的SLA合同主要涉及响应时间(Jennings和Stadler,2015;Lee-Post和Pakath,2014; Stavrinides和Karatza,2019)。为了避免这两种情况并保持最佳响应时间,重要的是建立一种优化的机制来精确预测服务(SaaS应用程序)行为( Masdari和Khoshnevis,2020)。https://doi.org/10.1016/j.jksuci.2021.04.0081319-1578/©2021作者。由爱思唯尔公司出版代表沙特国王大学这是一个在CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。制作和主办:Elsevier可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.comW. Matoussi和T. 哈姆鲁尼沙特国王大学学报3974许多预测方法(Shmueli等人,2010)在文献中提出。这些方法可以根据不同的维度来预测服务行为:资源利用率、服务性能(吞吐量、响应时间等),服务请求的数量等(Amiri和Mohammad-Khanli,2017;Kumar和Umamaheswari,2018)。每种预测方法都使用特定的技术来预测服务的未来行为,以便做出关于虚拟化资源的分配和部署的决策。这些技术包括表驱动方法(Walsh等人,2004)、使用控制理论技术的方法(Liu等人,2005)、排队论方法(Wu等人, 2013),机器学习技术(Adane和Kakde,2018; Ali-Eldin等人,2013; Bankole和Ajila,2013; Di等人,2014; Li例如,2017; Liu和Chen,2019;Nikravesh 等 人 , 2017 ) , 以 及 其 他 方 法 ( Amiri 和 Mohammad-Khanli,2017; Kumar和Umamaheswari,2018)。这些作品的主要问题是,大多数作品的主要目标是最大限度地减少预测的错误率,而不考虑其方法的执行成本,这可能会有很高的执行时间。从这个意义上说 , 最 近 的 预 测 方 法 基 于 机 器 学 习 技 术 ( Amiri 和 Mohammad-Khanli,2017)。我们更具体地引用混合方法(Ali-Eldin等人,2013;Herbst等人,2014; Nikravesh等人,2017年)。事实上,这些方法可以具有很高的预测精度,但它们并没有减少执行时间,因为它们涉及几种机器学习方法。此外,还有一些方法没有考虑到工作负荷的动态特性于是不能管理用户请求模式的变化。在自动缩放中,预测结果预期在固定的时间间隔内。如果预测方法不能足够快地返回结果,则它们将被拒绝,因为此时的决策已经做出。从这个意义上说,在这项工作中,我们试图回答一个基本问题:什么是最好的方法,而不是可以用于预测,同时提供一个折衷之间预测结果的质量和执行成本?选择最合适的方法来预测SaaS服务的需求需要实现以下主要目标:在短时间内获得合理的预测,同时保持预测方法的性能因此,我们将要采用的建议必须提供控制预测模型计算时间的可能性,同时确保结果的准确性。在这方面,时间局部性原则(Hamdeni et al., 2016)可以被考虑用于预测云中SaaS服务请求的数量。这一原则是考虑到最近请求的服务可能在不久的将来再次请求本文提出了一种预测SaaS云服务请求数量的新方法该方法提供了优于现有方法的几个优点。本文的主要贡献可归纳如下:所提出的方法使得有可能找到正确的折衷之间的预测结果的质量和方法的性能。然后,它避免了现有工作遇到的缺点,主要是寻找预测精度,同时具有潜在的很长的执行时间。它通过动态调整最近历史的大小来控制计算时间,因为预测模型的输入规模越大,算法的复杂度和执行时间就越大。它可以适应工作负载的动态特性,并可以管理任何类型的工作负载。此外,该预测方法的参数根据工作负荷的变化动态地确定。它执行多步预测。这为服务行为的未来趋势提供了一个大多数最先进的方法提供一步预测,这意味着预测仅下一个时间间隔的值。它考虑了SaaS服务工作负载和虚拟机工作负载之间的相关性。实际上,将到达SaaS服务的请求视为预测技术的目标这为IaaS层的虚拟机工作负载提供了一个关键指标为了解决最先进的问题,并建立上述文章的贡献,我们的方法是建立在三个步骤:首先,我们得到一个给定的云服务的访问历史。其次,为了控制计算时间和处理任何类型的工作负载,开发了一种算法来改变提取的历史的大小第三,基于历史,开发了一种基于时间局部性的算法,以给出在不久的将来维持SaaS云服务的相同需求量的概率的指示,这是为了考虑调整虚拟机、节点和其他资源所花费的时间,以减少延迟并避免违反SLA。本文的其余部分组织如下:在第2中,我们分析了以前的工作,确定了现有的云预测方法所考虑的技术,并对每一种方法进行了批判性的讨论在第3中,我们提出了一种新的预测方法来分配足够的资源,以响应未来的服务需求。在第4中,我们用一个说明性的例子来解释我们提出的方法。在第5节中,我们强调了我们的测量在各种情况下的用法。在第6节中,我们讨论了所获得的实验结果。最后一节总结了我们的贡献,并描述了未来的工作。2. 相关工作已经提出了许多方法来处理云中的资源管理问题。这些方法主要考虑错误率并试图将其最小化。在本节中,我们回顾了一些研究论文,并确定了每项工作中使用的预测技术,以预测未来的云服务行为。云服务行为预测可以根据不同的预 测 维 度 进 行 ( Amiri 和 Mohammad-Khanli , 2017; Kumar 和Umamaheswari,2018)。因此,预测方法可以分为四个主要类别:C1类:将资源利用作为预测维度的工作C2类:将服务绩效作为预测维度的工作。C3类:同时考虑两个预测维度(资源利用和服务绩效类别C4:将服务请求数量作为预测维度的工作。在这种情况下,资源的利用率被视为预测维度(类别C1),假设每个应用程序(在SaaS服务的上下文中)都封装在虚拟机(VM)中(Amiri和Mohammad-Khanli,2017)。预测了未来对VM资源的资源是任何物理的●●●●●●●●●W. Matoussi和T. 哈姆鲁尼沙特国王大学学报3975收入收入!!组件(处理器、存储器、网络元件、存储装置等)或有限可用性的虚拟组件(操作系统),其中SNa、SNb和SNc是在http服务器、J2EE服务器和数据库服务器上完成的事务的平均数量。计算机系统。在文献中,资源通常包括,分别。kHttpJ2EE收入和k数据库是平均transac-CPU、内存等(Manvi和Shyam,2014)。为了预测CPU利用率,Adane和Kakde(2018)评估了五种机器学习算法在从并行数据库存档中提取的服务器日志上的性能。实验是使用Weka工具进行的选择线性回归(LR)、K-近邻(KNN)、神经网络(NN)、随机森林(RF)和支持向量机(SVM)作为资源供给预测模型。这种方法提供了一步预测(预测下一个时间间隔)。它还扩展到提供多步预测。结果表明,支持向量机是最好的性能,除了训练预测模型需要很长的时间。另一方面,本文的工作证明了单个预测模型可以很好地用于特定类型的工作负载,而不适合其他类型的工作负载。Di等人(2014)提出的工作允许预测未来时间间隔内的负载波动和连续未来时间间隔内的负载波动。 他们专注于CPU和内存利用率。该预测研究基于Google数据中心的工作负载。预测方法是基于贝叶斯分类器。贝叶斯分类主要包括五个步骤:首先,确定所有的目标状态。然后,基于样本计算目标状态的概率分布。计算每个目标状态的联合概率分布。然后,计算后验概率。最后,实现预测值。将该方法与自回归、移动平均、噪声滤波等八种方法进行了比较。贝叶斯方法比其他方法平均提高5.6%~ 50%.然而,这种方法无法适应工作量的变化(Amiri和Mohammad-Khanli,2017)。在同一类别中,Amiri et al.(2018)提出了一种基于顺序模型提取的预测模型,称为POSITING,用于预测下一时间间隔的资源未来使用情况。POSITING考虑应用程序过去的行为,提取行为模型(情节),同时考虑资源之间的相关性,并将其存储在离线模型库中。在序列中寻找模式被称为情节提取。情节是一起发生的事件的集合。例如episode=( CPU , high ) ; ( Memory , medium ) ; ( Network , high )(CPU,低);(磁盘,低)(网络,非常弱)。基于提取的事件和最近的应用行为,预测模型预测未来的资源需求。与其他方法相比,POSITING显示出更好的预测精度。但是,它无法适应工作量的变化。此外,存储所有数据然后对其进行处理,无法实现最佳资源消耗。计算资源的消耗和预测模型的执行时间应该是合理的(Amiri和Mohammad-Khanli,2017)。在基于C2类的方针中,业绩评价预测诸如吞吐量、响应时间、可用性的度量。在这第二类作品中,我们可以参考(吴例如,2013年)。这项工作使用排队模型(QM),以反映多级应用程序的工作量和响应时间之间的关系。一个多级应用程序由I个组件组成,每个组件由M个事务组成。响应时间根据等式1获得:HTTP服务器、J2EE服务器和数据库服务器的请求速率。在给定工作负载的情况下,使用QM模型计算预测结果,并将其与观察到的测量响应时间进行比较。估计误差小于15%。估计请求的到达率和服务时间等参数是昂贵的。此外,该预测模型无法管理变化和所有类型的工作负载。Li et al.(2017)提出了一种贝叶斯网络模型(BNM),以预测云服务在下一个时间间隔的响应时间和可用性该方法主要包括四个步骤:首先,收集数据:响应时间,可用性,进程数,CPU使用率和物理内存使用率。然后,处理数据。事实上,如果每个数据都属于合理的变化范围,则它取值True,否则取值False。在此基础上,利用互信息理论建立了贝叶斯网络,并利用贝叶斯网络中节点间的依赖关系,建立了贝叶斯网络模型。然后,每个节点具有条件概率表(CPT),其被定义为在所有可能的条件概率下相对于父节点列出每个节点。最后,利用联合树引擎推理方法对云服务的服务质量进行了预测。实验表明,BNM与神经网络、ARIMA等方法相比,具有更好的性能。然而,在样本数据分散或难以获取的情况下,贝叶斯网络的建立需要专家知识,且不适应应用领域的变化。在Liu和Chen(2019)中,Liu和Chen开发了一种基于聚类和信任感知协作过滤(CF)方法的新方法,以实现服务质量的个性化预测,从而可以推荐可靠的云服务此服务建议将提供给最终用户。首先,提出了一种K中心点算法。它综合用户任务的相似性来识别相似用户。其次,设计了一种信任感知的CF方法来重建集团的用户网络,以确保实现可靠的云服务推荐虽然这种方法给出了良好的预测精度和超越国家的最先进的方法在预测的准确性方面,它有一个多项式的复杂性O ( m2 )的K-medoids算法的一个单一的迭代与CF信任意识的复杂性,它等于O(m2logm+mn),其中m表示的用户数和n的服务的数量。在第三类(C3)的作品中,我们可以参考(Liuet al.,2005年)。本文使用控制理论来确定一个简单的线性模型,可以预测下一个时间间隔的平均响应时间(MRT)。MRT的值与参考值进行比较,并且两个值之间的差被馈送到闭环控制器。这允许调整CPU使用率,以保持MRT在期望的响应时间附近测量。虽然,在这项工作中提出的模型捕捉了大部分的数据波动与合理的准确性,它错过了一些峰值,由于其简单性。如Amiri和Mohammad-Khanli(2017)所述,很难使用线性控制器对云中的工作负载行为进行建模。因此,这种预测方法无法管理所有类型的工作负载。J2EE数据库RTQM销售收入ð1Þ在同一类别C3中,Bankole和Ajila(2013)研究了三种机器学习技术的应用:SVM,ANNSNaSNbSNc;kW. Matoussi和T. 哈姆鲁尼沙特国王大学学报3976ð Þ--ð Þ和LR,以便预测资源的使用(CPU使用),从而快速提供虚拟机。他们还预测了最终用户提交的请求的响应时间和吞吐量。在这项工作中选择的预测区间是12分钟实验表明,支持向量机预测精度最高,但建立预测模型和适应工作量变化SVM学习过程必须重复。因此,它消耗了大量的时间来交付结果。Kumar et al. (2020)提出了一种自我管理的工作负载预测方法,以基于历史信息来预测未来请求的数量、请求或资源使用的模式。该模型通过计算近期预测的平均误差偏差来考虑为了更好地学习网络权重,以获得更准确的预测,黑洞算法得到了增强。该模型的预测精度进行了分析,使用多个跟踪的真实世界的数据。实验结果表明,该模型能够减少均方根预测误差高达99.99%相比,现有的模型。在文献中提出了一些专门用于预测到达云中SaaS服务它们构成第四类(C4)。我们主要感兴趣的是因为我们的建议属于它。在这种情况下,预测方法给出对托管在云中的SaaS应用的未来请求数量作为输出Walsh等人(2004)的作者使用了一种基于表的方法,该方法基于经验,存储了针对不同工作负载强度值和分配给它的不同服务器数量事实上,一个数据中心包含多个逻辑上分离的应用环境,每个应用环境提供一个给定的应用服务。每个Nikravesh等人(2017)提出了一种自适应预测套件,该套件使用机器学习技术来预测下一分钟的Web服务请求数量。提出的自适应预测套件识别工作负载的类型,并自动选择最合适的预测算法的基础上传入的工作负载模型。作为预测方法,使用了两个版本的人工神经网络,MLP和MLPWD以及支持向量机。TPC-W基准测试Web应用程序模拟了一个在线图书馆,用于收集数据.Weka工具用于评估MLP、MLPWD以及SVM算法的性能执行时间可能非常长。神经网络和SVM的构建需要很长时间(Kumar和Umamaheswari,2018)。此外,这些模型需要很长时间来适应工作量的变化,因为学习过程必须重复(Amiri和Mohammad-Khanli,2017)。如Wu和Xie(2021)所述,深度神经网络(DNN)及其变体(例如多层感知器、卷积神经网络和递归神经网络)对内存和计算资源有很高的要求。同样,Ali-Eldin et al.(2013)的作者提出了一个可预测性分析和分类工具(WAC)来预测请求的数量。他们从文献中选择了四个控制器。基于所识别的特征,将工作负荷与最合适的控制器相关联。对于工作负载特性,它们测量工作负载的周期性和突发性。为了测量周期性,他们使用了自相关公式。自相关函数(ACF)将自相关描述为时间滞后s的函数。对于工作负载X,其由以下公式表示(参见图1)。等式2):E½Xt-lXts-l]应用环境i具有实用功能。效用函数对于环境i,其形式为Ui(Si;Di),其中Si是服务联系我们VX2i;Si中的级别空间可以包含任何服务度量(响应时间、吞吐量等)Di是i中的需求空间。Si和Di是向量,表示多个用户类的值的变量。U i(R i)由Ui(Si;Di)计算。根据预测的需求D0,效用计算器计算适当的U Ri资源量。使用时间序列分析方法,需求预测者预测服务的未来需求该方法具有低的可扩展性,桌子的构造需要时间。此外,在同一类别中,Herbst et al. (2014)提出了一种自适应方法来预测Web服务请求的数量。该方法基于决策树为工作负载选择合适的然后应用适当的预测方法如果决策树的叶子包含多个适当的方法,则将执行所有方法,并评估其预测准确性,以选择最准确的结果。当真实值可用时,将在下一预测之前确定预测值与真实值相比的准确度然后,在分类阶段的下一次迭代期间,在决策树中使用结果因此,在预测阶段期间同时执行两种或更多种预测方法,并且使用错误率度量来评估其结果的准确性具有最低错误率值的预测方法定义了自适应分类过程的工作负载类别最后,实验表明,该方法可以获得更好的预测精度。然而,它们没有优化的执行时间,因为必须应用几种这使得这种方法变得复杂,并且不适合实际使用(Singh 和Chana,2015)。其中,E是期望值,X t是时间t时的工作负载值,l是工作负载的平均值,VX是工作量的方差。自相关的值在1和1.如果它的值接近1或1,则这些值之间存在相关性。如果对于所有滞后,它都接近于0,则工作负载被称为是随机的。为了测量爆发,他们建议使用样本熵(SampEn)。它是q点的两个相似序列与下一点相似的条件概率的负自然对数。它们将轨迹划分为更小的相等子轨迹,并为每个子轨迹计算SampEn,从而为更近的子轨迹赋予更多权重是预定义的。如果SampEn的值很高,则工作负载具有峰值。其次,他们选择KNN算法作为工作负载的分类算法。随后,他们从文献中实现了四个弹性控制器。这些控制器代表WAC分配工作负载的类。SampEn的权重和子迹的大小是预先定义的,并且不合理。此外,这种方法具有高的计算成本。这一类别C4的另一项工作,Shahidinejad等人(2020)提出了一种混合方法来供应资源。首先,他们收集请求的数量。然后,对工作量进行预处理。在此阶段,执行噪声和无用请求的消除。然后,为每个请求定义一个ID,并为此请求创建SLA表。在第二步中,在训练阶段,通过Imperialist Competitive和K-means算法对训练工作量进行分组。之后,在测试阶段,使用欧几里德距离选择最接近测试工作负载的聚类。最后,使用决策树实现资源提供。W. Matoussi和T. 哈姆鲁尼沙特国王大学学报3977ð ÞIJ不不我虽然这种方法与其他方法相比表现得更好,但其执行成本仍然很高,因为它涉及几种自动学习方法以建立资源供应Singh等人(2019)的作者使用分类技术进行了工作负载预测。提出了一种基于线性回归、ARIMA和支持向量回归的自适应预测模型。考虑了最后5次延迟,以拟合模型并预测未来需求。使用MAE、MSE、RMSE和MAPE度量来测量预测准确性。实验结果表明,误差率总是大于10%。在同一类别中,我们可以引用工作(Hamdeni et al., 2016年)。这项工作是专门的自适应措施,称为RID,允许预测未来的数据集的访问历史的背景下,数据网格的基础上的需求。这项工作确定了期间的数量:然后将时间段划分为#PN GL期间。此函数以整数作为参数表示标记为GL的粒度级别。时间取决于选择的粒度根据粒度的值,它们获得可以针对精度(当粒度细时)或针对执行成本优化(当粒度粗时)来优化RID的度量的周期数然后,基于时间局部性原理确定每个周期k的权重Wk此方法支持工作负载的动态特性。在同一类别C4中,Tirado等人(2011)使用ARMA自回归模型预测了一个名为LastFM的在线音乐门户网站在时间t的工作量。在LastFM中,对象是歌曲,每首歌曲都有一个属性。后者被认为是一个类别。然后,根据预测的演变,建立预测数据分组。它基于消费的亲和力。后者是根据一组用户访问内容的历史来估计的。分组数据的目的是增加在时间t的访问的局部性,此时类别可能反映时间局部性。所提出的方法是基于一个亲和度度量,表示为ij,它捕捉两个类别之间的关系。表示用户消费类别的cj。在时间t的值aij由Jaccard系数的一个版本计算,由以下公式表示(参见图1)。等式3):从PA选择信息然后,他决定是否应该增加或减少工作量,以充分利用打印机。结果证实了这项工作的设计选择的充分性预测方法根据不同的预测维度来预测服务的行为。事实上,C4的作品对预测请求的数量很感兴趣这可以被视为云服务的关键指标实际上,这样的信息可以用于计算其他指标(诸如虚拟机使用、虚拟机工作负载、性能等)的结果 的相同服务(Nikravesh等人, 2017年)。因此,在我们的工作中,我们将服务请求的数量视为预测维度在本文的相关工作部分中提出的大多数研究都没有检查他们的预测模型的执行时间更具体地,我们注意到混合方法(Ali-Eldin等人,2013; Herbst等人,2014; Nikravesh等人,2017年,属于C4类。虽然这些方法具有非常高的预测精度,但它们的执行时间不低,因为必须应用几种机器学习方法。此外,算法在执行时间方面的复杂性将受到历史的大尺寸的影响,即,历史越大,算法的执行时间就越长。为了确保预测模型的效率 , 后 者 的 时 间 和 空 间 复 杂 性 必 须 不 显 著 ( Masdari 和Khoshnevis,2020)。此外,工作负载的特征可能在操作期间改变。事实上,SaaS服务的工作负载是动态的,并且其特征在于突然的峰值(Singh等人,2019年)的报告。如果我们考虑所有的历史,就不容易发现最近的变化。在这方面,所提出的方法的另一个缺点是一些方法没有考虑所有类型的工作负载。例如,它们只能处理工作量的线性关系,无法捕捉峰值。此外,存在不管理工作负载的变化及其改变的方法。在这项工作中提出的方法将被设计,以克服现有方法的缺点,并实现这两个目标:在短时间内获得准确的预测它还将适应工作负载的动态性质及其变异。t ta¼jUi\Ujjð3ÞjUi[Uj j其中Ut表示在时间t使用ci的内容的用户集合。所提出的方法然后将相关类别放置在同一服务器上。当使用LastFM的工作负载时,所然而,该方法所使用的ARMA模型无法捕捉到不寻常的工作负载模式和工作负载的变化。D'Aniello等人(2020)提出了一种基于多系统代理的方法,该方法在这项工作中,他们设计了用于管理和监控3DPS的多代理系统(MAS)Zhou等人,2018年提出了一个多Agent系统模型,该模型包括三种Agent:任务Agent(TA)、主Agent(MA)和打印Agent(PA)。任务代理(TA)收集和处理任务,然后根据用户需求和提供商策略进行组织。它配备了分类器。打印代理(PA)监视特定打印机是否处于不足或过载状态。主代理负责生成任务调度,以及监测和支持遗传规划过程。在执行任务的同时,MA Col-3. SIN:服务调用号在本节中,我们将详细描述我们提出的用于预测服务调用号的方法,称为SIN。该方法将允许预测下一个时间间隔内到达SaaS服务此外,该方法的实施将是为了实现这两个目标:在短时间内获得准确的预测,同时优化预测方法的执行时间此外,该度量可以扩展到预测多个转发时间间隔的请求数量。我们的方法的预测过程分为三个步骤:1. 获取对给定云服务Sk(SaaS上下文)的访问历史2. 历史记录大小的变化(滑动窗口)。3. 基于时间局部性原理预测最终用户提交的SaaS服务请求数量3.1. 服务访问历史服务请求历史记录描述了终端用户在最近一段时间内提交的访问服务的请求。历史是W. Matoussi和T. 哈姆鲁尼沙特国王大学学报397800由包含终端用户按时间间隔提交的请求数量的记录描述,该时间间隔按时间顺序分类SaaS上下文中的工作负载具有突然变化和突然尖峰的动态方面(Toumi等人, 2019年)的报告。例如,当迈克尔·杰克逊去世时,15%的维基百科请求都是针对关于他的文章,导致了负载高峰(Ali-Eldin例如, 2013年)。在同样的背景下,演员詹妮弗·安妮斯顿在Instagram上注册导致该平台暂时崩溃,因为她的这也引起服务提供商侧的过载(Toumi等人,2019年)的报告。因此,如果考虑到所有的过去,就不容易发现最近的变化。此外,计算时间可能很高。为了克服这些限制,我们的方法将只考虑最近的历史使用滑动窗口。在时刻t,长度等于SW大小的滑动窗口包括服务在区间[ti-SW大小1,. .(Amiriand Mohammad-Khanli,2017).我们将滑动窗口中的工作负载向量指定为SW =(X1-SW大小1,. . .,X1),其中SW大小是滑动窗口中的样本数量,也称为窗口大小。向量的元素按从最早到最新的顺序组织。xi则表示最终用户提交的请求数量,它是最近的样本。3.2. 滑动窗口大小我们将采用最小尺寸的滑动窗口(包括最近的历史记录),在这种情况下,我们将有一个非随机的工作负载,因为后者遵循可重复的模式。在这种情况下,窗口大小的增加将不会对预测的准确性产生实质性影响另一方面,在一项研究中,在具有随机工作负荷模型的环境中,增加窗口的大小对预测的准确性具有积极的影响。原因是在随机环境中,数据中存在许多波动。因此,如果所分析的历史不足够,则预测度量将不能完全提取数据点之间的关系。因此,增加窗口的大小将使得可以包括来自历史的更多数据点,这提高了预测准确性(Amiri和Mohammad-Khanli,2017; Nikravesh等人, 2017年)。因此,使动态历史的大小将控制计算时间,因为我们将不考虑最大滑动窗口大小,只有在必要时。在这两种情况下,随机与否,我们的目标是获得足够的历史,以提高预测精度。在优化执行成本的同时,然后将为非随机工作负载定义最小尺寸m的窗口,并且为较大尺寸m的窗口定义最小尺寸m的窗口。 将为随机工作负载定义。注意m和m的值 将根据实验确定。因此,在决定滑动的大小之前,确定工作负载的随机方面是有用的下一步要考虑的窗口。为了确定工作负载的随机性,我们将使用自相关(cf. 公式(2))。自相关(Ali-Eldin等人,2013; Cetinski和Juric,2015; Wei,2016)是一种统计方法。 它允许显示连续滞后值之间的相似程度。目标是测量滑动窗口中不同滞后下两个值的相关性。随机工作负载在滑动窗口中的所有时间滞后处具有接近0的自相关性,即,自相关的值在零值周围的范围[MinThreshold;MaxThreshold]中。基于此,动态调整滑动窗口大小的伪代码算法在算法1中给出算法1:动态调整滑动窗口W. Matoussi和T. 哈姆鲁尼沙特国王大学学报3979¼XX联系我们ðÞð Þ¼ ð ÞðÞðÞ●0ð Þ:1/2ðÞ算法1的复杂度为O(d2),其中d是滞后数示例:SW大小:SW=[3,6,3,4,3]s=1迭代1:TotalSum = 0Res1 = 3-Res2 = 6-3.8 = 2.2Ress =-0.8 2. 2 =-1.76总计=-1.76工作负载的稳定程度,以及因此的时间局部性的效率。在可以评估最近的数据点是否能够很好地指示未来工作量的数学函数中,,工作量是否稳定,我们将使用方差(Kagan和Shepp ,1998)。此功能允许我们测量滑动窗口中数据点滑动窗口SW的工作负荷的方差由以下公式给出(参见图1)。等式4):SW尺寸xi-l迭代2:Res1 = 6VVSWV1SW尺寸ð4ÞRes2 = 3-总计=-1.76+(-1.76)=-3.52迭代3:Res1 = 3-Res2 = 4其中,如等式5所示,SW尺寸XiSWi¼1SW尺寸ð5ÞRes=-0.8 0. 2 =-0.16总计=-3.52+(-0.16)=-3.68。迭代4:Res1 = 4Res2 = 3-总计=-3.68+(-0.16)=-3.84E115-141xi是在时间ti处对服务的请求的数量,并且SW大小是滑动窗口SW中的数据点的数量。让我们回想一下,数据点的数量等于窗口的大小。 一般来说,V值较低 SW 这意味着时间上的局部-效率高,即。,滑动窗口的工作负载稳定,高值意味着工作负荷历史不稳定。在此基础上,方差与时间局域性成反比因此,工作负载稳定性的程度可以从方差的倒数中获得,如下所示:水务署西南16VSW自相关值:-0: 71这一步骤使得处理VSW一点三十六分系统,即滑动窗口中的工作量变化自相关Val R[-0.2,0.2],则SW尺寸:¼m= 33.3. 基于时间局部性原理时间局部性指的是最近的行为是在不久的将来看到的行为的良好预测的原则它包括考虑到最近请求的服务在不久的将来可能再次被请求。我们将要获得的时间局部性的度量将给出在不久的将来保持相同工作量的概率的指示这样,有必要评估最近的历史请求是否代表未来请求的良好指示。因此,这允许设计应用于每个数据点的权重,同时为最近的请求提供强权重。重要的是要知道,时间局部性并不是对所有工作负载都有效。例如,在滑动窗口SW= [7,18,5,21,7]的情况下,工作负荷不稳定。最后一个数据点不太可能在不久的将来重复,因为时间局部性是无效的。在这种情况下,与旧数据点相比,给最后一个数据点赋予非常高的权重是不合适的。对另一方面,如果SW=[4,4,5,5,5],则时间局部性是有效的。这克服了某些方法没有考虑工作量变化的缺点接下来,我们将使用WSD SW值来动态分配权重。3.3.2.动态权重归属我们需要一个数学函数g来表示从时间序列中的最后一个数据点到旧数据点分配给每个数据点的权重的行为。g函数必须保证,只要WSD SW是高的,就像重量迅速减少g是一个正函数。因此,分配给时间序列数据点的权重将为正值。G应该下降。这样,最近的数据点将具有最高的权重,然后我们将减少权重。li mx!100gx=0。权重的下降应该在开始时更快,以便在稳定之前对最近的数据点给予更多的重视。可以提供g的许多实例,例如1;1;1。在这Xex在墨西哥湾,工作,我们在区间1/2,+1/2中使用函数1。实际上在这种情况下,工作负载是稳定的,最后1个请求>1>1在墨西哥湾,这提供了更高的权重值。这样我们这些数据在未来可能会重复因此,最近的工作量值应比旧的工作量值加权更大。3.3.1. 时间局部性事实上,我们确定的时间局部性的效率,即。,使用称为WSD(工作负载稳定度的聚焦变化)的函数来确定工作负载的稳定性,该函数考虑了滑动窗口中给定服务的工作负载,并给出了在墨西哥湾,Xex可以清楚地区分时间序列中两个连续数据点之间的权重。g函数将计算关联权重的数据点的索引作为参数。由于g减小,它将具有索引SW大小-i+2。每个数据点的权重将从所选函数和WSD SW的组合中获得,SW是考虑的滑动窗口。这种组合必须保证,只要WSD_SW_WSD_SW_WSD很高,那么权重就迅速下降●●W. Matoussi和T. 哈姆鲁尼沙特国王大学学报3980:58.ΣðÞðÞXX五点十分00换句话说,当WSD的权重值较高时,最新数据点与旧数据点的权重值之间的差异应增大。示例:SW=[3,6,3,4,3,2] WSD(SW)=11=0.63这使我们能够利用时间局部性在所涉及的滑动窗口中,这有利于滑动窗口SW的时间序列的最近数据点。数据点i的权重Wi然后将被分配如下(参见图1)。等式7):1W1½ln6- 10点63分þ2Þ20:66Wi¼1个水务署副署长InsouthSWsize-i2ð7Þ总重量:总重量的1/2总重量的1/20: 661/2 0: 66重量总和:1/4重量总和:1/3× 0: 661/ 4: 98W1/W2/W3/W4/W5/ W4/W-i28十点六十三分i尺寸因此,水务署的污水排放量,W2¼ln6- 2þ2Þ20:69通过回到过去来减少权重。WSD SW的值越高,与旧的数据点相比,越新的数据点将受到青睐。此外,WSD SW的低值(其指示时间局部性不是有效的)将减小权重之间的差异总重量:<$0:66<$0: 69< $1: 35重量总和:<$1: 98< $6× 0: 69< $6: 12十点六十三分根据工作量的稳定性计算权重,得到预测测度。这将W3¼ln106-3102mm24小时允许我们摆脱设置参数值的复杂任务,这与现有技术方法的情况不同。3.3.3. SIN的应用首先,我们将预测最终用户在以下时间段内对给定服务Sk发起的请求数量该方法-总重量:<$1:35< $0: 74< $2: 09重量总和:<$6: 12< $3× 0: 74< $8: 34W4=10:63= 0.81。1月6日至4月2日总重量:¼2.09 + 0.81 = 2.9sure计算所有请求的权重之和除以所有数据点的权重之和,如以下公式所示:权重和:¼8.34 + 4× 0.81 = 11.58W5=10:63=0.94。1月6日至5月2日SIN S VMSW尺寸Wi×xi1/1总重量:¼2.90 + 0.94 = 3.84权重和:1/411.58 + 3× 0.94 = 14.409W6=10:63 =1.26。(b)jSW尺寸Wi1/11月6日至6日2时总重量:¼3.84 + 1.26 = 5.10权重和:1/414.40 + 2× 1.26 = 16.92SIN=16:92= 3.1 3。其中xi是终端用户在时间ti提交的请求数量;Wi是与每个数据点相关联的权重,SWsize是所考虑的滑动窗口的大小。在此基础上,算法2提出了动态权值分配和SIN应用算法2:动态权重归属和预测算法2的复杂度是线性的,它等于O(SWsize),其中SWsize是滑动窗口中的数据点的数量。然后,针对下一时间间隔预测的请求的
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功