Page 47 - 《软件学报》2021年第7期
P. 47
李念语 等:一种基于分层适应逻辑的自适应系统实现框架 1965
4.1.1 实验设置
我们基于内外因的概念模型构建了一个电商网站的自适应系统,此外,我们将 Klein 等人 [25,26] 扩展 RUBiS
搭建的自适应拍卖网站 Brownout 作为基准,并将基于内外两层的自适应系统实现与之进行性能比较.然而,
Brownout 中的适应策略是基于控制理论的,而本文方法实现的系统的自适应策略是基于规则的,为了使这两种
方法具有可比性,我们将一个时期内推荐概率的稳定值作为 Brownout 的自适应动作.我们试图评估:(1) 适用性,
即用内外两层框架开发和实现的自适应系统(attr-based)与前沿研究中的实现(brownout)具有不相上下的目标
满意度;(2) 决定性自适应规则(DAP)的可复用性,即在部署环境变化或者扩展(存在环境变量从未知到已知的
扩展)时,DAP 和新部署环境绑定的 IAP 一起依然能够满足系统目标,并优于非内外因实现的自适应系统目标满
意度.
适用性实验在一个具有四核 i7 3770 3.40GHz 处理器的虚拟机上进行,我们开发了一个自定义工具 Cap 作
为管理程序来控制 CPU 资源分配,并采用了一个自定义工具 httpmon 来动态调整活跃的用户数,通过客户端线
程数来模拟工作负载.然后,我们将推荐率划分为 20 个区间(即从 5%~100%),并对每个值进行测试,定义算法为
所有可能的响应延迟和偏好权重下找到最大化系统性能的推荐率值,作为 DAP.接下来,我们在该虚拟机上生成
1 920 条数据记录(即连续环境变量离散化表格中所示的 6840),在此基础上,通过训练具有 3 个隐藏层且每个
隐藏层有 1 000 个神经元的神经网络,生成 IAP.
对于可复用性实验,一方面,我们将一台采用四核 i5 5200U 2.70GHz 计算频率较低的处理器作为变化的部
署环境,在保持 DAP 不变的前提下,对新环境中的 1 920 条数据进行再训练生成新的 IAP.另一方面,在原部署环
境(即 i7 3770 3.40GHz 处理器)中,将用户思考时间(think time,简称 tht)视为每条记录中需要收集的另一个环境
因素,即 IAP 形式更新为“upr,ccp,usn,thtresl,w1,w2,w3”,重新训练生成 IAP.
4.1.2 实验结果
适用性实验.如图 6(1)所示,3 组实验中,每组实验关注一个环境因素的变化(另外两个环境因素保持不变).
实验结果分别记录了在变化的环境因素中,基于归因模型实现的平均响应延迟和系统性能,这些环境因素(外
因)通过内因影响自适应目标,通过推理影响性自适应规则和决定性自适应规则生成自适应行为.实验结果也记
录了 Brownout 的平均响应延迟和系统性能,其中在变化的计算能力和用户数量中,两种实现方式的响应延迟几
乎是一样的,而在变化的优先级中则有些不同.对这种差异的合理解释是,由于偏好优先级不同,在基于内外因
的方法中,会更多地考虑低超时,而不太注重快速响应.在系统性能方面,将外因和内因分离,系统有能力适应环
境变化,性能甚至比 Brownout 更好,这是因为 Brownout 不能调整偏好的权重.总体来说,Brownout 和基于内外因
的实现,都能以相对较低的平均延迟满足系统目标,性能也维持在较高的水平.
可复用性实验(部署环境变化).如图 6(2)所示,这组实验在一个计算频率较低的处理器上进行,我们将这种
差异性视为部署环境的隐示变化,即不显示地将其当成环境因素,但这种差异的确会改变环境因素与自适应行
为之间的关系.例如,在具有 3 个核、1 000 个活跃用户、偏好优先级为 1 时,在这一新的部署环境中,响应延迟
为 0.38s,权重为 0.48、0.46、0.6,导致了 65%的推荐率,这与原部署环境中 75%的推荐率不同.如第 2 组实验结
果所示,在两种实现中,由于计算频率、平均响应延迟均升高,对于 Brownout 来说,由于自适应策略和自适应行
为与上一个部署环境绑定,在新的部署环境下,它不能有效地适应环境因素的变化,如图 6 所示,其适应能力有较
大幅度的下降(系统性能下降超过 10%).在基于归因的实现中,我们对这次新部署收集到的记录重新训练生成
IAP 并使用原部署中的 DAP,明确考虑隐示因素的效应.虽然由于处理能力较低,性能仍然有所下降,但与
Brownout 相比,性能下降得较少,相较优势明显.因此,尽管存在 IAP 的重新训练成本,但是基于归因实现的相对
性能有所提升,即与 Brownout 的性能差异增大.
可复用性实验(部署环境扩展).在第 3 组实验中,DAP 不变,我们在新一轮的 IAP 训练中加入了用户思考时
间,象征着环境因素的新发现.在第 1 组的实验中,由于已经有了良好的系统性能,性能的提升空间并不大.但是
随着 IAP 的更新,第 3 组的性能得到进一步的提升,如紫色区域所示.这个结果符合我们的直觉——对环境了解
得越多,自适应系统就越能进一步得以改进,性能也就越好.