纠删码参数自适应匹配问题ECP-AMP实验方案(一)

news2024/11/18 19:53:26

摘要

关键词:动态参数;多属性决策;critic权重法;DBSCA聚类分析

引言

云服务存储系统是一种基于互联网的数据存储服务,它可以为用户提供大规模、低成本、高可靠的数据存储空间。云服务存储系统的核心技术之一是数据容错技术,它可以保证在存储设备发生故障时,数据不会丢失或损坏。

随着互联网和大数据发展,云服务存储供应商面临的一个重要问题是数据存储。随着数据量的不断增长,如何在保证数据可靠性的同时,降低数据存储成本,是一个亟待解决的挑战。

数据可靠性是指数据在存储、传输和处理过程中不受损坏或丢失的能力。数据存储成本是指为了实现数据存储所需投入的资源和费用。数据可靠性和数据存储成本是两个相互制约的因素,一般来说,提高数据可靠性需要增加数据冗余度,而增加数据冗余度会导致增加数据存储成本。

为了解决这一矛盾,云服务存储供应商常用的方法是使用纠删码(Erasure Code)技术进行数据存储。纠删码是一种编码技术,它可以将原始数据分割成k个数据块,并通过编码生成m个冗余块块,使得任意k个块就可以恢复原始数据。纠删码具有高效利用存储空间、提高容错能力、降低恢复开销等优点。纠删码在云服务存储系统中得到了广泛的应用。

然而,纠删码技术也存在一些问题和挑战。其中一个重要的问题是如何确定最佳的纠删码参数(k,m),即被分割的数据块个数和冗余块个数。这两个参数会影响到纠删码技术的各项性能指标,例如数据冗余度、存储成本、传输开销、可靠性、恢复性能等。如果k或m过大,会导致数据冗余度和存储成本过高;如果k或m过小,会导致可靠性和恢复性能下降。

本文提出了一种基于文件大小的纠删码参数选择方法,该方法结合了分析模型和实验数据两种方法的优点,既可以得到接近理论的最优解,又可以节省时间和资源,而且可以适应不同的实验环境。该方法的基本思想是,根据文件的大小,选择合适的纠删码参数,以实现存储成本和可靠性的平衡。该方法分为两个步骤:首先,通过在Hadoop软件上模拟实验,得到不同文件大小和纠删码参数的性能指标,包括数据冗余度、存储成本、传输开销、可靠性、恢复性能等,然后使用CRITIC客观权重法为这些性能指标赋权,并进行归一化处理,得到每种文件大小和纠删码参数的综合评分,从中选出最优的纠删码参数作为该文件大小的最佳参数;其次,使用DBSCAN聚类算法,将不同文件大小的最佳纠删码参数进行聚类,得到几组纠删码参数,作为部署在云服务存储系统中的纠删码池参数。

相关工作

纠删码是一种基于编码理论的数据容错技术,它将数据切分成多个数据块,然后通过编码算法,生成一定数量的冗余块,存储在不同的节点上。纠删码的优点是存储开销低,容错能力强,可以容忍任意多个节点的故障。然而,纠删码的缺点是编码和解码需要计算开销,数据读写和恢复需要传输开销,以及对于小文件的处理效率低。

纠删码的性能受到其参数的影响,主要包括数据块个数、冗余块个数和故障编码块个数。数据块个数和冗余块个数决定了纠删码的存储效率和容错能力,故障编码块个数决定了纠删码的恢复效率。不同的纠删码参数可能适合不同的文件大小,因为文件大小会影响数据的切分、编码和传输。因此,如何根据文件大小选择合适的纠删码参数,是一个重要的问题。

动机

云服务存储供应商面临的一个重要问题是如何在现代计算系统的高度动态、不断变化的性质与计算系统不断增长的存储需求相结合的情况下,高效地配置和管理存储资源。

当使用固定参数配置的管理方法时,所有传入的数据都使用一套纠删码参数进行配置,这可能导致资源利用的不均衡。不同大小的文件可能需要不同的纠删码配置来实现最佳的纠删码效果。如果使用固定的纠删码参数,较小的文件可能会浪费存储资源,因为它们使用了比实际需要更多的冗余数据。相反,较大的文件可能会受到不足的保护,因为它们未能获得足够的冗余数据。不当的纠删码参数可能会导致性能下降,浪费更多的存储成本和计算成本,而没有实际的好处。

当依赖于手动管理方法时,手动确定计算系统的适当纠删码配置通常会导致次优配置,而且从一个特定的EC配置更改到另一个EC配置可能是昂贵的或麻烦的。我们需要的是一种技术解决方案,以减轻管理员在动态变化的计算和存储系统中确定和实施纠删码的负担。

尽管使用不同的纠删码参数去适应不同大小的文件可能会增加系统的复杂性(需要维护一个最低存储成本和最高可靠性的表),但也可以提供更大的灵活性和性能优化的机会。复杂性的增加可能需要更多的管理和维护工作,但可以根据实际需求来权衡这些问题。

本文的主要贡献如下:

  • 提出了一种纠删码参数选择方法,该方法可以综合考虑多个性能指标,如数据冗余度、存储成本、传输开销、可靠性、恢复性能等,并为每个文件自动地确定最佳的纠删码参数。
  • 设计了一种基于文件大小的在线文件存储的分组策略,该策略可以将文件按照不同的大小范围分组到不同的数据池中,并为每个数据池设置不同的纠删码参数,以实现实际最低存储成本和最高可靠性的权衡。
  • 在Hadoop平台上进行了实验,结果表明,该方法可以有效地降低数据存储成本,提高数据可靠性,并优化数据恢复和应用程序性能。

这些贡献对于云服务存储供应商来说具有重要的实际意义。我们的目标是为云服务存储供应商提供一种有效的解决方案,以应对现代计算环境中的存储挑战。我们希望这种方法能够帮助云服务存储供应商,为存储不同大小的数据的纠删码技术选择合适的纠删码参数,以便更好地管理他们的存储资源,提高服务质量,降低成本,最终实现更高的客户满意度。

准备工作

纠删码被广泛应用于云存储系统领域,产生低存储开销和高可靠性。通过应用纠删码,一段数据被划分为k块数据块,这k块数据块通过矩阵编码被编码为m块校验块,编码块k+m总数被分发以存储在k+m节点上,数据可以从k+m个编码块中选择k个块进行恢复,纠删码存储、恢复数据整体图如下所示:

纠删码的原理是将数据乘以编码矩阵,利用矩阵反演技术实现译码过程。实际上,为了确保乘法的结果保持在固定的大小内,通过将矩阵乘法映射到有限域来获得纠删码中的矩阵乘法结果。

模型与问题制定

各符号与对应解释:

NotationDescription
file_size原始的文件大小
kX使用纠删码的数据块个数
mX使用纠删码的冗余块个数
m’故障编码块的个数

方案框架图:

问题表述

传入存储系统的文件file,目的是根据其文件大小自适应匹配纠删码存储成本和可靠性达到平衡的纠删码方案以及最佳参数k和m,根据选定的性能指标可知,这是一个多目标优化的问题,存在帕累托最优解。我们的目标就是获得帕雷依托最优解。

将各种不同大小的文件输入Hadoop中进行纠删码实验:文件的分割、编码、放置和恢复等操作,得到纠删码实验的性能指标,然后将得到的数据使用CRITIC客观权重赋权法为每一项性能指标赋权,将赋权后的性能参数相加得到评分,选出每一个file的最高评分,作为file的纠删码参数,最后得到一张最低存储成本和最高可靠性权衡下的(filesize,k,m)表。

然后将这张表根据DBSCAN算法,一种基于空间密度的聚类算法,分别建立几个数据池,应用于实现生活中的纠删码配置部署的低成本,最终实现纠删码存储系统低存储成本和高可靠性之间的最佳权衡。

纠删码参数自适应匹配问题(ECP-AMP)的优化目标是最小化总存储成本和最大化可靠性之间的权衡,即Cost Reliability Trade-off,它是根据存储在纠删码存储系统中的编码块和数量、大小以及数据可靠性计算的。

存储限制

在这项研究中,我们研究了最一般的编码放置场景,其中数据存储系统中的每个边缘服务器上最多有一个编码块。

此存储限制概括了每台边缘服务器上可以存储的编码块数。允许在每个边缘服务器上存储多个编码块将更容易找到存储解决方案,但会降低存储在系统中的数据的可靠性。以一个极端情况为例,所有的k+m编码块仅存储在边缘存储系统中的一台边缘服务器上,以便为所有用户提供服务。如果该边缘服务器出现故障,则所有用户都无法使用数据。相反,如果每个边缘服务器上只能存储一个编码块,则边缘服务器的故障不会显着降低数据的可靠性。事实上,只要所有用户仍然可以检索k编码块,边缘存储系统可能仍然能够为所有用户提供服务。存储限制还通过放宽应用程序供应商在单个边缘服务器上保留大量存储资源的需求。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

winsoft公司Utils组件功能简介

Winsoft Utils Library 2.3 是一个为 Delphi 和 C Builder(版本 7 到 12 Athens)设计的实用工具库。它提供了一系列组件和类,旨在简化和增强开发过程。以下是一些主要功能和特点: 1.组件集合:包含多种实用组件&#x…

AB plc设备数据 转profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 网关采集AB PLC数据 2 5 用PROFINET IO协议转发数据 4 6 案例总结 7 1 案例说明 设置网关采集AB PLC数据把采集的数据转成profinet IO协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换网关&#xff0…

如果再回到从前——备忘录模式

文章目录 如果再回到从前——备忘录模式如果再给我一次机会……游戏存进度备忘录模式备忘录模式基本代码游戏进度备忘 如果再回到从前——备忘录模式 如果再给我一次机会…… 时间:5月6日18点  地点:小菜、大鸟住所的客厅  人物:小菜、…

Sharding-JDBC笔记03-分库分表代码示例

文章目录 一、水平分库1. 将原有order_db库拆分为order_db_1、order_db_22. 分片规则修改分片策略standardcomplexinlinehintnone 3. 插入测试4. 查询测试5. 使用分库分片键查询测试总结 二、公共表1. 创建数据库2. 在Sharding-JDBC规则中修改3. 数据操作4. 字典操作测试5. 字典…

Linux线程-POSIX信号量与锁以及条件变量

POSIX信号量 POSIX没有元素这个概念相比于SYSTEM-V更简洁,POSIX不一定适用老版本;二者都是系统范畴,都需要手动删除,POSIX相关函数属于线程库,所有编译时需要末尾加上-lpthread选项 POSIX POSIX有名信号量 主要用于进…

华为 HCIP-Datacom H12-821 题库 (29)

🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.BFD 为确保两端系统都知道状态的变化,在BFD 状态机的建立和拆除时都采用三次握手…

【LeetCode:75. 颜色分类 + 快速排序】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

图像超分辨率(SR)

图像超分辨率(Image Super-Resolution, SR)是一种图像处理技术,旨在从低分辨率(LR)图像中恢复出高分辨率(HR)图像。这种技术通过增加图像中的细节和清晰度来提高图像的视觉质量,从而…

微信支付准备工作之内网穿透2024/9/28

微信支付部分好像做不了,但是跟着写了点东西。 做项目的微信支付功能时,微信后台需要调用到商户管理系统,但是我们的管理系统写在自己的电脑里。微信后台如何调用到商户系统?内网穿透。 还有如何保证调用过程数据安全&#xff1…

PowerDesigner 16.5安装教程 + 轻松解决软件证书过期导致的无法使用问题

目录 背景: 安装教程 : 证书过期的解决方法: 背景: PowerDesigner16.5凭借强大的功能集成、广泛的兼容性和高效的模型驱动开发方法成为了企业级建模于设计领域的佼佼者。无论是在企业信息化建设、软件开发项目还是数据库设计于管理等领域它都能提有利…

【步联科技身份证】 身份证读取与解析———未来之窗行业应用跨平台架构

一、身份证解析代码 C# function 身份证数据解析_湖南步联科技(wzxx) {var result {};result[xm] wzxx.substr(0, 15);result[xbdm] wzxx.substr(15, 1);result[mzdm] wzxx.substr(16, 2);result[csrq] wzxx.substr(18, 8);result[dzmc] wzxx.substr(26, 35);result[gms…

论文阅读 | HiDDeN网络架构

ECCV 2018 斯坦福-李飞飞团队 一、问题描述 受以下启发: 对抗性例子的发现:深度学习模型在图像识别任务中对微小的、难以察觉的输入扰动非常敏感,这些扰动可以导致模型错误分类图像。这一现象表明,神经网络可以在图像中编码信息&…

一文上手SpringSecurity【五】

对于前后端不分离的项目,我们可以采用一文上手SpringSecurity【四】当中的方式来自定义用户的登录页面和数据源,数据源目前采用的是模拟的方式来实现的,本篇内容主要介绍一下spring security对于前后端分离项目如何实现认证和授权的. 一、前后端分离的认证面对的问题 1.1 传统…

File systems

inode descriptor 文件系统中核心的数据结构就是inode和file descriptor。后者主要与用户进程进行交互。 inode,这是代表一个文件的对象,并且它不依赖于文件名。实际上,inode是通过自身的编号来进行区分的,这里的编号就是个整数…

修改 idea 的 Terminal 命令窗口使用 git-bash

修改配置方法 实际使用效果 (END)

Java Stream 神技!10招顶级技巧,让你的代码简洁又高效!

哈喽,欢迎来到【程序视点】,我是小二哥。 引言 你是否曾在编写Java代码时,为了处理集合而感到头痛不已?是否在寻找一种更优雅、更简洁的方式来简化你的代码? 如果你的答案是肯定的,那么Java Stream API无…

org.eclipse.paho.client.mqttv3.MqttException: 无效客户机标识

需求背景 最近有一个项目,需要用到阿里云物联网,不是MQ。发现使用原来EMQX的代码去连接阿里云MQTT直接报错,试了很多种方案都不行。最终还是把错误分析和教程都整理一下。 需要注意的是,阿里云物联网平台和MQ不一样。方向别走偏了。 概念描述 EMQX和阿里云MQTT有什么区别…

OpenCV视频I/O(6)检查视频捕获对象是否已成功打开的函数isOpened()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 如果视频捕获已经初始化,则返回 true。 如果之前调用 VideoCapture 构造函数或 VideoCapture::open() 成功,则该方法返回…

ireport 5.1 中文生辟字显示不出来,生成PDF报字体找不到

问题: 情况1:ireport中填入中文生辟字的时候不显示,或者无法输入和粘贴生辟字。 情况2:生成pdf的时候报字体找不到。 net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : pdfFontName : …

十分钟实现内网连接,配置frp

十分钟实现内网连接,配置frp 一.frp是什么?其实是一款实现外网连接内网的一个工具,个人理解,说白了就像是teamviwer一样,外网能访问内网。 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服…