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 互为相似任务.
   315   316   317   318   319   320   321   322   323   324   325