《Data Caching Optimization in the Edge Computing Environment》论文阅读笔记

本文主要是介绍《Data Caching Optimization in the Edge Computing Environment》论文阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Data Caching Optimization in the Edge Computing Environment》论文阅读笔记

  • Common Sense
  • Question
  • Analysis
  • Contributions
  • Related work
  • Edge data caching architecture
  • Edge data caching approach
    • Data caching benefit model
    • An optimal approach
    • An approximation algorithm
  • Experimental Evaluation
    • Dataset
    • Experiment Setup
      • Baseline
      • Performance Metrics
      • Expriment Settings
    • Experiment Set#1
    • Experiment Set#2
    • Threats to validity
  • Conclusion

Common Sense

  数据缓存是边缘计算中一项关键技术。由于网络中接入的移动用户数越来越多,用户对服务质量的要求也越来越高(如低延时、高准确性等),需要频繁从云中心获取请求的数据,在此过程中,由于内容的获取效率低下(重复数据多次获取等情况)、获取时延增加等问题,需要在移动边缘网络中对数据进行缓存,从而降低时延,提高服务质量。

  传统的缓存替换策略如最近最少使用(LRU)和最近最少访问频次(LFU), 已经被大量的研究工作采用。对于相同规模的内容, 这两种策略简单而且高效。但是, 它们会忽略内容的下载时延以及内容的数据量。为此, 研究者们提出了一些新的缓存方案, 如基于用户偏好、增强学习或多节点合作的缓存策略。
在这里插入图片描述

  数据的流行度(data popularity)在边缘计算的数据缓存问题中是一项重要的因素。

Question

  关于数据缓存的现有研究,大多从减少网络时延和提高移动设备的能量利用效率的方面进行考虑,这是以移动用户的视角来看待问题的。而本文则以服务提供商的角度切入,研究如何在数据接入时延约束下,最大化服务提供商的收益(revenue)。

Analysis

在这里插入图片描述
  上图为一个边缘网络,包含5个边缘服务器,边缘服务器接收到来自覆盖范围内的用户的数据请求,d1或者d2。针对这些请求,边缘服务器如何进行数据缓存才能使得收益最大化呢?
  首先考虑对于5个边缘服务器,全部缓存d1和d2一定能够满足用户的请求,但是这增加了缓存的代价,对于服务提供商来说并不划算。合理的缓存方式为,S2缓存数据d1,S5缓存数据d2。
  从服务提供商的角度,目标为满足用户数据接入时延的同时,最大化缓存数据带来的收益。
  数据缓存收益(data caching revenue)有两部分组成:一是缓存数据后用户请求带来的利润,二是存储数据和传输数据的代价。需要在两者进行trade-off。

Contributions

  1. 在考虑数据流行度的基础上,基于获益和代价建模服务提供商的收益。
  2. 扩展Page-Hinckley-Test方法用户检测数据流行度。
  3. 将数据缓存问题建模成整数规划问题,证明其为NP-complete。
  4. 提出一种近似算法来解决大规模场景下的数据缓存问题,并证明了算法的近似比。
  5. 在一个真实世界构造的数据集上进行扩展实验,与两种baseline方法进行比较。

Related work

作者方法目标or特点
Drolia et.al提出了缓存模型系统Cachier通过平衡云边负载最小化时延
E. Zeydan et al用大量的数据进行内容流行度估计,存储流行度高的数据实现用户的高满意度
Halalai et al基于动态规划提出了缓存模型系统Agar考虑数据流行度
Xuanyu et al从服务提供商角度提出一种优化竞争机制保证缓存空间上的内容分配和用户的支付
Xi et al提出联合缓存机制,未考虑数据流行度最大化缓存命中率
Gharaibeh et al提出在线缓存算法未考虑数据流行度
George et al.基于视频流行度分布设计了挑选视频缓存的准则确定视频流行度时考虑用户偏好
  大多数的研究聚焦移动用户操作者的视角,对于数据流行度的考虑很少。而本文则从服务提供商的角度,确保低数据接入时延的同时最大化收益。

Edge data caching architecture

在这里插入图片描述
如图所示,边缘数据缓存架构分为三层:

  1. 服务提供层:该层为服务提供商在云上提供的不同种类数据。
  2. 边缘服务器层: 该层边缘服务器部署在基站上面,用户缓存一些流行数据。
  3. 用户层:该层移动用户能够从附近的边缘服务器中获取流行数据。

Edge data caching approach

  边缘服务器定义为S={s1,s2, … , sk, … , sK} ,s0为云服务器。数据定义为D={d1, d2, … ,dj, … ,dM},数据大小为SZ={sz1, sz2, …}。请求数据的移动用户数量定义为U={u1,u2, …, ui, …, uI}。由于数据存储价格的锐减,实验假设每个边缘服务器的缓存空间是无限的。
  fk,j代表数据dj缓存到边缘服务器sk上的单元存储花费
  hji,k代表用户ui从边缘服务器sk上获取数据dj时的单元传输花费或者用户直接从云上获取数据的单元传输花费
  pk,j代表数据dj在sk覆盖范围内的流行度,threadshold代表特定于域的阈值,超过阈值则表明该数据能够缓存在对应边缘服务器上。该阈值只能决定缓存哪个数,而不能决定怎么缓存数据,所以对于本文提出方法的有效性和效率没有影响。

Data caching benefit model

  数据是否缓存到边缘服务器中取决于其数据流行度,而数据流行度依赖于特定时间段内移动用户对该数据的请求数量。如果一段时间内数据的请求量迅速上升,那么该数据的流行度就是高的。计算流行度的方法有很多,本文采用Page-Hinkley Test工具来评估数据流行度。
在这里插入图片描述
在这里插入图片描述
  如果PHTj高于阈值,那么数据dj被认为是流行的,缓存到边缘服务器上。
  定义缓存数据dj的利润:
在这里插入图片描述

An optimal approach

本文将问题建模为一个IP问题,并证明了它是NP完备的。
covi,k定义了用户ui是否被sk覆盖
在这里插入图片描述
zji,k定义了是否用户ui从sk上获取到dj
在这里插入图片描述
yk,j为数据缓存策略,定义了是否数据dj缓存在sk上
在这里插入图片描述
pi,j定义了数据dj在覆盖用户ui的边缘服务器上的流行度
在这里插入图片描述
在这里插入图片描述
其中,对于Sgn(number)函数,如果 number 大于0,则Sgn 返回1;等于0,返回0;小于0,则返回-1。
revenue = caching benifit - (storage cost + transmission cost)
则将问题建模为:
在这里插入图片描述
约束9保证了当数据dj在sk内流行时,dj有机会被缓存到sk上了人当数据dj在sk内不流行时,dj不会被缓存到sk上。
约束10保证了当数据dj在覆盖用户ui的边缘服务器上流行时,用户ui能够从覆盖ui的至少一个边缘服务器中获取到数据dj。
约束11保证了只有数据dj被缓存到sk上时,用户ui才能从sk上访问到dj。
约束12保证了将数据dj缓存到sk上的收益(revenue)都是正值。

可以采用Gurobi和IBM CPLEX Optimizer.对整数规划问题进行求解,其解为最优数据缓存策略。

Theorem 1 这是一个NP-complete问题。
Proof. 该问题可以归约成集合覆盖问题。U={(ui,di)…}U为用户的请求集,B={b1,b2,…}B为缓存决策,如b1={1,2,3}则表明数据d1被缓存在服务器s1,s2,s3上。w为将数据缓存到服务器上的revenue。该问题求解为如何选取B的子集B’,使得所有用户请求被覆盖的同时缓存产生的revenue最大。
根据解决集合覆盖问题的思路,采用贪心策略,每次选择revenue最大的缓存方式,直至所有用户数据请求被覆盖。

由于集合覆盖问题为NP-complete问题,则本文建模的问题也是NP-complete的。

An approximation algorithm

基于以上的思路,本文提出一种近似优化算法。

在这里插入图片描述
calSingleBenefits函数计算数据dj缓存到服务器sk上的revenue。
V代表用户请求,即(ui, dj)表示用户i对数据dj有需求。
DS代表缓存需求,即(sk, dj)表示服务器sk覆盖范围内的用户对数据dj有需求。(注意这里的有需求指的是数据流行度较高)
W代表数据缓存到服务器上的revenue。
T代表用户请求数,即t表示服务器覆盖范围内用户对某一数据的请求数。

  在所有缓存需求中,选择权重最大的一个缓存需求(sk, dj),设置y为1,表示可以将dj缓存在sk上;将权值设为-1,表示该需求已分配,更新C。(line 23 - 27)
  对于跟sk具有交叉范围的服务器,若交叉范围内用户请求了数据dj,并且用户能够通过sk获取到数据dj,那么这些具有交叉范围的服务器在计算revenue时,需要在benefit中减少请求数,且减少了对应的传输时延(因为用户通过sk能够获取数据,不用通过这些服务器)。(line 28 - 35)
  对于可缓存决策,选择其中存储花费最少的,作为用户访问数据的最合适边缘服务器。(line 36 - 39)
  不断迭代,直到所有的用户请求全部考虑完毕。

Experimental Evaluation

Dataset

采用EUA数据集,采样自真实环境,包含移动用户和边缘服务器的地理位置信息。

Experiment Setup

边缘服务器的数据条数60
移动用户的数据条数2000
用户请求数据的总数量不超过I*K(I为用户数量,K为服务器数量)
用户请求的数据的种类500
用户请求的数据的大小范围[3, 20)MB
计算benefit的B80
单位存储花费范围[5, 20)
单位传输花费范围[1,2]

为了模拟不同的场景,作者改变了边缘服务器数量和用户数量,实验进行100次取均值。

Baseline

  1. Random:随机选择边缘服务器进行数据的缓存直到满足接入时延的情况下所有可缓存数据都缓存完毕。
  2. User Coverage Oriented(UCO):每次贪心选择覆盖用户请求数最多的边缘服务器进行数据缓存直到所有可缓存数据缓存完毕。
  3. Caching Benefit Oriented(CBO):每次贪心选择benefit最高的缓存需求进行缓存直到所有可缓存数据缓存完毕。
  4. NSGA-II:基于遗传算法的一种算法

Performance Metrics

  1. 数据缓存收益(revenue):benefit - cost
  2. 数据缓存花费(cost):storage cost + transmission cost
  3. 每个缓存数据的平均收益(revenue per replica)
  4. 计算时间(computation time)

Expriment Settings

实验分为四组,通过改变边缘服务器数量和用户的数量,以查看不同场景中算法的性能优劣。
在这里插入图片描述
set1为小规模场景,set2为大规模场景。

Experiment Set#1

在这里插入图片描述
  在set#1.1中,随着服务器数量的增加,数据缓存收益、数据缓存花费和计算时间都在增加,每个缓存数据的平均收益在降低。并且除了最优解之外,本实验的近似算法总体性能是最好的。
在这里插入图片描述
  在set#1.2中,随着用户数量的增加,数据缓存收益、数据缓存花费、计算时间和每个缓存数据的平均收益都在增加。

Experiment Set#2

在这里插入图片描述
  set2的实验结果与set1十分相似,设置set2的目的是为了体现算法的扩展性(聚焦计算时间)。从图中可以看到,在大规模场景中,近似算法依然能够取得很好的效果。

Threats to validity

  1. Threats to Construct Validity
    Q:从服务提供商角度最大化revenue这一思路没有直接的比较方法?
    A:选用四个具有代表性的算法进行比较,通过改变实验设置参数(服务器数量和用户数量)检验方法的有效性。
  2. Threats to External Validity
    Q:模拟参数的设置是否合理(单位缓存花费,单位传输花费,数据大小等)?
    A:
  • 采用合成的数据,所有数据符合均匀分布。使用RpR指标计算每个数据的平均收益,能够降低参数的影响使评估更加全面。
  • 实验结果为运行100轮的平均结果,能够代表一种更为普遍的结果。
  • 用户请求随机生成,假定用户有一定的数据偏好,使用PHT测试流行度时更符合现实场景。
  1. Threats to Internal Validity
    Q:如何说明实验的全面性?
    A:通过改变实验设置参数(服务器数量和用户数量)说明方法的可扩展性。

Conclusion

  本文使用PHT方法测试数据流行度,将数据缓存问题建模为IP问题,并且通过将其归约至集合覆盖问题证明了其NP-complete,提出求解模型的近似算法,通过改变实验参数模拟了不同场景,对算法的性能进行了对比。

未来方向:

  1. 以去中心化方式解决大规模场景中的边缘数据缓存问题(game-theoretic思路)
  2. 边缘服务器的协同合作

——————————————————————————
参考文献:
【1】张开元, 桂小林, 任德旺, 李敬, 吴杰, 任东胜. 移动边缘网络中计算迁移与内容缓存研究综述[J]. 软件学报, 2019, 30(8): 2491-2516.(中文A)
【2】Y. Liu, Q. He, D. Zheng, M. Zhang, F. Chen and B. Zhang, “Data Caching Optimization in the Edge Computing Environment,” 2019 IEEE International Conference on Web Services (ICWS), Milan, Italy, 2019, pp. 99-106, doi: 10.1109/ICWS.2019.00027.(CCF-B)
【3】Y. Liu, Q. He, D. Zheng, X. Xia, F. Chen and B. Zhang, “Data Caching Optimization in the Edge Computing Environment,” in IEEE Transactions on Services Computing, vol. 15, no. 4, pp. 2074-2085, 1 July-Aug. 2022, doi: 10.1109/TSC.2020.3032724.(CCF-A)

这篇关于《Data Caching Optimization in the Edge Computing Environment》论文阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770288

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓