AdaM: An Adaptive Fine-Grained Scheme for Distributed Metadata Management——泛读论文

ICPP 2019 Paper 分布式元数据论文汇总

问题

为了同时解决元数据局部性和元数据服务器的负载均衡。

现有方法缺陷

  • 基于哈希的方法:zFS [16],CalvinFS [21],DROP [24],AngleCut [8]

  • 静态子树划分:HDFS [6], NFS [14], PVFS2 [25], CXFS [10] and Coda [17]

  • 动态子树划分:Ceph [22], Kosha [2] and GIGA+ [13]

  • 其他:Dynamic Dir-Grain [23]

现有的方法采用基于历史的粗粒度方法,动态地将节点重新分配到不同的服务器,未能及时而有效地更新节点的分布。这种设计存在两个主要限制:第一,分布式更新基于定期的历史统计数据,因此会滞后于访问模式的变化;第二,粗粒度的迁移不可避免地会导致冗余的迁移成本,一些非热节点会频繁地与热节点一起移动,这也限制了性能的提高。

本文方法

根据我们对元数据访问跟踪的分析,如图2所示,元数据访问模式具有长尾性质:大多数查询指向一小部分元数据(热节点)。基于这种特性,我们提出了细粒度迁移,该迁移作用于单个热节点,而不是子树或具有连续哈希值的一系列节点,以减少由非热节点的移动产生的不必要成本。

我们提出了一种自适应的细粒度元数据管理方案AdaM,利用深度强化学习来解决与时间变化的访问模式相对立的权衡困境。在每个时间步骤中,AdaM收集环境状态,包括:元数据节点在上一时间段的访问频率、MDS上节点的分布、名称空间树的结构。然后,利用训练的actor-critic网络,根据观察到的状态,将热元数据节点重新分配到不同的服务器。使用在下一个时间段完成所有访问后获得的奖励来更新网络,从而鼓励代理提前进行预测和采取行动,以适应访问模式的变化。对于变化的访问模式,AdaM能够动态地在不同的MDS上迁移热节点,以保持负载平衡并保持元数据的局部性。

我们在真实数据迹象上对AdaM进行了测试。实验结果表明我们提出的方法优于基于哈希[16],静态子树划分[25],动态子树划分[13],AngleCut[8]。

实验环境

LiveMap数据集 SNIA - Storage Networking Industry Association: IOTTA Repository Home,比较局部性、负载均衡度、访问分布、迁移开销、模型初始化影响

总结

为了同时解决元数据局部性和元数据服务器的负载均衡。作者认为之前的方法:基于历史数据,会滞后于访问模式的变化;迁移粒度太粗,导致冗余的迁移成本。提出基于深度强化学习(DRL)的细粒度迁移策略,根据DRL预测未来状态进行迁移,而且只迁移热节点,减少迁移开销。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/314169.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年【电工(初级)】最新解析及电工(初级)模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 电工(初级)最新解析根据新电工(初级)考试大纲要求,安全生产模拟考试一点通将电工(初级)模拟考试试题进行汇编,组成一套电…

Java十大经典算法——贪心算法

算法概念: 贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法;贪婪算法所得到的结果不一定是最优的结果(有时候会是最优解),但…

世微AP5125 输入14-80V 输出12V5A LED灯降压恒流电源驱动方案 SOT23-6

这是一款60WLED驱动方案,线路图BOM表如下 ​ 祥单表: 实物图: 产品描述 AP5125 是一款外围电路简单的 Buck 型平均电流检测模式的 LED 恒流驱动器,适用于 8-100V 电压范围的非隔离式大功率恒流 LED 驱动领域。芯片采用固定频率 140kHz 的 …

Springboot3+EasyExcel由浅入深

环境介绍 技术栈 springboot3easyexcel 软件 版本 IDEA IntelliJ IDEA 2022.2.1 JDK 17 Spring Boot 3 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。 他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、…

Mr_HJ / form-generator项目文档学习与记录(续2)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/n…

vue3打包后页面空白解决方法

vue3打包后页面空白解决方法 问题解决方法 问题 最近写一个小项目 没有打包的时候一切正常 技术栈用的vue3 vite 我用的是npm创建的项目 npm init vuelatest问题一 :打包后页面空白,什么都没有 问题二:刷新页面后找不到资源 把url的inde…

(超详细)5-YOLOV5改进-添加A2Attention注意力机制

1、在yolov5/models下面新建一个A2Attention.py文件,在里面放入下面的代码 代码如下: import numpy as np import torch from torch import nn from torch.nn import init from torch.nn import functional as Fclass DoubleAttention(nn.Module):def …

自研OS,手机厂商的「私心」与软件厂商的「灾难」

作者 | 辰纹 来源 | 洞见新研社 在卷完了配置参数,影像跑分,屏幕快充、存储影像、续航折叠……手机还能怎么卷? 过去的2023年,手机厂商们不约而同的将目标瞄准了自研系统。 站在民族情感层面,中国手机“去安卓化”…

PHP在线考试平台管理系统源码带文字搭建教程和操作手册

PHP在线考试平台管理系统源码带文字搭建教程和操作手册 技术架构 PHP7.2 Thinkphp6 React UmiJs nginx mysql5.7 cnetos7以上 宝塔面板 系统功能特性与介绍 采用PHP7强类型(严格模式)。 题库管理 支持多种试题类型和录题方式。 考生管理 快速导入考…

Paddle模型转ONNX

深度学习模型在硬件加速器上的部署常常要用到ONNX(Open Neural Network Exchange,开放神经网络交换)格式,也可以通过ONNX实现不同AI框架(如Pytorch、TensorFlow、Caffe2、PaddlePaddle等)之间的模型转换。 …

python:for循环 实现FizzBuzz

python:for循环 实现FizzBuzz 要求:输入一个数字,程序遍历从1到输入的数字之间的所有数字,如果该数能被3整除,打印Fizz;如果该数能被5整除,打印Buzz;如果能同时被3和5整除&#xff…

Docker安装Redis 配置文件映射以及密码设置

安装直接docker pull redis即可,默认redis最新版 设置两个配置文件路径 mkdir -p /root/docker/redis/data mkdir -p /root/docker/redis/conf touch redis.conf // 容器挂载用conf配置文件 bind 0.0.0.0 protected-mode yes port 6379 tcp-backlog 511 timeout…

蓝桥杯单片机组备赛——LED指示灯的基本控制

🎈教程介绍:博客依据b站小蜜蜂老师的教程进行编写,文中会对老师传授的知识进行总结并加入自己的一些理解。教程链接 文章目录 一、点灯介绍二、相关数字芯片介绍2.1 74HC138介绍2.2 74HC573介绍2.3 74HC02介绍 三、代码设计思路四、代码编写…

【C#】当重复使用一段代码倒计时时,使用普通类和静态方法,实现简单的封装性、可扩展性、可维护性

欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《C#》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。…

代码随想录刷题第四十八天| 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

代码随想录刷题第四十八天 今天是打家劫舍三部曲,最后一题树形dp有点难,其他还好 打家劫舍 (LC 198) 题目思路: 代码实现: class Solution:def rob(self, nums: List[int]) -> int:dp [0 for _ in range(len(nums)1)]dp[1…

Go并发快速入门:Goroutine

Go并发:Goroutine 1.并发基础概念:进程、线程、协程 (1) 进程 可以比作食材加工的一系列动作 进程就是程序在操作系统中的一次执行过程,是由系统进行资源分配和调度的基本单位,进程是一个动态概念,是程序在执行过程…

【生产者消费者模型的 Java 实现】

文章目录 前言传统派维新派 前言 题目:一个初始值为零的变量,多个线程对其交替操作,分别加1减1 实现步骤: 线程操作资源类判断,干活,通知防止虚假唤醒机制,即:多线程的判断需要用…

车规MCU开发之E2E协议

啥是E2E? E2E的原理: 1. 发送端:发送数据包添加E2E保护头 2. 接收端:接收数据包校验E2E保护头 E2E例子 - profile 11为例 E2E_P11ConfigType wk_stP11Cfg { .CounterOffset 8, .CRCOffset 0, .DataID …

2024年免费服务器活动整理汇总

随着科技的发展,服务器在各行各业的应用越来越广泛,而免费服务器活动也成为了许多企业和个人关注的焦点。目前有许多免费服务器活动可供选择,本文将为大家整理汇总免费服务器活动,帮助大家更好地了解和参与。 一、腾讯云免费服务器…