搜索
查看: 897|回复: 0

边缘数据存储与管理的思考与实践

[复制链接]
发表于 2024-5-17 09:00:41 | 显示全部楼层 |阅读模式
本帖最后由 中国计算机学会 于 2024-5-17 09:06 编辑

摘要—本文首先调研了目前学界针对边缘数据存储与管理的最新研究成果,然后介绍了笔者针对边缘数据存储中的数据缓存及边缘数据管理中的元数据索引的几项工作,分别从边缘数据缓存方法轻量化、可适配、存算协同以及元数据轻量化等角度来应对云边端协同环境下的边缘数据存储与管理挑战。

王 桦(华中科技大学)
关键词:边缘数据缓存 边缘元数据索引

背景及相关研究介绍
        随着万物互联的智能时代到来,数据生产关系发生了根本性变化。设备终端不再仅仅是数据的消费者,而是兼具数据生产者和消费者双重角色。它们不仅生产原始数据,还消费云中数据以及经过云处理产生的结果或决策数据。为了克服云到端的数据传输高时延问题,满足端对数据实时响应的高需求,边缘计算应运而生。
       从云-端两级到云-边-端三级的架构演进呈现出新特点,并衍生出特定场景下的新问题及研究目标。原有的云环境下的智能数据存储与管理也需要相应的调整和演进以适应这一变化。为了深入探讨架构演进与研究点之间的关系,本文在借鉴AI三要素(数据、算力和算法)的基础上,从需求和供给两方面对云-端环境和云-边-端环境下的数据存储与管理进行抽象。

       图1左侧图展示了云-端架构。在云中心,算力包括硬件和架构,属于硬资源;算法侧重模型和方法,属于软资源。算力为算法提供物理基础,算法为算力提供逻辑功能,两者通过软硬协同共同构成系统,作为资源供给方为上层应用提供支撑。上层应用作为需求方,对下层资源的使用进行牵引,而随着系统的迭代升级,又会进一步催生新的应用需求。供需之间相互作用的过程也是数据的流动过程,包括原生数据获取、使用以及新数据产生的不断迭代过程,通过数据流动最终实现既定应用功能。
       图1右侧图展示了云-边-端架构。边缘侧承载了原有云上的诸多功能,且具有许多新的优势,如设备端请求的某些服务由云卸载到边缘侧完成,而原来需要从云获取的某些数据,也可以直接从边缘侧缓存得到,从而实现更快速的数据访问。与传统的云-端相比,边缘侧利用其天然的架构优势实现了“近数据处理”,为数据处理和服务提供带来了新的发展机遇。
       相对于云,边缘计算由于天然具有存储和计算资源的有限性、资源的动态异构性以及工作负载的复杂多变性等特点,其研究面临着诸多挑战。具体而言,边缘环境中的存储和计算资源受到严格的限制,因此需要设计高效且轻量化的数据存储与管理策略,以最大限度地利用有限的资源。同时,边缘环境的资源动态异构性以及工作负载的多样性和不确定性,要求数据管理方法具有强适应性,能够及时调整以满足不同场景下的需求变化。在这样复杂多变的边缘环境中,如何有效地管理数据,充分利用有限资源,并保证系统的稳定性和可靠性,是边缘计算研究中亟待解决的关键问题。
       近年来,越来越多的研究者开始积极探索边缘环境下的数据存储与管理问题,并针对边缘计算环境的独特性展开了广泛而深入的研究。接下来将根据边缘环境的特性,对一些相关研究进行总结,以期为边缘数据存储与管理研究提供更加系统、深入的理解。
       针对边缘环境下资源短缺的数据存放问题,可以开发智能数据压缩算法以降低存储空间需求,设计自适应数据分区策略以动态调整存储位置和方式,探索增量式存储机制以减少存储开销,以及设计异构存储系统及缓存算法以充分利用不同类型的存储介质和设备。InfiniFS[1]通过解决元数据负载平衡、路径解析延迟和靠近根部热点等挑战,为边缘存储提供了一种创新的解决方案。文献[2]设计了两层数据管理框架,管理工业物联网(IIoT)中生成的大量时序数据,使用基于应用访问模式和时间序列特征的自适应分区算法实现了按需存储,并提出了基于预测的综合数据压缩算法,实现了数据流的实时压缩。文献[3]构建了综合模型捕捉云无线接入网(C-RAN)中边缘缓存的关键构件,并将其形式化为联合优化问题,提出了在线近似算法,旨在实现系统成本最小化,以及在存储和带宽等各种约束下满足时变用户请求。文献[4]提出了一种新的协作缓存算法——CCA,通过高效缓存和卸载策略提高系统的缓存命中率。文献[5]提出了一种区块链辅助的缓存优化模型和边缘环境中的数据存储方法,通过考虑基站位置选择和缓存内容预测等因素,实现服务质量最大化。文献[6]针对边缘GPU的内存缺乏问题,提出了一种新的内存管理技术,通过共享边缘视觉模型的层(包括权重),利用它们之间的架构相似性降低内存成本。文献[7]提出了一种去中心化系统——CSEdge,其基于区块链技术实现了协同边缘存储。
       针对边缘环境下服务器协同导致的数据查询延迟问题,相关研究的目标集中在降低查询延迟,研究点包括设计更智能的数据索引和查询优化算法,以适应边缘服务器之间的高效协同,从而提高整个边缘系统的查询效率。文献[8]采用定制哈希索引来减少持久内存(Persistent Memory,PM)访问延迟,并将参数收集卸载到网卡以降低CPU负担,提高在线推理服务的吞吐量并降低延迟,为边缘存储环境下的高效数据管理提供了有益思路。文献[9]提出了云边端协同的数据管理服务——CEDS,CEDS使用一种基于压缩过滤器的边缘数据索引机制改进全局搜索的查询延迟。文献[10]提出了一个分布式索引系统——EDIndex,每个边缘服务器维护一个HCBFtree,对存储在附近边缘服务器中的数据进行索引,实现对边缘环境中数据的快速查询。
       在边缘环境中,数据处理的关键挑战之一是如何有效利用近数据处理特性以及有限的存储和计算资源。对此,研究者提出了一系列解决方案。文献[11]提出了一种面向边缘环境的近数据处理框架,通过减少数据移动开销和提供灵活的计算路径,提升了性能和能源效率。Mobius[12]是一种通信高效的系统,它使用了一种新颖的流水线并行方案,通过异构内存实现大规模模型训练,更好地利用了边缘节点的计算和存储资源,且具有更低的通信开销。文献[13]通过引入I/O流水线和合并连续有序写请求,提高了有序写请求的吞吐量和CPU效率,在存储性能方面超越了现有的存储栈,对边缘存储场景中的大规模数据处理和高性能应用具有重要意义。文献[14]提出了统一的IO栈——λ-IO,用来管理跨主机和设备的计算和存储资源,对加速边缘存储场景中的数据密集型应用具有重要意义。文献[15]指出平衡边缘数据去重(BEDD)必须在延迟约束下系统考虑数据去重率、数据存储收益和资源平衡,并提出了一种在小规模场景中精确解决BEDD问题的最优方法,以及一种解决大规模BEDD问题的次优方法。
       接入设备的多样性给边缘数据的安全与管理带来了挑战,不同类型的设备可能存在各种安全漏洞,如弱密码、缺乏更新等,这些都可能导致数据泄露或者未经授权的访问。文献[16]提出了一种区块链和再生编码相结合的机制,提高了边缘计算下存储数据的安全性和可靠性。文献[17]设计了一个数据管理框架,所有原始数据首先由边缘服务器进行预处理,然后对时间敏感数据做本地存储,非时间敏感数据(例如监控数据)被传输到云服务器,以提高IIoT中的数据存储效率和安全性。针对多样化接入设备带来的数据异构性问题,文献[18]提出了一个在网络边缘提供数据存储和管理的框架。该框架根据数据特性决定在哪里存储数据,以及如何在不同的边缘位置复制数据。
       从服务提供商的角度,在进行边缘存储时还需要考虑成本效益问题。文献[19]在边缘侧使用了纠删码进行数据存储,并设计了编码数据块在边缘服务器放置的最优策略,以实现存储成本最小化。文献[20]提出了一个新的移动边缘数据缓存(MEDC)问题,即将缓存收入最大化,并提出了一种为服务提供商制定MEDC策略的方法——OL-MEDC。文献[21]研究了在线边缘数据分发(OEDD)问题,并结合Lyapunov优化和博弈论提出了一种延迟感知在线(LAO)方法解决OEDD问题,在保证低传输延迟的同时,实现了服务提供商的总传输成本最小化。文献[22]从服务提供商的角度解决了边缘环境中的数据缓存问题,其将数据缓存问题建模为整数规划问题,并使用一种近似方法获得近似最优解,以使数据缓存收入最大化。
       边缘环境中的元数据管理技术对用户任务执行效率具有重要影响。与传统数据库不同,边缘环境中的元数据管理还需要考虑节点的异构性以及边缘资源的稀缺性。为解决边缘场景中的数据分位数计算问题,文献[23]提出了一种新型的处理框架,通过在虚拟的边缘计算节点上构建分位数草图,该框架能够有效处理边缘环境中的大量查询任务以及约束查询结果的误差范围;为提高边缘场景中数据的局部性(即将数据在合适的时间放置在合适的位置),文献[24]提出了一种基于边缘的模型服务系统,能够在资源异构以及大量复杂任务的边缘环境中协同管理机器学习推理服务以及节点间的数据流活动;为了提高在线购物体验,文献[25]提出在边缘节点上部署用户意图推断模型,这一基于注意力机制的深度学习模型能够高效地发掘数据相关的特征数据,从而在资源稀缺的边缘环境中做出准确的推断。
       华中科技大学智能数据存储与管理(IDSM)实验室近期针对边缘数据缓存和元数据索引展开了相关研究[26],其中数据缓存包括缓存空间分配、缓存准入、面向缓存优化的任务调度,元数据索引则考虑数据分布特征的跳过索引,以期适配边缘侧特性,更好地服务边缘数据存储与管理,下面分别进行简要介绍。
边缘数据缓存
缓存空间分配
       对于云服务商而言,位于边缘服务器的缓存空间是多租户共享的,大流量租户往往抢占大量缓存空间,导致缓存空间的整体利用率无法达到最优。缓存缺失率曲线(Miss Rate Curve,MRC)是刻画缓存缺失率随缓存空间变化的曲线,横轴代表缓存空间的大小,纵轴表示当前缓存空间下的缺失率,如图2(b)所示。图2展示了腾讯公司 CDN系统的租户访问请求分布和租户缺失率曲线(CDN缓存系统使用LRU替换算法),ten_others 包括除ten_1 和 ten_2之外的其他 8 个租户,它们的请求被当作一个租户执行。如图2(a)所示,ten_1 和 ten_2 的请求远远超过了其他租户的请求,这意味着缓存的大部分空间将被 ten_1 和 ten_2 的内容填满,其他租户将争夺仅有的一点空间,且其数据往往被快速替换出缓存。如图2(b)的 MRC 所示,ten_1 只能充分利用大约80 GB的缓存资源,实际其在缓存服务器争抢到的空间超过了190 GB,绝大部分占用的缓存空间被ten_1低效使用。其他租户(ten_others)争抢到的总空间在200 GB左右,如果能将ten_1超出80 GB的低效使用部分的存储资源共享给其他租户使用时,缓存系统会带来更多的整体效益。因此,如何设计轻量化、可适配的空间分配方案,对于高效利用边缘侧缓存具有重要意义。

       现有缓存空间分配策略中,共享方式无法兼顾公平,静态方式无法适应负载动态性,主流的动态方式基于MRC构建导致开销很大。解决动态方式的问题的关键在于如何设计轻量级自适应空间分配策略。要想实现轻量化、用尽可能低的代价达到好的分配效果,可以着重考虑两方面:由于租户数量很大,为成千上万租户寻找并调整空间,开销太高,能否改为只对低效使用缓存空间的租户进行调整;对于低效使用缓存空间的租户,如何将全局MRC构建精简为局部MRC构建,进一步降低开销。结合这两个层次轻量化的思想,文献[27]设计了轻量级自适应缓存分配(Lightweight and Adaptive Cache Allocation,LACA)方案,如图3所示。

       LACA是一个内容分发网络(CDN)集群,每个哈希桶代表一台缓存服务器,某一租户在5台缓存服务器中都占有一定的缓存空间(蓝色部分)。首先通过异常探测来定位低效使用缓存空间的租户,然后通过动态调整,对低效使用缓存空间的租户构建局部MRC,并进行空间调整。
       在异常探测方面,为适应负载动态性,采用机器学习的方法探测低效使用缓存空间的节点。利用租户和服务器的相关信息,以及提前对租户MRC打上的正常或低效使用缓存空间的标签训练模型,然后用该模型预测租户是否低效使用缓存空间。通过设置低效使用缓存空间阈值,在不同的负载下对机器学习模型进行训练,使其在动态负载下也能比较准确地探测出哪些租户属于低效使用缓存空间的租户。低效阈值可以根据实际情况来设置,例如针对腾讯CDN缓存的阈值设定是,当降低1%的缺失率需要增加的缓存空间是现有空间一半及以上时,就判定为低效使用,即异常租户。
       在动态调整部分,采用增益带宽指标(GBM)构建低效使用缓存空间的租户的局部MRC,除使用前文提及的租户及服务器相关信息外,还使用一些动态信息,预测的MRC范围从xcx,其中x为当前的空间大小,c为计划调整的空间总大小,即一个调整周期内需要调整出的空间总大小,具体数值由上个周期内写入的数据量决定。调整方式是使用原有的缓存替换算法优先从低效使用缓存的租户中替换数据。
       通过对实际系统的分析发现,每台缓存服务器中低效使用缓存空间的租户数量通常少于5个,因此相比于构建成千上万个租户的MRC,只构建低效使用缓存空间的租户的MRC可极大地减少时间开销。因此,LACA方法可以实现分钟级决策,且几乎不受用户规模的影响。
       在云边端场景中,缓存空间分配具有广阔的应用场景。LACA在共享式缓存空间场景中可以做到对缓存资源进行合理有效的分配,提升边侧缓存系统的性能。在实际边缘系统中部署LACA需要考虑以下主要问题。(1)实际部署的缓存系统是否有实时调整缓存空间的需求。对于缓存资源充足且租户数量少的缓存系统,缓存空间分配并不是提升缓存系统性能的首选。(2)边缘节点的计算资源是否有限。加入缓存空间分配策略对缓存系统的计算资源有一定的需求,需要确保边缘节点有相应计算资源保证系统的稳定运行。(3)缓存系统中低效使用缓存空间的租户数量不能太过庞大,否则会带来很高的负载开销,影响缓存系统的性能。(4)数据安全性问题。缓存空间分配策略需要收集租户的数据信息,在做淘汰选择时并没有对数据安全做限制,因此,LACA应用在对数据安全性有要求的缓存系统中时,应该加入数据安全保障机制。
缓存准入
       传统的对边缘缓存访问缺失问题的处理方式是让从源站取得的数据无条件进入缓存。如果能够增加准入控制,即根据该数据在缓存周期内是否被再次访问来决定它能否进入缓存,既能减少写流量,又能提高缓存命中率。实现有效准入控制的关键在于预测未命中数据在缓存生命周期内是否会被再次访问。
       如何进行高效的准入预测?现有方法都是在缓存容量相对固定的场景中进行预测,这显然不能刻画缓存使用的实际情况(通过对某租户15天在14台服务器上占用的空间进行统计,结果发现空间使用是实时变化的)。如果考虑缓存动态变化,针对不同容量训练不同模型,则开销太高。
       对此,可考虑将重用距离引入准入控制中。重用距离是指相同数据对象连续两次访问之间的距离。如图4所示,不同的缓存空间对应不同的缓存对象被再次命中的最大重用距离值。因此,如果能够预测出未命中对象的重用距离值,则可以判断在一定的缓存大小下对象写入缓存是否会被再次命中。

       如何在降低重用距离预测难度的基础上,使预测方法尽量与存储空间解耦,以此适配空间变化,是需要重点解决的问题。在降低难度方面,能否将准确预测变为近似方式,将点预测变为范围预测?在可适配性方面,既然缓存大小易变导致需要重复训练,能否预测分段重用距离,以支持空间变化?
       基于上述思想,文献[28]设计了SLAP系统框架,如图5所示。SLAP包括请求信息收集器、标签生成器、决策器和历史信息数据库。标签生成器用于预测重用距离的大致范围,在决策器中做最终的准入控制。决策器通过实时获取当前租户占用的实际缓存大小,计算预测出的重用距离范围是否在该缓存大小下允许的最大重用距离范围内,如果在,则表明数据写入缓存后,在其缓存生命周期内会被再次访问,因此允许其写入缓存。

       预测器采用的模型是长短期记忆网络(LSTM),根据其结构特点,将输入分为最近请求特征和当前请求特征两部分。在当前缺失对象回源拉取数据的同时进行最近请求对象特征的处理,通过云边协同(计算时延和取回数据时延的重叠)隐藏大部分预测时延,可以加快推理速度。
       通过对重用距离范围值的合理设定,SLAP能做到预测准确性与空间适用性之间的平衡。与当前直接预测重用距离的方法相比,该方法在缓存空间改变时,无须重新训练预测模型就能实现较为准确的准入控制,减少了重新训练模型的开销,使准入控制在动态缓存空间中的使用成为可能。
       在多租户共享缓存空间且每个租户缓存空间大小会实时改变的边端缓存中,SLAP缓存准入策略能够极大降低缓存写入率和延长存储介质的使用寿命。对于固定缓存空间的场景,SLAP同样表现出优越的性能。因此,SLAP可部署在替换写操作频繁且缓存资源受限的边缘缓存中,对缓存系统的性能提升意义重大。在实际缓存系统中部署时,须考虑:(1)准入策略冷启动问题,SLAP使用机器学习算法预测重用时间的大致范围,而对于缓存系统中未出现过的访问负载,可能会出现冷启动问题,影响缓存系统系能;(2)负载开销问题,对于负载开销要求严格的缓存系统,加入准入策略可能会超过允许的负载开销限制从而影响缓存系统的性能;(3)访问延时问题,SLAP准入策略利用云边协同隐藏计算延时,使其最终的计算延时在CDN缓存系统的可接受范围内,而在其他缓存系统中,计算延时的可接受度是否满足需要还应进一步考量。
面向缓存优化的任务调度
       云边端协同环境下,边侧缓存对于提升任务执行效率、减少网络I/O具有重要意义。然而边缘缓存需要同时服务多端侧任务,且具有稀缺性,为了对其进行有效利用,可考虑将作业调度和缓存优化有效结合起来,通过存算协同进一步提高边缘缓存利用效率。具体而言,端侧提交的用户任务通常由多个子任务组合成一个个有向无环图(DAG)的形式,利用分析服务提供的高层信息(包括网络带宽、缓存以及DAG图等),边缘侧可以将调度策略与缓存策略进行细致的协同设计,以优化对稀缺缓存资源的利用。

       图6(a)给出了一个任务的DAG图示例。图中任务被分解为S0~S11,共12个子任务(圆形),且这些子任务间具有一定的依赖关系(有向线段)。通过对数据分析任务进行深入分析,笔者发现部分子任务(比如S0~S4)需要从远端读取输入数据,会占用大量网络带宽,因此称其为带输入子任务,其余任务不占用网络带宽,被称为无输入子任务。笔者从缓存驱动的角度出发,利用无输入任务执行“掩盖”输入任务的数据读取(缓存)过程,以类流水线的形式将数据读取与任务计算重叠执行,最终提高任务的执行效率。
       缓存驱动的调度算法可以有效降低读取远端数据的开销,显著减少任务处理时间。相较于缓存不感知的调度算法(如图6(b)所示),缓存驱动的调度算法(如图6(c)所示)将子任务S5调度到S2和S3之前执行,利用无输入子任务的执行时间“屏蔽”了对输入子任务S2和S3所依赖的外部输入的处理,从而缓解了读取相应外部数据带来的时间延迟。同理,将子任务S6调度到S4之前执行也可以“屏蔽”S4依赖的外部输入的读取开销,使得缓存驱动的调度策略比缓存不感知的调度策略提前4个单位时间完成该任务。
       为了实现这种调度策略,文献[29]提出了一种针对数据分析服务中IO瓶颈的缓存驱动的调度算法Tripod。该算法基于轻量、实时的原则进行设计,基于两种新颖但简单的启发式规则,根据分析引擎提供的高层信息(任务DAG图、缓存状态等)做出最适合缓存的调度决策。

       图7直观地展示了两种启发式策略:策略(a)使用无输入子任务把带输入子任务间隔得足够远,策略(b)优先执行已缓存的带输入子任务。策略(a)将无输入子任务S4、S6和带输入子任务S2、S3交错执行,使S2和S3都有足够的时间预取其输入数据。这样做不仅可以给读取外部输入提供更多的时间,也可以避免带输入子任务对稀缺的缓存资源的争用。策略(b)中,带输入子任务S1、S4都依赖同一个输入数据,因此在S1执行后紧接着执行S4,这样可以有效提高缓存数据的复用率,进而提高任务的执行效率。
       利用上述启发式策略,Tripod能够根据分析引擎提供的高层信息从缓存的角度调整任务的执行顺序,从而与缓存策略协同使用,提高缓存的利用率。在基于Tez计算框架的分析集群上的测试结果表明,相较于缓存不感知的调度策略,缓存驱动的调度策略Tripod能够有效提高缓存和网络带宽的利用率,从而在单/多任务场景中均能够有效提高任务的执行效率。
       在实际部署该缓存驱动的调度算法时,可以考虑将其作为独立服务进行部署,或者集成到现有的边缘服务(比如Azure IoT Edge、AWS IoT Greengrass等)中,部署过程中需要考量的主要问题包括:(1)边缘计算场景中的计算和存储资源有限,在选择部署节点时,需要考虑算法的响应速度以及数据处理速度,同时不能影响其他任务的执行;(2)随着边缘计算技术的不断发展,调度算法需要具备良好的可扩展性,以适应不断增长的数据处理需求以及新增的边缘节点,这一点可以参考云数据中心场景,如在对计算资源诉求较小的时间节点对算法输入数据进行批量更新等;(3)边缘计算环境中可能会出现各种意外情况,如设备故障、网络中断等,调度算法需要具备备份与容错机制,在出现问题时能快速恢复,保证业务的连续性;(4)如果边缘计算环境中已经存在其他系统或服务,调度算法要能与它们无缝集成,避免造成系统冲突或性能瓶颈;(5)随着边缘计算环境和技术的不断发展,调度算法也需要持续更新和优化,以适应新的技术和业务需求。
边缘元数据索引
       除了缓存技术,数据管理技术也对边缘节点性能影响很大,下面介绍一种元数据索引,通过过滤任务无关的数据有效提高数据的访问效率。
       现有的数据过滤技术(即跳过索引)可以过滤掉查询无关的数据块以减少磁盘和网络I/O,从而有效降低数据查询带来的扫描时延,并提高对有限边缘资源的利用率。然而,现有的数据过滤技术虽然具有较低的存储开销,但容易造成大量的误读数据(如Min-Max索引容易受到数据块内缺失值的影响),或者虽然具有较好的过滤性能,但会造成难以接受的存储开销(如Bloom过滤器、倒排索引等)。难以有效权衡索引开销与过滤效果的原因在于,这些技术都是利用启发式策略,在数据跳过索引的设计中,没有充分利用数据在数据块中的分布模式。
       笔者研究发现,真实世界中的数据随人类活动而变化,具有一定的模式。比如,传感器等IoT设备会持续获取数据,使得具有相似时间戳的数据倾向于分布在相同的数据块(block)中。此外,每个数据块都是一个日志文件,用于记录页面视图的统计信息,如图8(a)中的维基百科数据集所示。通过对索引列(ViewCount)进行排序并将数据依次映射到所属的数据块中,可以发现访问量较小的页面(如31~36)分布在绝大多数的数据块中,这是因为访问量较小的网页数量众多,导致绝大多数数据块都会出现此类网页。然而,具有较高访问量的热点页面(如1001~1006),受到其罕见性的影响倾向于分布在不同的数据块中。

       笔者研究认为,通过捕获这些分布特征,索引可以准确分配空间开销,从而有效地权衡索引大小与索引的过滤效果。据此,我们设计了学习型跳过索引Sieve[30]。
       Sieve是一种利用数据在数据块中的分布模式将索引列数据不断“合并”以减少索引开销的跳过索引。这种合并过程可以极大减少索引的存储和维护开销,而通过学习数据的分布模式,Sieve可以尽量避免合并过程中造成的假阳性。
       索引列数据的合并过程如图8(b)所示,Sieve首先将索引列数据排序,并将每个值映射到包含该值的数据块中,以获取数据分布情况。然后,Sieve将属于相同数据块集的相邻索引列值合并成分区(partition),以初次减少索引开销。最后,Sieve将相邻且具有相似大小的分区再次合并成分段(segment),并通过将分段内的分区调整为相同大小,避免维护每个分区所包含数据的范围,从而再次减少索引的存储空间。
       合并过程的核心是尽可能避免合并数据产生假阳性。为了解决该问题,Sieve提出了一种通过捕获数据分布模式进行数据合并的方法。如图9所示,Sieve将数据块在索引列数据上的分布情况建模为累积分布函数(黑色曲线),并利用线性拟合(红色线段)的方式捕获这一数据分布中的各种模式(比如常见的低访问网页与罕见的热点网页)。捕获的这些模式可以指导分区与分段的合并过程,具体而言:(1)拟合线段对应的区域具有相似的数据分布模式,因此可以合并为同一个分段以减少存储开销;(2)拟合出的线段斜率反映了访问模式的稳定程度,斜率越高,映射块变化越频繁,对应分段内所包含的分区宽度也就越小。

       在数据大量来自真实世界数据集上的实验结果表明,相较于现有的数据分布不感知的索引技术,Sieve利用数据在数据块中的分布趋势对索引数据进行合并的策略能够有效权衡索引的存储开销与过滤性能,从而有效提高任务的数据访问效率。
       将该数据分布感知的数据过滤技术部署到边缘场景通常考虑与现有边缘系统进行结合,以避免频繁交互产生大量额外开销,同时需要考虑:(1)选择合适的边缘计算平台和硬件设备,将索引技术与边缘计算平台集成,可能需要开发适配器或中间件实现与现有系统的兼容;(2)实施必要的安全措施,包括数据加密、访问控制和身份验证,以保护在边缘设备上处理的数据未经授权不得访问或泄露,特别是在处理用户数据和跨境数据传输时,须符合数据保护法规;(3)本索引策略根据数据在输入文件中的分布情况进行设计,对于不断更新的边缘数据要能及时进行相应的更新操作,因此需要对边缘数据实施实时监控,监控系统应该能够跟踪相关指标,如数据过滤效果、数据分布特征等。
总结与展望
       边缘数据存储与管理未来的研究可以从两方面展开:一是如何将原来云场景下的功能移植到边缘,需要结合边缘特性解决适配问题。比如对于边缘系统来说,面向数据中心的分布式应用管理框架过于臃肿和不灵活,如何对其进行改造适配是一个问题。二是如何充分利用新型架构特征,进一步拓展功能边界。比如目前边缘缓存的优化对象主要是内容(数据),接下来可以将缓存对象拓展到代码,即服务缓存;以前的任务调度多集中在软件层面,而边缘任务调度则要进一步考虑异构算力等硬件资源。不管采用何种方式的融合,最终目标是在新型架构下,让软硬件更好地协同以服务上层应用。 ■
参考文献
[1] Lv W, Lu Y, Zhang Y, et al. InfiniFS: An efficient metadata service for Large-Scale distributed filesystems[C]// 20th USENIX Conference on File and Storage Technologies (FAST 22). 2022: 313-328.
[2] Yang L, Liao Y, Cheng X, et al. Efficient Edge Data Management Framework for IIoT via Prediction-Based Data Reduction[J]. IEEE Transactions on Parallel and Distributed Systems, 2023, 34(12): 3309-3322.
[3] Pu L, Jiao L, Chen X, et al. Online resource allocation, content placement and request routing for cost-efficient edge caching in cloud radio access networks[J]. IEEE Journal on Selected Areas in Communications, 2018, 36(8): 1751-1767.
[4] Yang S, Liu J, Zhang F, et al. Caching-enabled computation offloading in multi-region MEC network via deep reinforcement learning[J]. IEEE Internet of Things Journal, 2022, 9(21): 21086-21098.
[5] Guo J, Li C, Luo Y. Blockchain-assisted caching optimization and data storage methods in edge environment[J]. The Journal of Supercomputing, 2022, 78(16): 18225-18257.
[6] Padmanabhan A, Agarwal N, Iyer A, et al. Gemel: Model Merging for Memory-Efficient Real-Time Video Analytics at the Edge[C]// 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23). 2023: 973-994.
[7] Yuan L, He Q, Chen F, et al. CSEdge: Enabling collaborative edge storage for multi-access edge computing based on blockchain[J]. IEEE Transactions on Parallel and Distributed Systems, 2021, 33(8): 1873-1887.
[8] Xie M, Lu Y, Wang Q, et al. PetPS: Supporting huge embedding models with persistent memory[J]. Proceedings of the VLDB Endowment, 2023, 16(5): 1013-1022.
[9] Huang Z, Chen H, Gui L, et al. Ceds: Center-edge collaborative data service for mobile iot data management[C]// 2022 IEEE International Conference on Web Services (ICWS). IEEE, 2022: 188-197.
[10] He Q, Tan S, Chen F, et al. Edindex: Enabling fast data queries in edge storage systems[C]// Proceedings of the 46th International ACM SIGIR Conference on Research and Development in Information Retrieval. 2023: 675-685.
[11] Shu J, Fang K, Chen Y, et al. TH-iSSD: Design and Implementation of a Generic and Reconfigurable Near-Data Processing Framework[J]. ACM Transactions on Embedded Computing Systems, 2023, 22(6): 1-23.
[12] Feng Y, Xie M, Tian Z, et al. Mobius: Fine tuning large-scale models on commodity gpu servers[C]// Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2. 2023: 489-501.
[13] Liao X, Yang Z, Shu J. RIO: Order-Preserving and CPU-Efficient Remote Storage Access[C]// Proceedings of the Eighteenth European Conference on Computer Systems. 2023: 703-717.
[14] Yang Z, Lu Y, Liao X, et al. λ-IO: A Unified IO Stack for Computational Storage[C]// 21st USENIX Conference on File and Storage Technologies (FAST 23). 2023: 347-362.
[15] Luo R, Jin H, He Q, et al. Enabling balanced data deduplication in mobile edge computing[J]. IEEE Transactions on Parallel and Distributed Systems, 2023, 34(5): 1420-1431.
[16] Ren Y, Leng Y, Cheng Y, et al. Secure data storage based on blockchain and coding in edge computing[J]. Math. Biosci. Eng, 2019, 16(4): 1874-1892.
[17] Fu J S, Liu Y, Chao H C, et al. Secure data storage and searching for industrial IoT by integrating fog computing and cloud computing[J]. IEEE Transactions on Industrial Informatics, 2018, 14(10): 4519-4528.
[18] Nicolaescu A C, Mastorakis S, Psaras I. Store edge networked data (SEND): A data and performance driven edge storage framework[C]// IEEE INFOCOM 2021-IEEE Conference on Computer Communications. IEEE, 2021: 1-10.
[19] Jin H, Luo R, He Q, et al. Cost-effective data placement in edge storage systems with erasure code[J]. IEEE Transactions on Services Computing, 2022, 16(2): 1039-1050.
[20] Xia X, Chen F, He Q, et al. OL-MEDC: An online approach for cost-effective data caching in mobile edge computing systems[J]. IEEE Transactions on Mobile Computing, 2021, 22(3): 1646-1658.
[21] Xia X, Chen F, He Q, et al. Formulating cost-effective data distribution strategies online for edge cache systems[J]. IEEE Transactions on Parallel and Distributed Systems, 2022, 33(12): 4270-4281.
[22] Liu Y, He Q, Zheng D, et al. Data caching optimization in the edge computing environment[J]. IEEE Transactions on Services Computing, 2020, 15(4): 2074-2085.
[23] Li H, Yi L, Tang B, et al. Efficient and error-bounded spatiotemporal quantile monitoring in edge computing environments[J]. Proceedings of the VLDB Endowment, 2022, 15(9): 1753-1765.
[24] Shaowang T, Jain N, Matthews D D, et al. Declarative data serving: the future of machine learning inference on the edge[J]. Proceedings of the VLDB Endowment, 2021, 14(11): 2555-2562.
[25] Guo L, Hua L, Jia R, et al. Edgedipn: a unified deep intent prediction network deployed at the edge[J]. Proceedings of the VLDB Endowment, 2020, 14(3): 320-328.
[27] Liu K, Wang H, Zhou K, et al. A Lightweight and Adaptive Cache Allocation Scheme for Content Delivery Networks[C]// 2023 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 2023: 1-6.
[28] Liu K, Wu K, Wang H, et al. SLAP: An Adaptive, Learned Admission Policy for Content Delivery Network Caching[C]// 2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS). IEEE, 2023: 457-467.
[29] Tong Y, Wang C, Liu J, et al. Tripod: Harmonizing Job Scheduling and Data Caching for Analytics Frameworks[C]// 2022 IEEE 40th International Conference on Computer Design (ICCD). IEEE, 2022: 610-618.

版权声明:中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任。

回复

使用道具 举报

您需要登录后才可以回帖 登录

手机版|CCF Link ( 版权所有 中国计算机学会  京ICP备13000930号-4|京公网安备 11010802032778号   )

GMT+8, 2025-4-27 06:44 , Processed in 0.050346 second(s), 19 queries .

快速回复 返回顶部 返回列表