MPC&MAGIC
MPC: Popularity-based Caching Strategy for Content Centric Networks
MPC: most popular content
MPC主要思想是在缓存机制中,仅仅缓存popular的content,虽然只缓存部分内容,但是仍然提升了缓存性能,同时节约了缓存资源(缓存空间,带宽,缓存操作次数)
在MPC中引入了几个新的概念:
Popular Table :记录popular content的name和popularcount
Popular Threshold : popular阈值,一旦content的请求次数,达到阈值,这个content标记为popular content
Suggestion : 含有popular content发送给邻居节点,建议邻居节点缓存popular content
Reset Value : 邻居节点缓存popular content后,这时防止邻居节点同一内容持续的洪泛请求
下图是MPC缓存机制的基本过程:

如图节点A先请求数据e1,节点B,A,C请求数据d1,内容e1的popular值为1,内容d1的popular值为3,假设popular阈值为2。
那么d1就为popular content。这时缓存d1的节点D向邻居节点发出Suggestion(缓存内容d1),节点C,E缓存内容d1。
如果此时A节点旁有个邻居节点M,节点M请求内容d1,那么A将返回数据d1而不是D,同时D将会将d1的popular值重置。
MAGIC: a Distributed MAx-Gain In-networkCaching Strategy in Information-Centric Networks
MAGIC:MAX-Gain In-network Caching
数据传送路径上的分布式缓存策略。通过考虑内容的popularity和减少跳数的结合减少带宽的浪费,同时考虑了缓存替换来减少缓存的操作。
cache palcement gain:节点在缓存中缓存新内容的gain的值
cache replacement penalty:节点将内容从缓存中驱逐的loss值
这两个值是减少缓存操作的次数
1.

:节点v缓存请求内容m的缓存替换增益(gain)
:节点v请求内容m的请求速率(每秒发送INTERTEST messages的个数)
:从节点v到可以返回内容的节点之间的条数

:定义为所有缓存内容对象的最小带宽消耗节省
如果缓存一个新的内容的增益值(gain)小于替换任何缓存内容的代价,那么这个内容将被缓存,同时其他内容不会被替换。
2.分布式缓存策略
分布式缓存策略需要在数据传送路径的沿途寻找最好的palace来缓存内容



上图的伪代码和图说明了MAGIC缓存的操作过程:
寻找数据传输路径上缓存内容的节点:我们用content m的最大的LocalGain来确定节点。当请求内容m时INTEREST message发送同时
INTEREST message头部的MaxGain的值置0,每个路由收到INTEREST message,计算自己的
,将自己的值和INTEREST message
头部的MaxGain进行比较,如果
大于MaxGain则,MaxGain更新为
。
当INTEREST message到达服务器或者到达缓存内容m的节点后,MaxGain为最大值。DATA message中记录MaxGain的,DATA message
在返回的途中将
与MaxGain向比较,如果相等,则此节点缓存内容m。
MPC&MAGIC的更多相关文章
- Codeforces CF#628 Education 8 D. Magic Numbers
D. Magic Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- [8.3] Magic Index
A magic index in an array A[0...n-1] is defined to be an index such that A[i] = i. Given a sorted ar ...
- Python魔术方法-Magic Method
介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",例如类的初始化方法 __init__ ,Python中所有的魔 ...
- 【Codeforces717F】Heroes of Making Magic III 线段树 + 找规律
F. Heroes of Making Magic III time limit per test:3 seconds memory limit per test:256 megabytes inpu ...
- 2016中国大学生程序设计竞赛 - 网络选拔赛 C. Magic boy Bi Luo with his excited tree
Magic boy Bi Luo with his excited tree Problem Description Bi Luo is a magic boy, he also has a migi ...
- 一个快速double转int的方法(利用magic number)
代码: int i = *reinterpret_cast<int*>(&(d += 6755399441055744.0)); 知识点: 1.reinterpret_cast&l ...
- MAGIC XPA最新版本Magic xpa 2.4c Release Notes
New Features, Feature Enhancements and Behavior ChangesSubforms – Behavior Change for Unsupported Ta ...
- Magic xpa 2.5发布 Magic xpa 2.5 Release Notes
Magic xpa 2.5發佈 Magic xpa 2.5 Release Notes Magic xpa 2.5 Release NotesNew Features, Feature Enhance ...
- GCC 源码编译 mpc mprf gmp 不用make(否则会有lib/libgmp.so: could not read symbols: File in wrong format等错误)
错误信息: lib/libgmp.so: could not read symbols: File in wrong formatcollect2: error: ld returned 1 exit ...
随机推荐
- Intellij IDEA 文件修改提示星号
https://www.cnblogs.com/zheting/p/7594073.html
- 对《OA云》作品的分析
对<OA云>作品的分析 软件描述:<OA云>是一款基于移动端的企业日常事物办公软件,企业人员进入该产品后可以对当天的出勤情况进行签到,系统会自动的识别以及记录下员工的实时签到信 ...
- linux C单元测试工具CUnit的编译安装及使用
1 下载CUnit安装包CUnit-2.1-3.tar.bz2保存至/home/用户/ (安装包版本为文章做成时2016-05-25的最新版本) https://sourceforge.NET/pro ...
- Beta阶段冲刺三
Beta阶段冲刺三 Task1:团队TSP 团队任务 预估时间 实际时间 完成日期 新增其他学院的爬虫 180 130 11.30 新增其他学院的数据库字段修改 180 160 12.1 新增其他学院 ...
- RANCHER2.0 的简单使用
1. RANCHER2.0 能够管理 k8s 集群 也能够用来搭建 k8s 集群 但是因为网络问题 只测试了如何去管理集群 还没有去 测试 安装集群. 2. 创建rancher 服务的方法 dock ...
- flex与滚动冲突
如果设置方向用了flex,那么用滚动就没用
- Java移动文件到另外一个目录
private void moveTotherFolders(String pathName,String fileName,String ansPath){ String startPath = t ...
- CF1110C Meaningless Operations(构造题)
这可能是我打那么多次CF比赛时,做出来的最难的一道题了……而且这题也是个绝世好题…… 题目链接:CF原网 洛谷 题目大意:$q$ 组询问,每次给定 $a$ 询问 $\gcd(a\&b,a\o ...
- java实现超大整数加减乘除四则运算
原理: 用数组存储数字,按照计算法则进行运算. 代码: package com.hdwang; import java.util.regex.Matcher; import java.util.reg ...
- Oracle表字段类型更改的一个经验
先前表中ID字段类型是用序列,由于安全问题,需要处理水平权限的漏洞,虽然使用加密也可以处理,为了更方便,需要将字段类型改为Guid,如果表中已经有数据,更改起来不是很方便,对于基础数据表,这里提供一个 ...