Page 46 - 《软件学报》2021年第7期
P. 46
1964 Journal of Software 软件学报 Vol.32, No.7, July 2021
内因.电子商务系统中的一个目标是将响应延迟(response latency,简称 resl)控制在服务级协议(service-
level agreement,简称 SLA) [22] 范围内.例如,1s 内,并忽略网络传输时间(即 resl<1s).另一个目标是使系统性能最大
化(即 max(w1p1+w2p2+w3p3)),其中,p1、p2、p3 代表了 3 种不同的服务质量要求(即偏好).
p1:高推荐.尽可能地保持较高的同类产品推荐率.
p2:快响应.尽可能快速地响应用户请求,即响应延迟越低越好.
p3:低超时.表示在服务级别协议内,尽可能保持较低的超时响应比例.
其效用函数如图 5 所示.w1、w2、w3 是分配给每个偏好的权重,且 w1+w2+w3=1.resl 和 3 个权重值为系统
内因数据.此外,电商网站的功能是通过调整推荐率,即可配置的参数 pr(也是系统内因数据)来实现资源需求的
调控.
Fig.5 Utility functions for three preferences
图 5 3 个偏好的效用函数
外因.关于环境因素,对于这个运行在动态云环境中的应用,我们识别出 3 个具有非确定性的变量.
1) 用户优先级(user priority,简称 upr),表示为 3 个非功能需求,即偏好的优先级,3 个偏好对应了 6 种不同的
优先级排列方式.例如,第 1 种代表高推荐的优先级高于快响应,而快响应又优于低超时,即 p1>p2>p3,而第 2 种
代表 p1>p3>p2.
2) 计算能力(computing capacity 简称 ccp),由分配给该网站的 CPU 资源量来衡量.分配 400%的 CPU 意味
着这个网站可以独占物理机的 4 个核心,而 50%则意味着可以访问物理机的一个核心,且仅有一半的使用时间.
3) 用户数(user number,简称 usn),表示活跃的用户数.
我们将这些连续环境变量离散化,划分为网格化的离散点,如下表所示,以缩小自适应规则空间.
环境变量 取值区间 #离散点数 间隔
upr 1~6 6 1
ccp 50%~400% 8 50%
usn 100~4000 40 100
自适应规则.与部署环境绑定影响性自适应规则(即 IAP)的形式为“upr,ccp,usnresl,w1,w2,w3”.例如,当优
先级为 1,分配给系统 3 个完整 CPU 且当前有 100 个活跃用户时,将导致响应延迟为 0.31s,p1、p2、p3 的最优
权重分别为 0.88、0.06、0.06.具体来说,优先级越高,分配给偏好的权重越多.而在设计阶段独立制定的决定性
自适应规则(即 DAP)的形式为“resl,w1,w2,w3probadjust(x)”.例如,当响应延迟为 0.31 时,即该数据状态远低于
服务级协议设定的 1s,高推荐率的偏好可以进一步提升.因此,自适应动作将 pr(即推荐概率)提升为 75%,从而使
得系统性能最大化.规则的获取方式将在实验设置中进一步加以阐述.
由于环境开放且复杂,可能会有一些未知的环境因素会影响系统目标的满意度.例如,在不同的云部署环境
下,CPU 的处理能力(本文中,计算能力是指可用的 CPU 数量,而处理能力是指每个 CPU 的计算频率)不同,会导
致相同环境因素(即 upr,ccp,usn)下的响应时间不同.另外,用户思考时间,即用户两次请求的间隔时间,也会影响
实际的负载量,从而影响响应时间.如果开发者未能准确地识别出这些隐性的环境因素,适应于某一个部署环
境的自适应规则很可能不能有效地适用于另一个部署环境中(即两个部署环境中的处理能力或用户思考时
间有明显差异).在接下来的实验中,我们假设处理能力这个环境因素未被系统开发者知晓,从而未被显示地
建模成外因以及被考虑进自适应规则中,其对系统目标和偏好的影响是隐示的.另外,我们假设用户思考时间
原本也是未知的环境因素,然而随着时间的推进,该因素被发掘出来,用以代表部署环境的扩展.