Page 280 - 《软件学报》2021年第8期
P. 280

2562                                   Journal of Software  软件学报 Vol.32, No.8,  August 2021


                                                           d b
                                                   d a
                                                                   d c
                                                           d d2
                                                  d d1              d e
                                                   d f1    d f2    d g

                                                            d h     d i

                                                    n 1     n 2      n 3
                                              Fig.3    Allocation of data in executor
                                                  图 3   线程内的数据分配

                    路径开销 l p (e ji ,e mn )表示从顶点 e ji 到顶点 e mn 内所有线程与有向边的开销之和,则
                                           l p ( ,e e mn ) =  ∑  e +  ji  ∑  b  , j i                 (1)
                                              ji
                                                    e ∈  ji E pe  , mn ))  b ∈  , j i B ( ( ji ep  e  , mn ))
                                                       (( ji e
                                                                                edge
                                     executor
                    令路径的计算开销 W       computation cost  为线程数据的处理时间,路径的传输开销 W    communication cost  为线程间数据的传
                 输时间,则路径的总开销 W cost 为
                                                                edge
                                                     executor
                                              W cost  = W computation cost  + W communication cost    (2)
                                    edge
                 其中,路径的传输开销W       communication cost  由节点内部线程间通信开销、节点内部进程间通信开销以及节点间通信开
                 销这 3 部分组成.由于每个工作节点仅存在一个工作进程,则节点内部进程间通信开销为 0.故
                                            W   = W executor  +  W  edge  +  W  edge                  (3)
                                             cost  computation cost  executor cost  node cost
                                              edge
                       edge
                 其中,W node cost  表示节点间通信开销,W  executor cost  表示节点内部线程间通信开销.此外,如果线程 e ji 和 e mn 位于相同
                 的工作节点,则线程间的通信开销可忽略不计.因此,
                                                       executor
                                                W cost  =  W computation cost  + W node cost          (4)
                                                                  edge
                    令整个拓扑存在 n 条路径,则拓扑执行关键路径 l(G p )为
                                                                         ,
                                         ( lG p ) =  max{ ( ,l  1 p  e e mn ),l  2 p  ( ,ee mn ),...,l  n p  (ee mn )}  (5)
                                                      ji
                                                              ji
                                                                        ji
                    此外,根据工作节点是否位于关键路径上,将工作节点分为关键节点与非关键节点;根据线程是否位于关键
                 节点,将线程分为关键节点上的线程与非关键节点上线程,简称关键线程与非关键线程.
                    以图 4 为例,定义一条拓扑执行关键路径为 e a →e d1 →e f2 →e h ,则工作节点 n 1 与 n 2 为关键节点,工作节点 n 3
                 为非关键节点.
                                                           e b
                                                 e a
                                                b a,d1              e c
                                                          e d2
                                                e d1                 e e

                                                  e f1  b d1,f2  e f2  e g
                                                           b f2,h
                                                           e h       e i
                                                  n 1       n 2       n 3
                                Fig.4    Topology execution of critical path data transmission and processing
                                           图 4   拓扑执行关键路径的数据传输及处理

                 2.2   资源约束模型
                    定义 4(资源约束).  为满足 Storm集群进行数据迁移时各工作节点的资源需求,需设置工作节点计算资源集
   275   276   277   278   279   280   281   282   283   284   285