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

6.方法设计

6.1.数据获取

为了收集不同的文件大小和纠删码参数对性能指标的影响,本文在Hadoop平台上进行了模拟实验。Hadoop是一种开源的分布式存储和计算框架,它可以支持不同类型的纠删码,并提供了一些应用程序接口和工具来测试和评估纠删码的性能 。

本文选取了以下六个性能指标作为评价纠删码参数选择的依据:

  1. 数据冗余度(DR):表示存储一个文件所需的编码块总数与数据块总数的比值,反映了存储空间的利用率。数据冗余度越小,表示存储空间利用率越高。在具有k个数据块和m个奇偶校验块的存储系统中,冗余度定义为 DR=m/(k+m)。

  2. 存储成本(SC):表示存储一个文件所需的编码块总数与单位编码块价格的乘积,反映了存储费用的开销。存储成本越小,表示存储费用开销越低。在具有k个数据块和m个奇偶校验块的存储系统中,存储成本定义为 SC=(k+m)/m。

  3. 传输开销(TO):传输开销是指纠删码在读写和恢复过程中消耗的网络带宽资源,它反映了纠删码对网络负载的影响。一般来说,传输开销越低,表示网络负载越低。传输成本TO定义为恢复工作负载传输的数据块数。

  4. 计算开销(CO):计算开销是指纠删码在编码和解码过程中消耗的计算资源,它反映了纠删码对系统性能的影响。计算成本定义为GF乘法/异或算法操作数。

  5. 可靠性(RE):表示在任意m个编码块丢失或损坏的情况下,仍然可以恢复原始文件的概率,反映了数据完整性的保障。可靠性越大,表示数据完整性保障越高。
    R E = ∑ i = 0 m C k + m i p i ( 1 − p ) ( k + m − i ) RE=\sum_{i=0}^{m}C_{k+m}^ip^i(1-p)^{(k+m-i)} RE=i=0mCk+mipi(1p)(k+mi)

  6. 恢复时间(RT):表示从任意k个编码块中恢复原始文件所需的时间,反映了数据恢复速度的效率。恢复性能越大,表示数据恢复速度越快。恢复性能 RP 是通过对恢复工作负载进行解码的平均开销(包括计算和访问成本)来衡量的 。

本文选取了以下四个变量作为影响纠删码参数选择的因素:

  1. 数据大小(filesize):表示一个文件占用的字节数,反映了文件内容的规模。文件大小范围为0MB-1GB,每隔10MB取一个值,共有101个值。
  2. 数据块个数(k):表示一个文件被分割成的数据块的个数,反映了文件分割的粒度。数据块个数范围为2-16,每隔1取一个值,共有15个值。
  3. 冗余块个数(m):表示一个文件生成的冗余块的个数,反映了文件编码的冗余度。冗余块个数范围为1-16,每隔1取一个值,共有16个值。
  4. 故障编码块个数(m’):表示一个文件在传输或存储过程中丢失或损坏的编码块的个数,反映了文件遭受的故障程度。故障编码块个数范围为0-m,每隔1取一个值,共有M+1个值。

本文使用了Reed-Solomon纠删码,这是一种现代的软件系统中随处可见的纠删码技术。

为了模拟不同文件大小和不同纠删码参数下的各项性能指标,我们使用了Hadoop软件作为实验平台。Hadoop是一种分布式计算框架,它可以将大量的数据存储在多个节点上,并通过MapReduce模型进行并行处理。Hadoop提供了一个分布式文件系统(HDFS),它可以支持纠删码技术的存储和访问。

我们搭建了一个由32个节点组成的Hadoop集群,每个节点都具有以下配置:

  • CPU:Intel Core i7-8700K @ 3.70GHz
  • 内存:16GB DDR4
  • 硬盘:1TB SATA
  • 网络:千兆以太网

我们在每个节点上安装了以下软件:

  • 操作系统:Ubuntu 18.04 LTS
  • Hadoop版本:3.2.2
  • PyCharm版本:17.0.8+7-b1000.8 amd64

我们使用了以下数据集作为实验对象:

  • 文件大小范围:0MB-1GB
  • 文件类型:文本
  • 文件数量:100个

我们将这些文件上传到HDFS中,并对每个文件应用不同的纠删码参数(k,m),其中k的范围为2-16,m的范围为1-16。我们使用了RS纠删码来生成和恢复冗余块。我们修改了Hadoop提供的内置纠删码配置来完成纠删码技术的编码和解码过程。

6.2.CRITIC确定权重

为了综合考虑各项性能指标,我们使用了critic客观权重法为这些指标赋权,计算出每种情况下的综合评分。

CRITIC(CRiteria Importance Through Intercriteria Correlation)方法,旨在确定多准则决策(MCDM,MutltipleCritier Decision Making) 问题中相对重要性的客观权重。它是基于评价指标的对比强度和指标之间的冲突性来综合衡量指标的客观权重。考虑指标变异性大小的同时兼顾指标之间的相关性,并非数字越大就说明越重要,完全利用数据自身的客观属性进行科学评价。

对比强度是指同一个指标各个评价方案之间取值差距的大小,以标准差的形式来表现。标准差越大,说明波动越大,即各方案之间的取值差距越大,权重会越高;

指标之间的冲突性,用相关系数进行表示,若两个指标之间具有较强的正相关,说明其冲突性越小,权重会越低。

对于 CRITIC 法而言,在标准差一定时,指标间冲突性越小,权重也越小;冲突性越大,权重也越大;另外,当两个指标间的正相关程度越大时,(相关系数越接近 1),冲突性越小,这表明这两个指标在评价方案的优劣上反映的信息有较大的相似性。

critic客观权重法的基本思想是:

  • 如果一个属性的取值变化越大,说明该属性越能反映决策对象的差异性,因此该属性的权重应该越大。
  • 如果一个属性与其他属性的相关性越高,说明该属性越能反映决策对象的整体性,因此该属性的权重应该越大。

6.2.1.归一化处理

步骤一:为了消除不同性能指标的量纲和取值范围的影响,本文对收集的数据进行了归一化处理,使其取值在[0,1]之间。对于正向指标(越大越好),使用以下公式:

对于正向指标:
x i j ′ = X i j − m i n ( X 1 j , X 2 j , . . . , X n j ) m a x ( X 1 j , X 2 j , . . . , X n j ) − m i n ( X 1 j , X 2 j , . . . , X n j ) x'_{ij}=\frac{X_{ij}-min(X_{1j},X_{2j} ,...,X_{nj})}{max(X_{1j},X_{2j},...,X_{nj})-min(X_{1j},X_{2j},...,X_{nj})} xij=max(X1j,X2j,...,Xnj)min(X1j,X2j,...,Xnj)Xijmin(X1j,X2j,...,Xnj)

对于负向指标:
x i j ′ = m a x ( X 1 j , X 2 j , . . . , X n j ) − X i j m a x ( X 1 j , X 2 j , . . . , X n j ) − m i n ( X 1 j , X 2 j , . . . , X n j ) x'_{ij}=\frac{max(X_{1j},X_{2j} ,...,X_{nj})-X_{ij}}{max(X_{1j},X_{2j},...,X_{nj})-min(X_{1j},X_{2j},...,X_{nj})} xij=max(X1j,X2j,...,Xnj)min(X1j,X2j,...,Xnj)max(X1j,X2j,...,Xnj)Xij

其中,x_ij是第i个文件在第j个指标上的原始值,x_ij是第i个文件在第j个指标上的标准化值。

6.2.2指标变异性

步骤二:对于每个指标,计算其差异系数,表示其差异程度。使用以下公式:

以标准差的形式来表现,Sj表示第j个指标的标准差:
{ x j ˉ = 1 n ∑ i = 1 n x i j S j = 1 n − 1 ∑ i = 1 n ( x i j − x ˉ j ) 2 \left\{\begin{matrix} \bar{x_j}=\frac{1}{n}\textstyle\sum_{i=1}^{n}x_{ij} \\ \\ \ S_j= \sqrt{\frac{1}{n-1}\sum_{i=1}^n (x_{ij}-\bar{x}_j)^2} \end{matrix}\right. xjˉ=n1i=1nxij Sj=n11i=1n(xijxˉj)2

在CRITIC法中使用指标差来表示各指标的内取值的差异波动情况,标准差越大表示该指标的数值差异越大,越能放映出更多的信息,该指标本身的评价强度也就越强,应该给该指标分配更多的权重。

6.2.3.指标冲突性

步骤三:对于每两个指标,计算其指标冲突性,表示指标间的相关性程度。使用以下公式:
R j = ∑ i = 1 p ( 1 − r i j ) R_j=\sum_{i=1}^{p}(1-r_{ij}) Rj=i=1p(1rij)

以相关系数的形式来表现,rij表示评价指标i和j之间的相关系数。

使用相关系数来表示指标间的相关性,与其他指标的相关性越强,则该指标就与其他指标的冲突性越小,反映出相同的信息越多,所能体现的评价内容就越有重复之处,一定程度上也就削弱了该指标的评价强度,应该减少对指标分配的权重。

6.2.4.信息量

步骤四:对于每个指标,计算其信息熵权重,表示其重要程度,使用如下公式:
C j = S j ∑ i = 1 p ( 1 − r i j ) = S j ∗ R j C_j=S_j\sum_{i=1}^{p}(1-r_{ij})=S_j*R_j Cj=Sji=1p(1rij)=SjRj

Cj越大,第j个评价指标在整个评价指标体系的作用越大,就应该给其分配更多的权重。

6.2.5.权重

步骤五:对于每个指标,计算其critic权重,表示其综合影响能力。使用以下公式:
W j = C j ∑ j = 1 p C j W_j=\frac{C_j}{\textstyle\sum_{j=1}^{p}C_j} Wj=j=1pCjCj

所以第j个指标的客观权重Wj

6.2.6.赋值

步骤六:对于每种情况,计算其综合评分,表示其总性能。使用以下公式:
s i = ∑ j = 1 m v j ∗ x i j s_i=\sum_{j=1}^{m}v_j*x_{ij} si=j=1mvjxij

si表示第i中情况的综合评分。

得到各个指标使用critic权重法的权重,每个指标会获得一个如下的权重值。

将通过CRITIC方法得到的权重与原指标数据相乘,然后各指标相加得到一个综合指标评分goal,将每组filesize的goal数据做比较,选出最大的goal,然后将所有的filesize都依次得到,形成一张filesize,k,m,goal表,即达成目标。

6.3.DBSCAN聚类算法

DBSCAN(Density-Based Spatial Clustering of Applications with Noise),DBSCAN聚类分析是一种基于密度的无监督学习算法,它可以在不需要指定簇的数量的情况下,根据数据点的密度将它们分成不同的簇,并且可以识别出噪声点和异常值。

6.3.1.DBSCAN聚类分析算法的计算公式:

给定一个数据集D={x1,x2,…,xn},其中xi是一个d维的向量,表示第i个数据点的特征。DBSCAN聚类分析需要两个参数:ϵ和MinPts,分别表示邻域的半径和最小密度点数。DBSCAN聚类分析的算法步骤如下:

  1. 从数据集D中任意选择一个未被访问过的点xi,标记为已访问。
  2. 计算xi的ϵ-邻域N(xi)={xj∈D∣d(xi,xj)≤ϵ},其中d(xi,xj)表示xi和xj之间的距离。
  3. 如果∣N(xi)∣≥MinPts,则将xi标记为核心点,并将N(xi)中的所有未被访问过的点加入一个队列Q,表示它们属于同一个簇C。
  4. 如果∣N(xi)∣<MinPts,则将xi标记为边界点或噪声点,并转到步骤6。
  5. 重复以下过程,直到队列Q为空:
    • 从队列Q中弹出一个点xk,标记为已访问。
    • 计算xk的ϵ-邻域N(xk)。
    • 如果∣N(xk)∣≥MinPts,则将xk标记为核心点,并将N(xk)中的所有未被访问过的点加入队列Q,表示它们属于同一个簇C。
    • 如果∣N(xk)∣<MinPts,则将xk标记为边界点。
  6. 如果数据集D中还有未被访问过的点,转到步骤1,否则结束算法。

6.3.2.现实中部署分组

我现在有一张最佳的file,k,m的表,我已经知道了各个文件大小如何选择数据块k,冗余块m的大小,将会得到最小的存储成本和最高的数据可靠性之间的权衡,但是如果说将这张表直接给公司,让公司给每个边缘服务器都部署上

unique((k,m))个文件配置显然是不合理的,因为每个配置文件都会生成对应的存储池,存储池的存在本身就会占用服务器的存储成本,如果在每个边缘服务器都生成unique((k,m))个文件配置对应的存储池,那存储消耗是巨大的,不可取的,故我们给出如下方案。

如,0MB–200MB被分为一大组,即小于140MB的文件的大组文件配置为k,m=(5,3)中,每大组的文件配置按最高的k,m配置向下兼容的方法,剩余数据按类似的方法进行分组,大约分5组即可,分组不能过多,不能超越超越总存储成本。

filesizekmgoal
10210.86
20220.75
30310.78
190430.78
200530.92

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

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

相关文章

美畅物联丨视频汇聚从“设”开始:海康威视摄像机设置详解

在运用畅联云平台进行视频汇聚与监控管理时&#xff0c;海康威视的安防摄像机凭借其卓越的性能与广泛的应用兼容性&#xff0c;成为了众多用户的首选产品。海康威视摄像机参数设置与调试对于实现高效的安防监控至关重要。今天&#xff0c;让我们一同深入学习海康摄像机的参数设…

无人机在矿业领域的应用!

矿区测绘与建模 无人机可以快速、全面地获取矿区的地形地貌数据&#xff0c;生成高精度的二维或三维模型。 这些模型可用于矿区的规划、设计、监测和管理&#xff0c;提高矿山的生产效率。 库存量量化监测 无人机能够捕捉厘米级的地形数据&#xff0c;通过计算得出准确的库…

【星汇极客】STM32 HAL库各种模块开发之DHT11模块

前言 本人是一名嵌入式学习者&#xff0c;在大学期间也参加了不少的竞赛并获奖&#xff0c;包括&#xff1a;江苏省电子设计竞赛省一、睿抗机器人国二、中国高校智能机器人国二、嵌入式设计竞赛国三、光电设计竞赛国三、节能减排竞赛国三等。 暑假的时候参加了太多的比赛&#…

查找满足条件的行

有 2022 年 1 月的日销售额统计表如下所示&#xff1a; 找出日销售额大于 1000 的日销售数据&#xff1a; spl("E(?1).select(Sales>1000)",A1:B32) 帮你早下班系列题目合集 免费课程学习、免费软件下载试用

图像去雾-图像去雨(matlab/python代码+教程)

看到许多小伙伴想进行图像去雨&#xff0c;图像去雾的任务&#xff0c;由于以前进行了此类项目&#xff0c;所以在此书写博客进行交流。 去雨前言 从静止图像中去除雨水是一项复杂且具有挑战性的任务。雨滴仅影响图像的很小区域&#xff0c;因此导致确定应考虑哪个区域和不应…

杭州悦数参与制定的图技术国家标准项目进入公示期!

9 月 27 日&#xff0c;由全国智能计算标准化工作组归口&#xff0c;杭州悦数科技有限公司等多家知名企业及科研机构共同参与的 《智能计算 图计算性能测试方法》 国家标准项目正式进入公示期。作为第一个图技术相关的国家标准&#xff0c;这一里程碑式的进展&#xff0c;不仅标…

win11 关掉夸克网盘的自启

1、先打开夸克的设置&#xff1a; 打开后&#xff0c;发现并没有自启动项。 2、打开win11自启动&#xff0c;然后去掉即可&#xff1a; 3、通过上面的设置&#xff0c;再次启动&#xff0c;应该是不会显示夸克了。

comfyUI如何入门?comfyUI保姆级入门攻略!

前言 配置要求 一张NVIDIA显卡最好&#xff0c;体验的话一台电脑就可以了&#xff0c; 安装步骤 访问官网:https://github.com/comfyanonymous/ComfyUI,看官网的操作步骤来。 有俩种安装window方式 1.第一种直接下载exe文件进行安装&#xff0c;点击上图的7-zip根据自已的w…

Cannon-ES中RigidVehicle的创建与应用:结合Three.js实现车辆动态模拟

本文目录 前言1、RigidVehicle1.1 概念1.2 RigidVehicle的创建与使用1.3 RigidVehicle的特性与应用 2、前置代码准备2.1 代码2.2 效果 3、RigidVehicle结合three的使用3.1 代码3.1.2 效果 3.2 控制车子移动3.2.1 效果 4、完整代码 前言 在物理引擎与三维图形渲染技术日益融合的…

Unity UndoRedo(撤销重做)功能

需求 撤销与重做功能 思考 关于记录的数据的两点思考&#xff1a; 记录操作记录影响显示和逻辑的所有数据 很显然这里就要考虑取舍了&#xff1a; 记录操作 这种方案只需要记录每一步的操作&#xff0c;具体这个操作要怎么渲染和实现出来完全需要自己去实现&#xff0c;这…

不宜使用Selenium自动化的10个测试场景

尽管在很多情况下测试自动化是有意义的&#xff0c;但一些测试场景是不应该使用自动化测试工具的&#xff0c;比如Selenium、WebDriver。 下面有10个示例&#xff0c;来解释为什么自动化在这种情况下使用时没有意义的&#xff0c;我还将为您提供每种方法的替代方法。 01.验证…

计算机毕业设计 | SpringBoot+vue 学生成绩课程管理 教务管理系统(附源码)

1&#xff0c;项目背景 教育需求增长 随着社会的发展&#xff0c;对于教育质量的要求也在不断提高。传统的手工操作和纸质记录已经不能满足现代教学的需求。因此&#xff0c;一个自动化、数字化的教务管理系统成为了必然的选择。 信息化趋势 现代科技的飞速发展使得信息化成为…

通过Dockerfile 安装rabbitMq

一、编写Dockerfile Dockerfile 指令详细注释如下&#xff1a; # 使用带有管理插件的官方 RabbitMQ 镜像作为基础 FROM rabbitmq:3.9-management# 复制自定义模板文件到 RabbitMQ 管理插件的模板目录 # 这里假设 ./users.ejs 和 ./limits.ejs 是用于自定义管理界面的模板文件…

七、InnoDB数据存储结构

文章目录 1. 数据库的存储结构:页1.1 磁盘与内存交互基本单位:页1.2 页结构概述1.3 页的大小1.4 页的上层结构2. 页的内部结构2.1 第1部分:File Header(文件头部)和 File Trailer(文件尾部)2.1.1 File Header(文件头部)2.1.2 File tRAILER(文件尾部)2.2 第2部分:Fr…

网络知识点之—EVPN

EVPN&#xff08;Ethernet Virtual Private Network&#xff09;是下一代全业务承载的VPN解决方案。EVPN统一了各种VPN业务的控制面&#xff0c;利用BGP扩展协议来传递二层或三层的可达性信息&#xff0c;实现了转发面和控制面的分离。 EVPN解决传统L2VPN的无法实现负载分担、…

【优选算法】--- 分治 快速排序

分治 快速排序 一、颜色分类 / 对快排的复习1、题目解析2、算法原理3、代码 二、排序数组&#xff08;快排的方法&#xff09;1、题目解析2、算法原理3、代码 三、数组中的第K个最大元素1、题目解析2、算法原理3、代码 四、库存管理 III&#xff08;原&#xff1a;剑指 Offer .…

如何使用pymysql和psycopg2连接MySQL和PostgreSQL数据库

在现代软件开发中&#xff0c;数据库是存储和管理数据的核心组件。Python作为一种流行的编程语言&#xff0c;提供了多种方式来连接和操作数据库。在这篇文章中&#xff0c;我们将探讨如何使用pymysql和psycopg2这两个库来连接MySQL和PostgreSQL数据库。我们将从基础概念开始&a…

Khronos:动态环境下时空度量语义SLAM的统一方法

Khronos: A Unified Approach for Spatio-Temporal Metric-Semantic SLAM in Dynamic Environments 原文 项目 引言&#xff1a; 人类居住环境通常是高度动态的&#xff0c;人、机器人和其他实体不断移动、互动和改变场景。对于机器人在这种情况下的操作&#xff0c;仅仅建立一…

想要加密电脑?盘点2024年企业常用的10款电脑文件加密软件

在企业数据安全的时代背景下&#xff0c;文件加密已经成为保护企业核心信息、应对网络安全威胁的关键举措。无论是保护机密的商业数据&#xff0c;还是遵守数据隐私合规性要求&#xff0c;企业对文件加密软件的需求日益增长。本文将盘点2024年企业常用的10款电脑文件加密软件&a…

安卓如何实现双击触摸唤醒点亮屏幕功能-源码分析linage os高通平台

背景&#xff1a; 前面文章已经有讲解过双击亮屏在一些方案调研情况&#xff0c;刚好linage os手机本身也有这个功能&#xff0c;刚好也有整体开源源码&#xff0c;所以今天带大家来对双击亮屏的源码部分进行剖析&#xff0c;本篇文章会一直分析到hal操作驱动节点。 设置作为…