边缘计算中经济高效的复制管理与调度

摘要

在工业场景中,物联网(IoT)传感器持续产生大量数据。特别是来自物联网系统的数据密集型工作流需要以实时、可靠且低成本的方式进行处理。边缘计算能够提供一种低延迟且高性价比的计算范式来部署工作流。因此,在边缘计算中针对延迟敏感型工作流的数据复制管理与调度已成为具有挑战性的研究问题。本文中,我们首先提出了一种复制管理系统,该系统包括动态复制创建器、一个专用于数据放置的高性价比调度器、系统监视器以及一些面向协同边缘与云计算系统的数据安全工具。接着,综合考虑任务依赖、数据可靠性与共享等因素,将工作流的数据调度建模为一个整数规划问题,并提出一种更快的元启发式算法来求解该问题。实验结果表明,我们的算法相比传统比较策略可显著提升系统性能,能够在截止时间约束下减少总数据访问成本的同时,生成适当数量的数据副本并搜索更高质量的副本放置方案。

关键词 :副本创建,数据调度,复制管理,边缘计算

1. 引言

根据华为[1], ,到2025年将有超过1000亿台终端通过互联网实现互连。而机器人、摄像头和可穿戴设备等用户智能终端正变得越来越普及。因此,物联网(IoT)传感器网络持续产生海量数据。在各类工业工作流应用中,如虚拟现实/增强现实、人脸识别、车联网通信和在线游戏,面向实时处理的数据管理[2]变得更加关键且具有挑战性。

边缘计算[3‐4]将云服务带到网络边缘,靠近物联网设备,因此具有许多优势,例如本地计算带来的低通信开销和更快响应时间。然而,边缘计算的处理能力有限。因此,边缘与云计算的协作[5‐6]结合了两者的优势,如来自云的无限共享存储和计算资源,以及边缘计算的低延迟数据预处理。边缘与云计算范式可以为部署工作流应用提供一种实时且成本效益高的有前景的方式。然而,由于边缘与云系统中存在不同的访问成本,这也给复制管理和调度带来了更深层次的复杂性。

为了实现更高的数据可靠性,分布式文件系统通常使用数据复制。例如,GFS [7] 和 HDFS [8] 通常通过为每个数据集创建 2‐4 个副本来实现静态复制。此外,数据复制是一种有效减少网络消耗和总访问时间的技术。尽管数据复制具有优势,但它也带来了显著的存储成本,尤其是在资源受限的边缘集群中。由于协同边缘与云是一个高度动态的环境,维持最优的数据副本分布意味着云服务必须能够调整数据对象的数量。因此,需要有效的副本创建策略,在不消耗过多存储和带宽资源的前提下,实现数据可靠性和系统性能的目标。

一些关于数据创建与调度策略[9‐18]的研究已被提出,用于在分布式计算系统中管理数据副本并降低数据传输成本。然而,极少有研究考虑在协同边缘与云计算环境中敏感延迟工作流的情况。与以往技术不同,我们研究了在协同边缘‐云环境中针对工作流的数据副本创建与调度问题。

本文在协同边缘与云计算系统中设计了一种新颖的动态数据复制管理框架。考虑到数据块的流行度和节点负载,我们提出了动态副本创建方法。接着,我们对工作流的数据副本放置问题进行建模,并提出基于ITÖ算法的数据调度算法来解决该问题。本研究具有以下三方面的具体贡献。

1) 设计了一种用于在协作式边缘‐云计算中处理数据密集型和低延迟工作流应用的数据复制管理系统。

2) 考虑到数据块的流行度和节点负载,我们提出了动态副本创建方法。我们将工作流的数据调度建模为一个整数线性规划问题,然后提出了一种更快的元启发式算法,以在满足截止时间约束的同时最小化总数据访问成本。

3) 在边缘‐云计算环境中,我们对所提出的DRSA算法与遗传算法、粒子群优化进行了广泛的实验对比。这些结果表明,我们的数据复制管理系统能够自动在异构边缘与云系统之间传输工作流的数据,且我们的低成本高效的数据创建与调度算法相较于传统比较策略能够实现更优的系统性能。

本文的其余部分组织如下。第2节回顾了相关工作。第3节提出了一种动态复制管理系统,第4节给出了副本创建与调度问题的描述。第5节详细介绍了数据副本调度算法。第6节通过大量实验对算法进行了评估。第7节得出结论。

2. 相关工作

数据复制和调度正成为提高分布式系统中数据可用性和容错性的流行技术。这些技术已被广泛用于解决减少数据访问时间和带宽消耗的问题。相关工作从两个方面进行总结:数据副本创建和数据调度策略。

数据副本创建

Azari 等人 [9]提出了文件流行组复制(PGFR)算法,通过构建连通性图来识别每个数据网格站点中一组相关的文件,并复制最流行的文件组以提高本地可用性。考虑到文件之间的关系,Khanli 等人 [10]提出了预测性分层快速传播(PHFS),用于预测未来的文件请求并提前复制文件。Abdurrab 等人 [11]通过分析每个网格站点的文件访问历史,提出了 FIRE策略,以发现本地作业与文件之间的关联。

云系统本质上是异构的,因为不同的数据中心具有不同的成本 [20‐ 22,40‐43]。吉尔和辛格 [12] 使用背包方法优化数据复制成本,并将副本从高成本数据中心复制到低成本数据中心。马特里等人 [13] 提出了一组算法和原则,适用于松散耦合的DHT和流言存储系统。该方法允许在尽可能靠近最终用户的位置动态复制热门数据对象,以确保尽可能低的延迟。假设节点被排列成一个环,且数据块基于单向环结构进行传输,日高等人 [14] 提出了两种优化和启发式的数据副本重构方案,以最小化数据节点的数据传输成本。

数据调度策略

在协同计算环境中,数据不再本地可访问,而应远程存储和检索。在分布式计算环境中,高效且可靠的数据调度策略已成为研究人员关注的主要问题。

为了增强Hadoop集群中的数据局部性,奈克等人[15]提出了一种数据调度器,该调度器根据服务器的处理能力将输入数据集分配到各个服务器。李等人[16]结合了数据块的最优放置与任务调度,以减少响应时间并改善边缘计算中的用户体验。塔克等人[17]构建了一个高效的 数据编排环境 ,适用于KSTAR数据流。崔等人[18]提出了一种基于遗传算法的云环境中工作流数据副本放置方法。肖尔富扎曼等人[19]利用热门文件的数据访问信息,提出了一种基于完全动态规划方法的分布式QoS感知副本调度算法。李等人[20]采用粒子群优化(PSO)来开发一种新的多数据中心低成本数据放置策略。拉马斯瓦米等人[21]估算了数据副本的效用,并量化了给定位置下特定数据项的成本与收益,进而为协作式边缘缓存网络设计了一种基于效用的数据放置方案 。施里瓦斯塔瓦等人[22]提出了一种改进的机会性数据调度算法,用于车载自组织网络 以 提高能效和吞吐量。

与上述工作不同,我们的研究提出了一种边缘计算中的副本管理系统。考虑到数据流行度、节点负载以及任务间依赖关系,我们联合研究副本创建和数据调度,以降低数据访问成本,同时满足应用的延迟敏感需求,并采用ITÖ算法[23‐24]来搜索物联网系统中数据副本的最优放置。

3. 数据复制管理系统

3.1 复制管理子系统

我们设计了一个分层复制管理子系统[25‐26] ,用于图1所示的协同边缘与云计算系统中可靠且高效的数据调度。该框架包括两部分,图中左侧为工作流业务流程,右侧为系统的全部资源配置。三层结构由用户设备、边缘MDC(微型数据中心)和云数据中心组成。边缘MDC部署在基站中,并通过互联网互连。协同边缘MDCs不仅考虑云内网络的性能,还关注用户设备与边缘服务器之间一跳距离的低延迟网络性能[27‐29]。

在该框架中,我们将计算作业和数据调度这两个过程都视为作业。数据调度作业通过特定的规范语言以不同于计算作业的方式进行描述,因此作业调度器能够区分这两种类型的作业。本研究仅关注由数据处理组件(如作业代理、数据作业调度器)组成的数据管理。

这些作业及其源输入数据集由部署在本地前端服务器上的作业代理发送。作业代理的功能是与本地数据作业调度器和用户进行通信。根据从计算调度器和资源代理收集到的信息,数据作业调度器全面负责数据副本的创建、放置、移动和移除。这些数据集通过数据调度策略被放置在适当的边缘MDC或远程云数据中心。数据作业调度器包括四个部分:监视器、副本创建器、副本放置优化器和数据移除。

监视器用于跟踪一系列数据信息 ,供后续流程使用,包括用户的数据访问模式、数据位置和数据访问频率等。一旦数据流行度超过配置文件中设定的阈值,便会触发副本创建器。副本放置优化器负责将数据副本调度到合适的服务器,并对边缘MDC之间的数据移动做出决策。为了在数据移动前腾出足够的存储空间,必须移除部分数据。参考文献[30], ,我们采用插入式的数据集清理算法用于数据移除组件通过动态移除不再需要的数据文件来减少数据量,且数据移除组件会定期被触发。

3.2 数据副本管理系统中的数据安全

协同边缘与云计算面临着诸如数据安全等安全问题ˈ。在本研究中,我们聚焦于半诚实威胁模型[31],即边云平台不再完全可信,可能会试图获取用户的私有信息。在该框架中,我们采用类似Mylar的用户数据加密模型[32]来解决这一问题,该模型对服务提供商是透明的。数据由客户端加密后上传至服务器,解密密钥由用户掌控,服务提供商只能看到密文,数据控制权完全掌握在用户手中。通过加密应用程序发送到服务器的数据,系统的隐私与安全得以保障,从而能够防范恶意服务器管理员的攻击。我们的数据安全机制包含四个组件:应用插件、用户库、服务器库和身份服务,如图2所示。

应用程序扩展组件负责验证从服务器加载的用户数据的数字签名,并确保其未被篡改。用户库对发送到服务器和从服务器接收的数据进行加密或解密。服务器库组件执行搜索计算边缘或云服务器上的加密数据。身份服务验证公钥属于特定用户。

3.3 一个用例:智能工业控制

如图3所示,协同边缘与云环境的一些主要用例包括智能工业控制。通过在物联网网关上部署边缘服务器,可有效降低往返延迟,以支持低延迟控制。此外,通过协调使用无处不在的云计算资源,能够实现工业数据分析。我们将基于智能工业控制来说明我们的数据副本放置研究,如下所述。

当智能工业控制系统中的startService开始运行时,组件监视器会定期记录并更新协同边缘与云环境的系统指标。用户持续随机地向系统提交工业数据分析工作流。来自物联网传感器(如设备传感器、生产线传感器等)生成的数据通过用户界面收集到前端代理,然后分发至资源管理系统的作业调度器。

特别是,工作流执行遵循任务和数据的控制流,在执行过程中会生成中间数据集。因此,副本放置策略对数据访问成本有很大影响。本文提出的动态创建适当副本的方法,旨在寻找最优数据放置方案,以在满足用户的低延迟需求的同时最小化数据访问成本。为了快速实现工厂传感器数据处理实时决策中,数据作业调度器根据我们提出的数据调度最优策略,将这些数据副本放置到合适的计算节点上。

4. 副本创建与调度问题

在基于物联网的系统中,来自用户设备的数据量巨大。工作流应用将消耗这些海量数据集并生成新的数据集。所有这些共享的物联网数据都应以可靠且低成本的方式进行处理。此外,数据副本会在网络的多个节点上创建并分发。授权用户可以向边缘计算系统提交作业,若这些数据集已本地部署,边缘集群将立即响应请求。因此,副本创建与数据调度问题可描述如下。

对于具有受限容量的边缘服务器和具有可扩展资源的云数据中心,以及协作用户组,工作流作业由授权用户提交至协同边缘与云计算系统,共享数据则提交至我们的复制管理子系统。工作流作业消耗这些海量数据集并生成中间数据集。一方面,生成的中间数据集将根据控制流规则作为输入数据集传递给工作流中的其他任务;另一方面,中间数据集和最终结果将返回给协作用户组。本研究的目标是动态创建适当数量的数据副本,并寻找最优数据放置方案以最小化在确保数据可靠性和满足延迟敏感应用截止时间约束的同时,降低总数据访问成本。

4.1 预备知识

在本节中,我们提供了一些用于数据副本管理系统的基本背景知识 -

表1 NOTATIONS

符号 描述
MDCC 边缘和云计算环境
dnk MDCC中的第k个数据节点
eij 数据节点dni和dnj之间的链路。
IW 一个工作流
WT 任务集合
WD 数据集的集合
wdij 数据wdi的第j个副本
R 数据副本的数量
P(*) 数据对象的可靠性
popi 第i个数据文件的流行度
DH ,DM ,DL 数据流行度的三级子集
LevH ,LevM LevL 数据流行度的三级子集
gh 第h个协作组
DSC 总数据访问成本
Ctc Csc Cmc 数据传输成本 数据存储成本 多播中间数据集成本
WT IW 延迟k
延迟k 工作流IW的执行时间 存储在数据节点k上的副本的单位成本。
x i j k 数据副本 wdij 是否被调度到服务器 k 的二进制决策变量
yab 从 dna 到 dnb 的网络距离。

边缘和云环境系统。本研究中使用的主要符号列于表1。

工作流可以被描述为一个有向无环图(DAG),其中包含通过任务流依赖关系连接的多个任务。设每个工作流IW为一个有序三元组IW= , ,其中W ={w1, … , w}为任务集,邻接矩阵WC表示工作流中任务之间的关系。WD表示WC中数据集的集合。没有直接前驱的任务称为入口任务,没有直接后继的任务称为出口任务。

对于工作流IW中的数据集WD,其涉及两种类型的数据:输入数据集WDin和输出数据集WDout。WDin={wd1,wd2,…,wda}为输入数据集集合,in p suc i c WD R wt wt location wd s e ner iz ow =< >,该定义包含数据集的大小、副本数量R,预处理任务wtp,后续任务wtsucc 、部署位置以及数据所有者。此处, ’ i outWDwd作为中间数据集。协作组gk是一组可以相互共享其输出的用户。

协同边缘MDCs和云系统MDCC可以提供一组具有不同访问成本(单位:时间)的服务器来执行工作流应用。物理机idn MDCC通过互联网互连,E是这些MDC之间和/或MDC与远程云C之间的网络链路集合,U是一组前端服务器。标识符ei是数据节点i和j之间E中的一条链路。我们用 B(eij)表示链路eij的带宽容量。

4.2 问题建模

4.2.1 数据副本创建建模

本文中,基于数据流行度和数据节点的服务性能,我们提出了一种副本数量的动态调整方法。该方法包括两个步骤:1)副本数量的初始化;2)最佳副本数量。

1) 副本初始化数量
假设数据块 wdi 的一个数据副本 wdij 被放置在节点 jn 上。令 P(wdi=1) 表示数据块 wdi 的可靠性,令 P(nj=1) 表示节点 ni 的在线概率,则 1 2( 1) 1 ( 0) * ( 0) *…* ( 0)=1(1‐ ( =1)) ij P wd P n P n P n P n i γ γ== = = =。定义 P (WD=1) 为 1j= 数据文件 WD 的可靠性,并且 P (WD=1)=P (wd1=1) ∗ P (wd2=1) ∗… ∗ P (wdn=1)。为了简化计算,假设每个节点具有相同的在线概率 q。因此,P (WD=1) 的定义如公式(1)所示。

$$
P(WD=1) = \prod_{i=1}^{n} (1 - (1 - P(wd_i=1))^{\gamma}) = \prod_{i=1}^{n} (1 - (1 - q)^{\gamma})
$$
(1)

当数据文件上传到边缘集群时,其重要性参数配置a由用户设置为范围[0, 1]中的值。该值越大,数据文件越重要。因此,原始数据副本数量γ可通过公式( )(1‐(1‐ )) n P WD q γ α=计算得出,并且我们可以得到γ如公式(2)所示。

$$
\gamma \geq \frac{-\log(1-\alpha)}{\log(1-q)}
$$
(2)

参数g 的值是确保文件系统可靠性的最小值 1(log (1‐ )) n q α。 −

2) 最佳副本数量
在协作式边缘与云环境中,存在大量性能差异显著的数据节点。一旦更多热点数据存储在性能较差的数据节点中,就会产生“热点”问题,进而导致系统整体性能下降。

本研究提出了一种基于数据节点的数据流行度和服务性能的副本数量动态创建方法,该方法能够在保持较低存储成本的同时减少平均访问时间。该方法的具体流程如下。

S1:基于数据文件访问频率的数据流行度计算
设置一个五元组(pop0,k0,v1,v2,v3)来描述数据文件的流行度。与传统的计算方法不同,我们统计了三个不同时间段T1, T2, T3,内的数据访问次数,其中pop0表示数据文件在最近T1时间段内的流行度,k0表示在最近T1时间段内数据文件的大小,v1,v2,v3分别表示数据文件在最近的统计周期T1, T2, T3,中的访问次数。令f1, f2, f3表示数据文件在这些时间段T1, T2和T3的访问频率。因此,(‐) 1 3 i 2 = = , ,i if V v ti。这里,V 表示一个数据文件被访问的总次数。Δti表示当前时间与对应时间Ti之间的差值。我们设计参数1 1t Tm=用于调节突发访问对数据块流行度的影响。当该参数的值越大时,表明突发访问的频率相对较高。数据流行度根据公式(3)表示如下。

$$
pop_0 = \mu \times f_1 + (1-\mu) \times \left( \frac{f_2}{V/T_2} + \frac{f_3}{V/T_3} \right) \times \frac{\Delta t_1}{T_1}
$$
(3)

则平均数据流行度 $ pop_{avg} = \frac{1}{n} \sum_{i=1}^{n} pop_i $,其中n表示集群上的数据文件总数。

数据流行度可分为三个子集:DH,DM,DL, H = M LDDDD,分别代表热、普通和冷的数据块集合。数据块的数据流行度等级规则定义如下:数据文件按照流行度值popi降序排列。此处,我们设定平均流行度阈值β用于衡量数据文件的流行度。对于分布式系统中的任意数据文件,其数据流行度等级规则定义为公式(4)。

$$
\begin{cases}
D_H & \text{if } pop_i > pop_{avg}(1 + \beta) \
D_M & \text{if } pop_{avg}(1 - \beta) \leq pop_i \leq pop_{avg}(1 + \beta) \
D_L & \text{if } pop_i < pop_{avg}(1 - \beta)
\end{cases}
$$
(4)

S2:基于服务性能的数据节点工作负载评估
在本研究中,我们认为数据副本数量不仅与数据文件的访问次数相关,还与存放副本的数据节点的工作负载相关。此外,数据节点的工作负载取决于该数据节点的服务性能和存储利用率。考虑CPU利用率c p uL、内存利用率memL以及网络利用率netL等因素,数据节点的服务性能p erN表示为

$$
N_{per} = K_{cpu} \times L_{cpu} + K_{mem} \times L_{mem} + K_{net} \times L_{net}
$$

其中K_cpu, K_mem, K_net表示CPU、内存和网络带宽的权重比例, $ K_{cpu} + K_{mem} + K_{net} = 1 $。令se_i表示第i个数据节点的服务工作负载, $ se_i = f(N_{per}) $。存储服务负载ids反映数据节点的磁盘利用率, $ ids_i = \frac{used_i}{tt_i} $,其中used_i表示已使用的磁盘空间大小,tt_i表示第i个数据节点的总空间。因此,第i个数据节点的负载可定义如下。

$$
ld_i =
\begin{cases}
se_i \times 0.9 & \text{if } ids_i > 0.9 \
se_i \times ids_i & \text{if } ids_i \leq 0.9
\end{cases}
$$
(5)

为了确定节点的总负载,我们使用平均负载作为节点总负载的评估指标,记为lavg。根据数据节点的工作负载,将数据节点分为三类:重负载,中等和轻度。对于任意节点 nodei,数据节点的分类规则如下:

$$
\begin{cases}
Lev_H & \text{if } ld_i > l_{avg}(1 + \delta) \
Lev_M & \text{if } l_{avg}(1 - \delta) \leq ld_i \leq l_{avg}(1 + \delta) \
Lev_L & \text{if } ld_i < l_{avg}(1 - \delta)
\end{cases}
$$
(6)

其中,LevH表示数据节点的重负载,LevM表示数据节点的中等负载,LevL表示数据节点的轻负载。δ 是用于衡量数据节点工作负载的阈值。

S3:基于数据流行度和工作负载的动态数据副本创建
假设所有数据副本的总数为M,数据副本存储在数据节点上。在当前时期,各数据节点对应的工作负载为{ld1, ld2,…, ldp}。考虑数据流行度和数据节点的工作负载,副本的动态调整过程如下。

条件1 :如果数据对象dii的流行度为HL,且数据节点的工作负载级别为HLev ,则数据对象 dii的副本数量mi如公式(7)所示:

$$
m_i = \eta_1 \times \frac{pop_i}{\sum_{i=1}^{M} pop_i} + \eta_2 \times \frac{ld_i}{\sum_{i=1}^{M} ld_i} + \alpha \times (1 + \delta)
$$
(7)

条件2 :如果数据对象dii的流行度为LL,且数据节点的工作负载级别为LLev ,则数据块 mim的副本数量如公式(8)所示:

$$
m_i = \eta_1 \times \frac{pop_i}{\sum_{i=1}^{M} pop_i} + \eta_2 \times \frac{ld_i}{\sum_{i=1}^{M} ld_i} - \alpha \times (1 + \delta)
$$
(8)

其中,1η和2η分别为数据流行度和数据节点工作负载的影响因子,1 2 +=1ηη。用户可根据自身偏好设置不同的取值。在其他情况下,数据块的副本数量仍保持为γ。

4.2.2 数据副本调度模型

在工作流执行开始之前,原始输入数据集被分配到边缘MDC和云中。由于将大规模数据移动到所需任务所在位置的成本延迟较高,本研究的主要目标是减少工作流执行期间数据节点之间的总数据访问成本。在工作流管理系统中,数据副本放置方案包括数据集‐节点映射和任务‐数据集映射。对于ijwd WD,仅存在一个节点用于存储。数据集‐节点映射j k iwd dn表示副本wdij 存储在一个数据节点dnk中。本研究聚焦于数据集‐节点映射以及数据副本调度策略[25], ,即如何将数据副本放置到合适的数据节点,并与工作流计算调度协同,以降低数据访问成本并满足截止时间约束。

设X为副本放置矩阵,若数据i的第j个副本应放置在协同边缘与云环境中的第k个数据节点上,则元素x i j k 为1;否则,x i j k 为0。总数据访问成本DAC由数据存储成本Csc、数据传输成本Ctc以及多播中间数据集成本Cmc [18, 19]累加而成,即DAC=Csc +Ctc +Cmc。因此,该数据调度问题可表述为 (9‐14)。

$$
\min(DAC(IW, MDCC))
$$
(9)

受…约束

$$
\sum_{i=1}^{n} \sum_{j=1}^{R_{wd_i}} x_{ijk} \times size(wd_{ij}) \leq c_k, \quad \forall k=1,2,…,p
$$
(10)

$$
\sum_{k=1}^{p} \sum_{j=1}^{R_{wd_i}} x_{ijk} \leq R_i, \quad \forall i=1,2,…,n
$$
(11)

$$
WT_{IW} \leq DL
$$
(12)

$$
\sum_{k} \sum_{j} size(wd_{ij}) \leq B(e_{ab}), \quad \forall a,b
$$
(13)

$$
x_{ijk} \in {0,1}, \quad \forall i,j,k
$$
(14)

其中n是数据集的数量,p是服务器的数量,ck是服务器k的最大可用容量。

本研究旨在协同边缘云环境中,针对工作流管理,在目标函数(9)以及所有资源和截止时间约束(10‐14)下,寻找最优的数据调度方案。其中,约束(10‐11)规定了数据节点的容量和复制因子不得超过设定值。在约束(12)中,DL 是低延迟工作流执行的时间约束。二元决策变量 xijk用于表示副本是否被调度到某个数据节点,因此0‐1整数规划优化方法更适用于该问题。

总数据访问成本由数据存储成本、数据传输成本和多播中间数据集成本累积而成。我们可以简要讨论如下。

如果一个副本存储在其本地边缘MDC中,则任务以单位延迟成本 trl访问它。当该副本必须放置在另一个边缘MDC时,单位延迟为 trn。如果该特定数据副本被放置到云数据中心,则单位延迟为trc, l n c tr tr tr。设 delayk为存储在指定数据节点上的数据副本的单位延迟成本。因此,工作流IW在 MDCC中的数据存储成本Csc由公式(15)描述。

$$
C_{sc}(IW, MDCC) = \sum_{j \in dn_k \in MDCC} \sum_{i=1}^{n} \sum_{j=1}^{\gamma_{wd_i}} x_{ijk} \times delay_k \times size(wd_i)
$$
(15)

数据传输成本主要受任务执行所在的数据节点与数据副本位置之间的网络距离和网络带宽的影响。显然,在传输数据之前,只需检查目标节点的存储空间是否满足要求。如果磁盘空间不足,我们的数据放置策略将在截止时间约束下调整合适的位置以最小化成本。我们定义了检查变量 IMove,如果在将数据移至数据节点之前有足够的磁盘空间存储数据,则 IMove=1,否则IMove=0。因此,根据数据放置图,工作流 IW在协同边缘与云环境 MDCC中的总数据传输成本计算如下:

$$
C_{tc}(IW, MDCC) = \sum_{j \in wt_j \in WD, wt_j \in IW} \sum_{i=1}^{m} \frac{size(wd_{ij})}{B_{ab}} \times y_{ab}, \quad \forall dn_a, dn_b \in MDCC
$$
(16)

where m 是工作流IW的任务数量,B_ab 是带宽 ,yab 是网络距离 - 从dna到dnb的距离。

合作组中的成员可以相互共享中间数据集。输出数据集将返回给相关组gh。在tj执行期间, di的多播中间数据集成本如以下公式(17)所示。

$$
C_{mc}(IW, MDCC) = \sum_{j \in wt_j \in out_data} \sum_{i=1}^{m} \frac{size(wd_{ij})}{B_{ih}} \times y_{ih} + \sum_{user_g \in g_h} \sum_{a} \frac{size(wd_{ij})}{B_{ah}} \times y_{ah}
$$
(17)

其中,在(17)中,第一项表示从源到第一跳路由器的中间结果的输出成本,第二项表示从第一跳路由器到组gh中用户的中间结果的输出成本。

此外,我们定义 WT_IW 为工作流 IW 的执行时间 ,它等于最终任务 wtexit 的完成时间。因此,设 EFT(wtexit)表示最后一个完成的任务的结束时间。根据参考文献 [33‐34], ,执行时间 P TG 可描述如下

$$
WT_{IW} = EFT(wt_{exit}) = EST(wt_{exit}) + \frac{\omega(wt_{exit})}{\chi_k}
$$
(18)

其中( )exitwtω 是分配给任务 WT 的权重 exit, kχ 表示服务器 k 的计算速度。

4.3 关于NP完全问题的证明

在本节中,我们给出数据副本放置(DRP)问题为NP完全的证明。

证明 :1) DRP问题属于NP类。

从目标函数(9)可以看出,该问题可以被形式化为一个决策问题。变量xijk用于描述数据副本 wdijDŽ的放置情况,并结合约束条件(10)‐(14),给定一个数据放置方案和一个目标成本,我们可以在多项式时间内验证该放置结果是否具有最小数据访问成本。根据NP的定义,DRP问题属于 NP类。

2) DRP问题可以归约为0‐1整数线性规划(ILP)。

0‐1 ILP 在文献中已被证明是一个 NP完全 问题 [35]。为了证明 DRP 是 NP‐完全 问题,我们表明 DRP≤p整数线性规划( ILP),且任何 DRP问题 的实例可在多项式时间内归约 为一个 0‐1整数线性规划 实例。

归约过程从一个0‐1 ILP实例开始。设X={x1,x2,…,xn}为一组项,每项都具有利润pj和权重 ω j,其中j={1,2,…,n},设cn 为容量,xk={0,1}。当且仅当对应的0‐1 ILP实例可满足时,该DRP实例才是可满足的。问题的可满足性意味着决策问题的答案为“是”。DRP问题的实例构造如下:

对于决策变量xijk 的每一个放置选择Y,DRP问题的实例都有一个属性 Aj。 此外,项目xijk 的成本cost j 对应于属性Aj的大小。项目xijk的成本对应于所有数据对象D的数据访问成本,如DRP最小化问题中所给出。数据访问成本可按公式(9)计算,其中在容量、通信/带宽约束下的xi j k= 1或0用于A j 。该DRP问题实例可在多项式时间内轻松地从0‐1 ILP实例归约而来。

因此,根据1)和2),我们可以证明DRP问题是NP完全的。

由于大规模DRP问题被证明是一个NP完全问题,精确算法无法在合理的CPU时间内解决该问题。因此,该问题可通过启发式或元启发式算法求解。为此,我们采用ITÖ算法来解决该问题。

5. 数据副本创建与调度算法

5.1 数据副本创建算法

与传统的阈值触发复制创建策略不同,本研究综合考虑数据块流行度和节点负载的状态,以动态创建数据块的副本。此外,为了避免突发访问对数据块的影响,我们采用数据块流行度的整体情况以及三个历史时期的访问频率,以预测下一个周期内数据块所需的副本数量。所提出的动态副本创建算法(DRCA)在算法1中进行了描述。

5.2 数据副本调度算法

我们提出了基于董教授设计的ITÖ算法[23‐24]的数据副本调度算法(DRSA)。该新算法旨在基于伊藤随机过程对粒子运动及其相互作用进行抽象与模拟 。鉴于伊藤随机过程的两个特征,即随机波动和漂移,其中随机波动代表粒子的局部性能,而漂移代表粒子的宏观趋势。在ITÖ算法中设计了相应的波动算子和漂移算子。波动算子用于控制粒子的探索特性,使其能够在邻域内进行局部扰动;漂移算子用于控制粒子的移动方向,使粒子宏观上朝向吸引子移动。

我们将副本放置方案编码为二进制序列化[18] ,并根据公式(16)计算其适应度。解空间中的所有数据副本放置方案均可使用固定长度进行编码。根据[23‐24], ,新数据调度位置的更新如公式(19)所示。

$$
X’ {id} = X {id} + \phi(r,T) \times (p_{pd} - X_{id}) + \phi’(r,T) \times (X_{id} - X_{kd})
$$
(19)

算法1:动态副本创建算法(DRCA)
MDCC,WD,;Mini:修改前数据块副本数量的集合;
输出:Mac,数据块副本数量的修改集合。

1:初始化MDCC、WD、Mini;
2: 对于 WD 中的数据 bi 执行
3: 统计( bi,v1,v2,v3);//对数据块 bi 的访问频率进行统计
4: 根据公式(3)计算流行度(bi,pop0,δ);
5: 根据公式(4)对bi、pop、L H 、L M 、L L 进行分类热度(Classifyhot);
6: 在MDCC中的数据节点dnj上执行循环;
7: 如果bi位于dnj中;
8: 则 根据公式(5)计算负载(dnj,ldj);
9: 根据公式(6)对dnj、ldavg、LevH、LevM、LevL进行分类负载(Classifyload);
10: endif;
11: if i H b ∈D and i H dn ∈Lev
12: 1 ac M Comput ← 由公式(7)计算
13: else if i L b ∈D and i L dn ∈Lev
14: 2 ac M Comput ← 由公式(8)
15: ac ini M ←M
16: 结束循环;
17: 结束循环
18: 输出 Mac

其中ppd作为吸引子,即全局最优解,( , )( ) id pd id r T p Xϕ为漂移项,’( , )( )id id kd rT X Xϕ为波动项。而( , )id r Tϕ为漂移算子,’( , ) id r Tϕ为波动算子。

这两个算子依赖于粒子半径和退火温度。在寻找最优
示意图0
示意图1

5. 数据副本创建与调度算法

5.2 数据副本调度算法(续)

副本放置位置的过程中,我们通过调整不同取值的$(r,T)$和$\phi’(r,T)$来平衡波动率操作和漂移操作。从而保证向全局最优解漂移的概率,并保证解的多样性,以避免陷入局部最优。

展示了DRSA算法在数据调度方案上的操作。此外,我们详细提出了用于数据副本放置的 DRSA算法,如算法2所示。

算法2:数据副本调度算法(DRSA)

1: 初始化种群大小$M$、终止条件、算法参数;
2: While (未满足终止条件) do
3: 读取工作流数据$IW$;
4: 生成初始种群$X$;
5: While (未满足迭代停止条件) do
6: 根据适应度$f(X)$对粒子进行分类;
7: $best \leftarrow$ 当前最优解;
8: $no_update \leftarrow 0$;
9: While ($no_update < Max_NO_UPDATE$) do
10: $current_best \leftarrow best$;
11: 更新$best$;
12: If ($best == current_best$) then
13: $no_update \leftarrow no_update + 1$;
14: Else
15: $no_update \leftarrow 0$;
16: 更新粒子半径$r$、环境温度$T$、漂移与波动强度;
17: For each particle $x_i \in X$ do
18: $x’_i \leftarrow$ 应用漂移算子;
19: $x’‘_i \leftarrow$ 应用波动算子;
20: $x_i \leftarrow x’‘_i$;
21: End for
22: End while
23: End while
24: End while
25: 返回全局最优解$best$

此外,我们对DRSA算法的时间复杂度进行了进一步分析。它与种群大小和迭代停止条件相关。粒子的数量与问题实例的大小相同。停机条件是连续20代算法没有改进时停止。对于每次迭代,粒子的解的长度与解的基因长度有关,而基因长度又与每个工作流的任务大小、数据副本数量以及数据节点数量相关。因此,DRSA算法在多项式时间内运行。

5.3 DRSA算法的收敛性分析

根据[23‐24], ,本节将证明我们算法的几乎必然收敛性。每个粒子按照其自身的运动规律进行移动,因此我们可以独立分析每个粒子,然后将其综合为整个算法的性能。我们可以进行如下分析并给出证明。

在DRSA算法中,给定种群$X = {x_1, x_2, …, x_N}$,其中$x_i \in X$表示种群中的粒子,$N$为种群大小。第$t$次迭代时种群的最大适应度值为$f_t(X) = \max(f(x_1), f(x_2), …, f(x_n))$,第$t$次迭代时种群的平均适应度值为$\bar{f} t(X) = \frac{1}{n}\sum {i=1}^{n} f(x_i)$,并设全局最优解为$G = {x | \forall y \in X, f(y) \leq f(x)}$。基于ITÖ算法的第$t$代DRSA几乎必然收敛于全局最优解,若$\lim_{t \to \infty} P(X_t \subseteq G) = 1$,简记为$s.a.s.$。

从DRSA算法的流程来看,该算法的第$t$代种群仅依赖于第$t-1$代种群,与之前其他世代的种群无关,且各代之间的转移概率互不相同,因此DRSA算法的行为构成一个非齐次马尔可夫链。从$(X^{(t)})$到$(X^{(t+1)})$的转移过程包含以下五个步骤。

$$
X^{(t)} \xrightarrow{attractors} Y^{(t)} \xrightarrow{drift} Z^{(t)} \xrightarrow{select} W^{(t)} \xrightarrow{volatility} X^{(t+1)}
$$

接下来,我们分析每一步的转移概率。

1) 第一步是选择一个吸引子。吸引子是指对粒子具有吸引力的粒子。如果将种群中的最优解作为吸引子,则根据参考文献[23] ,在种群中选择该吸引子的概率可以描述为:

$$
P(U=u | X=x) = \prod_{k} P_A(k, u_k)
$$

2) 第二步是漂移算子。漂移算子是从$X^{(2)}$到$X$的随机算子。根据参考文献[24], ,种群的漂移概率如下所示。

$$
P(Y=y | U=u) = \prod_{k} P_M(k, u_k) \times P(a(u_k), y_k)
$$

漂移算子的作用是加快粒子的改进速度。该算子不具备全局可达性,对算法的收敛意义较小。

3) 步骤3和步骤5中的选择算子起到相同的作用,即只有改进后的新粒子才会被选中,且选择方法与迭代过程无关。步骤3的转移概率如下所示。

$$
P(Z=z | Y=y) = \prod_{k} P_S(k, y_k, z_k)
$$

第5步的转移概率如下。

$$
P(X^{(t+1)}=x | W=w) = \prod_{k} P_S(k, w_k, x_k)
$$

4) 第四步是波动算子。根据该算子的定义,如果漂移的强度不为零,则对于任意给定状态,该算子均可达到。根据参考[X], ,最小转移概率如下所示。

$$
P_{min} = \prod_{k} \frac{1}{n} e^{-\gamma}
$$

整个种群的转移概率为:

$$
P(W=w | Z=z) = \prod_{k} P_W(k, z_k, w_k) \geq e^{-\gamma}
$$

因此,非齐次马尔可夫链${X_t, t=1,2,…}$的转移概率为:

$$
P(X^{(t+1)}=x’ | X^{(t)}=x) = \sum_u \sum_y \sum_z \sum_w P(U=u | X=x) \times P(Y=y | U=u) \times P(Z=z | Y=y) \times P(W=w | Z=z) \times P(X^{(t+1)}=x’ | W=w)
$$

给定向量$F(x) = (f(x_1), f(x_2), …, f(x_N))^T$,如果$F(x’) \geq F(x)$成立,则$P(X^{(t+1)}=x’ | X^{(t)}=x) > 0$,否则$P(X^{(t+1)}=x’ | X^{(t)}=x) = 0$。

对于单个粒子$x \in X$,

$$
E[f(X^{(t+1)}) | X^{(t)}=x] = \sum_{x’} P(X^{(t+1)}=x’ | X^{(t)}=x) \times f(x’) \geq f(x) \times \sum_{x’} P(X^{(t+1)}=x’ | X^{(t)}=x) = f(x)
$$

由于每个粒子都具有这样的特征,我们得出以下结论:

引理1. 在伊藤迭代过程中形成的一个随机过程是一个非负有界的下鞅,且它具有一个极限$\theta$。

引理2。 针对组合优化构建的$2^n+1$段有向图模型问题,种群中的每个粒子$k_x < M$具有以下结论,$\lim_{t \to \infty} P(X_t = x | X_0 = x_0) = 0$和$\lim_{t \to \infty} P(X_t = x | X_0 = x_0) = 1$。

引理3. 在伊藤过程迭代期间形成的随机过程的$\lim_{t \to \infty} f(X_t)$的极限是$\theta$,且$\theta = Mf$。

显然,我们提出的 DRSA算法基于群体智能算法,该类算法受生物行为启发,因此也被称为仿生优化算法。然而,这些群体智能算法均为基于概率搜索的定向迭代方法,因而实时性能较差。为了提升DRSA算法的性能以满足工作流的低延迟需求,一方面,我们采用更小的粒子半径来增强局部搜索能力,从而快速获得最优解;另一方面,当一个工作流任务的当前执行时间等于或大于截止时间时,我们将当前迭代中的当前全局最优解作为最终选择。

6. 性能评估

在本节中,我们在模拟的边缘和云环境中验证了针对工作流的数据副本创建和调度策略。

6.1 实验环境

(1) 实验设置
我们的实验环境是配备 Intel(R) Core(TM) i5‐5300 CPU @2.30 GHz 和 8.0 GB内存的PC 上的 Eclipse Java EE IDE。每次仿真运行10分钟,重复25次。我们展示了平均统计结果以及在学生t分布下置信水平为95%的置信区间。工作流的截止时间[33, 36]是平均最优运行时间的k倍, k的取值范围为[3, 20], ,可从特定配置文件中获取。

我们利用从实际工作流执行中收集的信息(如Montage、CyberShake、表观基因组学、 LIGO旋进分析和SIPHT [37‐38])来生成真实且合成的工作流。这五个工作流的结构和特征如图 5和表2所示。这些工作流由佩加苏斯开发,用于以抽象的方式为生物信息学和天文学等不同领域构建工作流。所用数据集类型包括来自Montage的图像数据、来自CyberShake的地震灾害数据、来自表观基因组学的基因组序列数据、来自LIGO的激光干涉引力波天文台和来自SIPHT的生物信息学。我们选择每个工作流的小规模版本,包含约[3,16]个随机数量的任务。根据[18], ,每个副本的大小从17GB到26GB不等,每个边缘计算节点的存储为1T。我们的模拟器可以自动定位工作流执行所需的输入数据和计算资源。

这些作业按照泊松分布随机到达,关键的请求率参数r表示在一分钟间隔内随机到达的平均作业数,并将r设置为每分钟3个请求。

6.2 实验结果

6.2.1 我们动态副本创建策略的有效性评估

该部分包含两组模拟:1)副本创建的有效性评估

表2 THE成本HARACTERISTICS OF EACH DATASET

Name 工作流类型 特征
蒙太奇 科学级天空马赛克上的图像 I/O密集型
表观基因组学 DNA序列基因组数据 CPU密集型
SIPHT 细菌中的生物信息学数据 小规模任务
CyberShake 地震灾害数据 数据密集型
LIGO 引力波形数据 内存需求较大

方法对数据块的流行度以及数据副本数量与文件可靠性之间的关系。

(1) 副本创建对数据块流行度的影响效果
我们使用大小为1024兆字节的数据文件,该文件被划分为四个数据块,分别表示为A、B、 C和D。在初始阶段,平均数据访问频率设置为每小时100次。我们将T1, T2, T3分别设为2、1和 0.5小时。数据文件的重要性参数设为0.8。根据公式(2),可以计算出为确保文件可靠性所需的数据块副本最小数量g,得到的值为2.73。由于块副本的数量必须为整数,因此将g向上取整,得到的值为γ=3。我们向数据块A、B、C和D提交只读访问请求。在此仿真中,假设对数据块 A的访问呈逐步增加趋势,对数据块B的访问保持稳定,对数据块C的访问呈逐步减少趋势,对数据块D的访问则呈现突发性。

测试结果如所示。在平均访问频率相同的前提下,数据块A的最终流行度高于数据块B。原因是数据块A的访问频率持续增加,而数据块B的访问频率保持稳定。同时,由于数据块C的访问频率不断下降,其最终流行度低于数据块B。因此可知,本文提出的数据块流行度计算方法是一种访问频率敏感算法。同时,在统计周期内,数据块D的访问频率出现了超过10倍的急剧增加,但其流行度变化范围很小,并能迅速回落到较低的流行度值。结果表明,本文提出的数据块流行度计算方法不仅能反映数据块的访问规律,还能有效解决数据块突发访问的问题。

(2) 数据副本数量与文件可靠性的关系
根据公式(1),我们知道文件分片数量、数据副本数量以及节点在线率都会影响文件可用性。在测试中,设文件分片为3,节点在线率分别设置为0.1、0.3、0.5和0.7。测试结果如所示。在节点在线率为0.5的情况下,我们分别将文件分片数量设为3、5、7和9。测试结果如所示。根据和,当数据块副本数量较低(<=5)时,增加副本数量将导致文件可靠性迅速提高。此外,节点的在线率越高,文件的分区数量越小,文件可靠性收敛到1的速度就越快。然而,从可以看出,当数据副本数量等于7时,文件的可靠性已经接近1。并且当副本数量再次增加时,文件的可靠性不再变化。因此,当数据块副本数量动态创建时,应尽可能创建适当数量的数据块副本,以满足用户节省存储资源的需求并降低用户开销。

6.2.2 数据调度算法的有效性

在本节中,为了评估数据调度算法的有效性,我们进行了大量实验,并将DRSA与基于遗传算法和粒子群优化的CUI[18]策略在[34]中的性能进行比较。我们从三个方面将我们的DRSA策略与遗传算法(GA)和粒子群优化(PSO)进行比较:1)边缘MDC的不同数量;2)数据集的不同规模;3)边缘与云计算系统中不同规模的工作负载。

参考这些研究 [18‐19], ,我们在实验中验证了四个指标的有效性:Caccess,总数据访问成本; Tall,数据传输量;Ntran,数据移动次数;Nt>deadline,超出截止日期的工作流违规次数。数据存储成本参数(单位:毫秒),如 trl、trn, 和 trc,参考 [39], 中的研究,其对应值分别为 1、6 和 63 毫秒。并且根据 [24], ,元启发式ITÖ 的大多数参数设置如下:种群大小 M=30,粒子运动能力 1.4α=,退火速率 0.9β=,初始温度 T0=1000,最大无更新次数 Max_NO_UPDATE=20 以及最大迭代次数 =100。

(1) 不同数量的 边缘MDC
根据参考文献[8]和[18], ,数据副本数量设置为固定值3,每组中的用户数量从10到25随机变化。我们以到达速率3 reqs/min处理工作流请求。原始数据集的数量设置为90。在本组评估中,我们设置不同数量的边缘集群进行性能比较分析,边缘集群数量分别设置为2、3、4、5和 6。每个集群包含三个边缘计算节点。前端服务器的数量与边缘集群数量相同。 我们 使用仿真结果的均值、置信区间和标准差,如表3和表6所示。

绘制了四种策略在总数据访问成本、数据传输总量和数据移动总次数上随不同数量的边缘集群变化的对比曲线。如所示,在所有三种策略中,随着边缘集群数量的增加,结果均呈上升趋势。随着边缘集群数量的增加,我们的ITÖ策略在四项指标上的性能明显优于遗传算法和 PSO。在当前轮次的实验中,每GA与PSO之间的性能差异并不明显,且PSO略优于GA。原因是,在小规模问题情况下,PSO算法在实时性能、计算精度和收敛速度方面优于GA。本研究设计了适用于ITÖ算法的漂移与波动算子,使其适用于基于在线模型的工作流数据副本放置问题。因此,可以明显看出,我们提出的 DRSA策略相较于另外两种策略显著降低了数据访问成本。

(2) 数据集的不同大小
在这些模拟中,每个选定的应用程序具有不同规模的数据负载。也就是说,通过设置不同数量的数据集来改变应用程序的工作负载。每次测试中,每组数据集的数量分别设置为70、90、 110、130和150。当然,随着工作负载的增加,应用程序的任务数量也随之增加。边缘集群中边缘计算节点的固定数量设置为3。We使用仿真结果的均值、置信区间和标准差,如表4和表7所示。

从可以看出,随着数据集工作负载的增加,DRSA下的总数据访问成本显著低于GA和 PSO,效果明显。随着工作流工作负载规模的增长,随机策略的总访问成本上升得更快,而GA 和PSO策略则呈现稳步上升趋势。在接下来的两个测试中,数据移动次数和数据传输总量的变化趋势与总数据访问成本相同。与GA、PSO相比,我们的DRSA策略具有明显优势。随着数据集数量的增加,问题规模也随之增大。当数据集数量为130时,GA在四项指标上的性能优于PSO,这是因为在问题规模增大时,PSO算法容易陷入局部最优。

(3) 边缘和云计算系统中不同规模的工作负载。
我们测试了当工作流工作负载规模增加时,DRSA、GA 和 PSO 的表现。作业到达率分别设置为每分钟 1、3、5、7 和 9 个请求,对应的数据对象数量分别为 30、90、150、210 和 270。数据副本数量设置为 3。边缘集群数量为 3,每个边缘集群包含 3 个边缘计算节点。We我们使用仿真结果的均值、置信区间和标准差,如表5和表8所示。

随着任务和工作负载规模的增大,三种策略下的数据访问成本均呈上升趋势。与遗传算法和粒子群优化策略相比,我们的DRSA策略也具有明显优势。特别是当工作流规模较大时,我们提出的策略比遗传算法策略节省多达10倍的数据访问成本。如所示,我们的策略在总数据访问成本、总数据传输成本、数据移动总次数以及超过截止时间的工作流违规数量方面,性能均优于遗传算法和粒子群优化。当工作负载规模大于或等于7时,遗传算法的性能优于粒子群优化。

从上述模拟结果可以看出,在复杂协同的分布式边缘与云计算环境中,我们基于ITÖ算法的工作流作业数据副本调度策略优于遗传算法和粒子群优化。对于小规模问题,粒子群优化的数据调度优化能力略优于遗传算法;但当问题规模较大时,其性能则不如遗传算法。原因是针对数据调度问题,我们通过数学公式重新设计了粒子半径以及漂移与波动算子,并且所提出的DRSA算法已被证明具有几乎必然的强收敛性,从而提升了收敛速度和全局优化能力远高于通用遗传算法和粒子群优化。我们的算法还改善了低延迟物联网应用的实时性性能。

6.3 讨论

在将数据副本放置调度算法部署到真实的边缘和云集群之前,对其进行充分评估非常重要。然而,在真实的边缘和云集群中进行评估通常耗时且成本高昂。因此,在本研究中,我们使用模拟器来预测所提出的算法在特定工作负载下的表现。当然,也可以利用公共云资源(如Azure云服务)在稍大规模上进行模拟。其可以设计如下。

描述了整个系统的集群和通信资源。协同的边缘和云集群包含三层资源,我们租用阿里公共云服务来构建一个云集群,该集群由十一台虚拟机组成。三个边缘集群由五台异构边缘服务器组成,用户设备由三部智能手机组成。移动用户终端采用Android 7.0系统,配备JDK 1.8.0_05、SDK Android 4.0,并安装开发插件ADK 22以实现移动端应用开发。边缘服务器集群和云服务器使用Ubuntu 14.04操作系统,搭载OpenStack++资源管理框架、Docker CE v17.03引擎和Kubernetes 1.8.4开源平台,实现轻量级资源管理。物联网终端使用TinyOS操作系统。

7. 结论与未来工作

本文重点研究在边缘计算系统中应创建多少数据副本以及如何放置这些副本,并针对具有依赖关系的工作流作业,研究了基于截止时间的副本创建与数据调度策略。提出了一种副本管理系统,该系统主要包括两个部分:数据副本创建器和工作流的数据作业调度器。综合考虑数据块的流行度和节点负载,我们提出了动态副本创建方法来预测数据副本的副本数量。为了在满足截止时间约束的同时降低数据访问成本,将数据复制调度问题建模为一个整数规划问题,并提出了更快的启发式DRSA算法来求解该问题。实验结果表明,与遗传算法(GA)和粒子群优化(PSO)算法等对比方法相比,所提出的算法在总数据访问成本、数据传输量、数据移动次数以及SLA违规方面表现更优。

在未来,所提出的副本管理框架中的一些潜在问题也值得研究。1)数据与计算调度器应被整合进当前框架中,2)需进一步分析数据安全与隐私问题。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐