Page 320 - 《软件学报》2020年第12期
P. 320
3986 Journal of Software 软件学报 Vol.31, No.12, December 2020
终提高整体性能.因此,在运行时根据多种因素动态调整最大压缩率.资源压缩应满足以下约束:
⎧
⎪ n
⎪∑ μ < 1
i
⎪ i= 1
⎪ n+ 1
⎪
⎨∑ μ > 1 (2)
i
⎪ i= 1
⎪ n n+ 1
⎪∑ w i ∑ w
⎪ i= 1 < i= 1 i
⎪ ⎩ T T′
其中,服务器上某种资源总量为 1,第 i 个任务占用该资源μ i ;在 T 时间内完成的工作量为 w i ;T′为资源压缩后实际
完成时间.
对任务 m 而言,完成工作量 w m 所使用的资源总量一定,因此有等式关系(3):
T μ× m = T′× t μ × m (1 r− c ) (3)
其中, T′ 为资源压缩时所需时间,r c 为资源压缩率.
t
由等式(3)可以推导出 T′ 计算公式如等式(4)所示:
t
T
T′= (4)
t
−
1 r c
实际运行中,由于资源竞争的原因,资源压缩后实际完成时间 T′> T′ .T′计算公式如等式(5)所示:
t
T′ (1+ ) p × T′ = t = (1+ ) p × T (5)
−
1 r c
其中,p 代表资源压缩引起的性能变化.
n n+ 1
∑ w i ∑ w i
将等式(5)代入不等式 i= 1 < i= 1 中,可得到 T 时间内最大压缩率约束,如不等式(6)所示:
T T′
n
−
w n+ 1 ∑ w × p
i
r < n+ i= 1 1 (6)
c
∑ w i
i= 1
由于最大压缩率为非负数,且应小于最大压缩率限制值,FGM 中,通过不等式(7)分析一段时间内某种资源
的最大压缩率,以确保资源压缩之后的资源利用率和性能相较无压缩情况有所提高:
⎛ ⎛ n ⎞ ⎞
−
⎜ ⎜ w n+ 1 ∑ w × i p ⎟ ⎟
⎜
⎜
r = min max limitation , i= 1 ⎟ ,10% ⎟ (7)
⎜ c ⎜ n+ 1 ⎟ ⎟
⎜ ⎜ ∑ w i ⎟ ⎟
⎝ ⎝ i= 1 ⎠ ⎠
公式(7)中,limitation 为可压缩资源的最大压缩率限制.
2.2 资源需求运行时推测
FGM 通过细化资源分配的粒度,向任务分配时刻符合资源需求的资源量,避免产生资源碎片,提高资源利
用率.因此,准确量化任务各时刻的各种资源需求量及持续时间是 FGM 的关键点之一.云计算中的应用大多为
大规模并行而设计,因此,负载中普遍存在执行逻辑相同的任务,这些任务具有相同的资源使用行为.FGM 在执
行逻辑相同任务的基础上定义相似任务,并根据相似任务的运行时信息推测任务的各种资源需求及持续时间.
由于各种推测方法均存在局限性,当应用场景发生改变时,推测方法也应当随场景及负载而调整,其他可选推测
方法包括:沙盒执行、数学建模、静态剖析、历史信息等.
定义 3(相似任务). 假设任务执行逻辑为 L,处理数据量为 D,如果任务 i 和 j 存在关系 L i =L j ∧D i =D j ,则任务 i
和 j 互为相似任务.