当前位置: 首页 > news >正文

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

摘要

关键词:动态参数;多属性决策;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编码块,边缘存储系统可能仍然能够为所有用户提供服务。存储限制还通过放宽应用程序供应商在单个边缘服务器上保留大量存储资源的需求。

相关文章:

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

摘要 关键词:动态参数;多属性决策;critic权重法;DBSCA聚类分析 引言 云服务存储系统是一种基于互联网的数据存储服务,它可以为用户提供大规模、低成本、高可靠的数据存储空间。云服务存储系统的核心技术之一是数据容…...

五、人物持有武器攻击

一、手部添加预制体(武器) 1、骨骼(手) 由于人物模型有骨骼和动画,在添加预制体后,会抓握武器 建一个预制体在手部位置 二、添加武器拖尾 下载拖尾特效 赋值特效中的代码,直接使用 清空里面…...

mysql索引 -- 全文索引介绍(如何创建,使用),explain关键字

目录 全文索引 引入 介绍 创建 使用 表数据 简单搜索 explain关键字 使用全文索引 mysql索引结构详细介绍 -- mysql索引 -- 索引的硬件理解(磁盘,磁盘与系统),软件理解(mysql,与系统io,buffer pool),索引结构介绍和理解(page内部,page之间,为什么是b树)-CSDN博客 全文…...

Wayfair封号的常见原因及解决方案解析

近期关于Wayfair账号封禁的问题引发了广泛讨论。许多用户报告称,他们的Wayfair账户被突然封禁,这一现象不仅影响了用户的购物体验,也对Wayfair的品牌形象造成了一定的冲击。本文将深入探讨Wayfair封号的原因,并提出相应的解决方案…...

计算机视觉方面的一些模块

# __all__ 是一个可选的列表,定义在模块级别。当使用 from ... import * 语句时,如果模块中定义了 # __all__,则只有 __all__ 列表中的名称会被导入。这是模块作者控制哪些公开API被导入的一种方式。 # 使用 * 导入的行为 # 如果模块中有 __a…...

进阶美颜功能技术开发方案:探索视频美颜SDK

视频美颜SDK(SoftwareDevelopmentKit)作为提升视频质量的重要工具,越来越多地被开发者关注与应用。接下俩,笔者将深入探讨进阶美颜功能的技术开发方案,助力开发者更好地利用视频美颜SDK。 一、视频美颜SDK的核心功能 …...

【重学 MySQL】三十八、group by的使用

【重学 MySQL】三十八、group by的使用 基本语法示例示例 1: 计算每个部门的员工数示例 2: 计算每个部门的平均工资示例 3: 结合 WHERE 子句 WITH ROLLUP基本用法示例注意事项 注意事项 GROUP BY 是 SQL 中一个非常重要的子句,它通常与聚合函数(如 COUNT…...

SSM框架VUE电影售票管理系统开发mysql数据库redis设计java编程计算机网页源码maven项目

一、源码特点 smm VUE电影售票管理系统是一套完善的完整信息管理类型系统,结合SSM框架和VUE、redis完成本系统,对理解vue java编程开发语言有帮助系统采用ssm框架(MVC模式开发),系 统具有完整的源代码和数据库&#…...

基于Hive和Hadoop的白酒分析系统

本项目是一个基于大数据技术的白酒分析系统,旨在为用户提供全面的白酒市场信息和深入的价格分析。系统采用 Hadoop 平台进行大规模数据存储和处理,利用 MapReduce 进行数据分析和处理,通过 Sqoop 实现数据的导入导出,以 Spark 为核…...

【软考】高速缓存的组成

目录 1. 说明2. 组成 1. 说明 1.高速缓存用来存放当前最活跃的程序和数据。2.高速缓存位于CPU 与主存之间。3.容量般在几千字节到几兆字节之间。4.速度一般比主存快 5~10 倍,由快速半导体存储器构成。5.其内容是主存局部域的副本,对程序员来说是透明的。…...

UniApp基于xe-upload实现文件上传组件

xe-upload地址:文件选择、文件上传组件(图片,视频,文件等) - DCloud 插件市场 致敬开发者!!! 感觉好用的话,给xe-upload的作者一个好评 背景:开发中经常会有…...

以太网交换安全:端口隔离

一、端口隔离 以太交换网络中为了实现报文之间的二层广播域的隔离,用户通常将不同的端口加人不同的 VLAN大型网络中,业务需求种类繁多,只通过 VLAN实现报文的二层隔离,会浪费有限的VLAN资源。而采用端口隔离功能,则可…...

望繁信科技CTO李进峰受邀在上海外国语大学开展流程挖掘专题讲座

2023年,望繁信科技联合创始人兼CTO李进峰博士受邀在上海外国语大学国际工商管理学院(以下简称“上外管院”)开展专题讲座,畅谈流程挖掘的发展及对企业数字化转型的价值。演讲吸引了上外教授和来自各行各业的领军企业学员百余人。 …...

nicegui组件button用法深度解读,源代码IDE运行和调试通过

传奇开心果微博文系列 前言一、button 组件基本用法1. 最基本用法示例2. 创建带图标按钮 二、button按钮组件样式定制1. 按钮的尺寸调整2. 改变颜色示例3. 按钮的自定义字体大小4. 圆角形状示例5. 自定义边框6. 添加阴影7. 复合按钮8. 浮动按钮9. 可扩展浮动操作按钮QFAB10. 按…...

数据结构:树(并查集)

并查集(Union-Find Disjoint Sets 或 Disjoint Set Union,简称DSU)是一种树型的数据结构,主要用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。在并查集中,通常将n个对象划分为不相交的…...

校园二手交易平台的小程序+ssm(lw+演示+源码+运行)

摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…...

代码随想录训练营第46天|回文子序列

647. 回文子串 class Solution { public:int count0;void check(string& s, int left, int right){while(left>0&&right<s.length()&&s[left]s[right]){count;left--;right;}}int countSubstrings(string s) {for(int i0; i<s.length(); i){chec…...

使用 PowerShell 命令更改 RDP 远程桌面端口(无需修改防火墙设置)

节选自原文&#xff1a;Windows远程桌面一站式指南 | BOBO Blog 原文目录 什么是RDP&#xfffc;开启远程桌面 检查系统版本启用远程桌面连接Windows 在Windows电脑上在MAC电脑上在Android或iOS移动设备上主机名连接 自定义电脑名通过主机名远程桌面使用Hosts文件自定义远程主…...

bilibili实现批量发送弹幕功能

代码如下&#xff1a; import random import time import requests from tkinter import *# 弹幕内容列表 # lis_text [ # 京口瓜洲一水间&#xff0c;钟山只隔数重山。,君不见黄河之水天上来&#xff0c;奔流到海不复回。,起舞弄清影&#xff0c;何似在人间! # ] lis_te…...

如何查看上网记录及上网时间?5种按步操作的方法分享!【小白也能学会!】

“知己知彼&#xff0c;百战不殆”&#xff0c;在数字时代&#xff0c;了解自己的上网行为和时长&#xff0c;不仅能帮助我们更好地管理时间&#xff0c;还能提升工作效率和生活质量。 今天&#xff0c;我们就来分享五种简单易懂的方法&#xff0c;即便是网络小白也能轻松学会…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...