存储技术(CXL、open-channel SSD)

一、CXL技术

1.1 CXL技术要解决的问题

1、对系统和设备的一致性访问

传统的是使用Cache(L1/L2/L3)和内存的方式实现一致性访问的,通过PCIE总线访问的方式通常是非一致性的读写。
主机对连接到 PCIe 设备内存的每次访问也要由 PCIe 设备处理(非一致性)。因此,设备内存不能映射到可缓存的系统地址空间。
因此无法使PIM(存内计算)设备一致性访问内存只能通过内存搬移以及限制CPU和PIM同时访问的规则来限制,限制了PIM设备的应用。

2、内存可扩展性

CPU内核数增长、频率增长,对内存容量需求也会增长。
DDR通道内存可以实现一致性,但是其使用了更多的信号引脚、提供了较低的带宽,而且传输距离也受限,PCIE可以解决此类问题但是无法支持一致性。

3、资源利用不充分,内存和计算效率低

同机架不同服务器之间,部分服务器可能CPU占用高,内存占用低,或者反之,导致在单台服务器上资源存在浪费,资源在单台服务器上存在紧耦合,无法在机架间共享资源。

4、分布式系统中的细粒度数据共享

分布式系统经常需要进行细粒度的同步。底层的更新通常很小并且对延迟敏感,因为进程会在更新上阻塞。如果可以实现一致性的共享内存,可以实现低时延同步共享。例如,在 400G 网络下传输4KB 只需要不到 2 微秒,但是当前网络的通信延迟超过10 微秒。而一个一致的共享内存实现可以实现亚微秒级。

CXL现状

2019年首次发布CXL 1.0(解决了1.1中的问题1和2),2020年提出CXL 2.0(解决了1.1中的问题3),2022年提出CXL 3.0(解决了更大规模的1.1中的问题3和4),目前市场上有部分支持CXL 1.0 、1.1、2.0的设备。

open-channel SSD

为什么需要open-channel ssd

因为需要保持空的SSD block提高减少写时延、因为擦写block太慢,所以需要ROW重定向写和GC,又因为ROW和SSD硬件都存在GC机制就导致重复操作效率低下。
在这里插入图片描述

什么是open-channel ssd

在这里插入图片描述
在这里插入图片描述

SSD的各种数据单元

在这里插入图片描述
在这里插入图片描述

Chunk模型的信息

在这里插入图片描述在这里插入图片描述

以chunk为单位进行磨损均衡

在这里插入图片描述
在这里插入图片描述

openchannel 优缺点

在这里插入图片描述

ZNS

ZNS为open-channel的进一步发展,成本更低,更标准化。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ZNS映射表维护

在这里插入图片描述

ZNS zone写

在这里插入图片描述

ZNS优缺点

在这里插入图片描述
在这里插入图片描述

ZoneFS

在这里插入图片描述

ZoneFS和RocksDB

在这里插入图片描述
什么是RocksDB
https://blog.csdn.net/qq_30708747/article/details/120841257

ZoneFS在存储栈中的位置

在这里插入图片描述

ZoneFS和RocksDB结合的技术栈

在这里插入图片描述

CRUSH算法

在这里插入图片描述
在这里插入图片描述

布隆过滤器

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【知了社保-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

【易上手快捷开发新框架技术】nicegui组件button用法庖丁解牛深度解读源代码IDE运行和调试通过截图为证

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

24.2.29蓝桥杯|单位换算--8道题

本篇或者本系列文章使用蓝桥云课平台,借助CSDN梳理思路,给自己做一个电子笔记 单位换算类题目注意事项: 在参加蓝桥杯等编程竞赛时,进行单位换算是一个常见的题目类型,特别是涉及到数据存储和传输的问题。在处理单位换…

【AI驱动TDSQL-C Serverless 数据库技术实战营】基于Langchain的电商可视化分析

人工智能技术的飞速发展已深刻影响电商行业,显著提升了个性化推荐、用户行为分析、库存管理和市场预测等领域的效率。构建一个高效的AI驱动电商数据分析平台已成为行业的核心需求。本文里,我们将使用腾讯云的高性能应用平台 HAI(专为AI和科学…

OpenCV threhold()函数

OpenCV threhold()函数的主要用途是将灰度图转换为二值图像,实现灰度图的二值化,在机器视觉中使用频度较高,如尺寸量测,物体识别等。其原型如下: 函数参数: src 输入数组(多通道、8 位或 32 位浮点&#xf…

[RabbitMQ] 7种工作模式详细介绍

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏: 🧊 Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 🍕 Collection与…

软件测试|数据库常见面试题

在软件测试数据库的面试中,面试官通常会考察应聘者对数据库的理解、SQL语言的应用、数据库性能优化、以及数据库相关的技术栈和工具等方面的知识。以下是一些可能的面试问题及建议的回答思路: 1、什么是关系型数据库,主键,外键&am…

【C++算法】6.双指针_有效三角形的个数

文章目录 题目链接:题目描述:解法C 算法代码:图解: 题目链接: 611.有效三角形的个数 题目描述: 解法 数学知识: 给我们3个数,判断是否能够构成三角形。 平时:ab>c&am…

12、echarts 没有显示折线图

一、问题描述 echarts 没有显示折线图,但是,有数据显示: 看图表展示,y轴数据全部没有显示,直接可以判定是数据结构出问题了。 检查 series.data[] 数据结构: dataList [{"dateStr":"202…

SpringMVC4-SpringMVC获取请求参数

目录 通过ServletAPI获取&#xff08;不常用&#xff09; 通过控制器方法的形参获取请求参数 RequestParam RequestHeader CookieValue 通过POJO获取请求参数 解决获取请求参数的乱码问题 test_param.html&#xff1a; <!DOCTYPE html> <html lang"en&qu…

vue2中使用tailwindCss 详细教程

1、先看官方文档&#xff1a;https://www.tailwindcss.cn/ 2、先安装&#xff1a;npm install -D tailwindcss ---------------通过 npm 安装 tailwindcss&#xff0c;然后创建你自己的 create your tailwind.config.js 配置文件。 npm install -D tailwindcss 3、初始化文件…

vue 同一个页面第二次跳转路由内容不更新

问题出现原因 在vue中相同路由之间跳转&#xff0c;默认在跳转路由时会采用缓存策略,并不会刷新当前路由组件。导致mounted&#xff08;初始化&#xff09;,beforeDestory&#xff08;销毁&#xff09;等生命周期钩子函数并不会触发&#xff0c;从而产生路由跳转了&#xff0c;…

SpringMVC源码-SpringMVC源码请求执行流程及重点方法doDispatch讲解

一、开始请求 在浏览器访问http://localhost:8080/spring_mymvc/userlist这个接口&#xff0c;是个get请求。 FrameworkServlet类的service方法会被请求到: 调用路径如下&#xff1a; service:945, FrameworkServlet (org.springframework.web.servlet) service:764, HttpSer…

??实验——完全使用Ansible部署多台服务器的服务

文章目录 需求“NTP时间同步服务”“Zabix”“ELK”gitlab、Jenkis集群架构自动上线代码两台Web服务器部署同一Web应用WeCenter&#xff0c;且两台服务器的用户上传的数据目录挂载到共享存储服务器中&#xff0c;总数据保存在一台数据库服务器中使用sersync简单实现两台共享存储…

「系列投研|01」建立自己的移动比特币银行——赛道概况

ZJUBCA 09/28/2024 01&#xff5c;BTCfi赛道概况 BTCFi&#xff1a;建立自己的移动比特币银行 ——从Lending到Staking的全面解读 作者&#xff1a; Freya & Knight& Ausdin from ZJUBCA Elaine & Youyu from Satoshi Lab 关键词 BTCFi&#xff0c;稳定币&#xff…

4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1

目录 前序工作 1. 服务器项目名和本地一致 2. pycharm连接服务器 3. 本地项目对应到服务器项目 4. 简单测试一下同步效果 同步成功 前序工作 在同步到服务器之前&#xff0c;得确保已经完成以下几个前置步骤&#xff1a; 1. 租一个云服务器&#xff0c;可参考&#xff1a…

使用transformers中的pipeline调用huggingface中模型过程中可能遇到的问题和修改建议

使用transformers中的pipeline调用huggingface中模型过程 前言管线使用中的问题和解决huggingface的连接问题使用huggingface示例修改源继续使用pipeline No module named keras.engine 前言 HuggingFace有一个巨大的模型库&#xff0c;其中包括很多的比较成熟的经典模型&…

利用ChatGPT实现的生成式人工智能自动化控制系统

一、引言 随着信息化与智能化时代的到来&#xff0c;人工智能&#xff08;AI&#xff09;技术迅猛发展&#xff0c;正在深刻地重塑各行业的运营模式。在这一背景下&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;以其卓越的创造力和广泛的应用潜力&#xff…

Webpack 特性探讨:CDN、分包、Tree Shaking 与热更新

文章目录 前言包准备CDN 集成代码分包Tree Shaking原理实现条件&#xff1a;解决 treeShaking 无效方案&#xff1a;示例代码&#xff1a; 热更新&#xff08;HMR&#xff09; 前言 Webpack 作为现代前端开发中的核心构建工具&#xff0c;提供了丰富的特性来帮助开发者优化和打…

java基础(4)类和对象

目录 1.前言 2.正文 2.1类的定义与使用 2.1.1类的定义 2.1.2类的实例化 2.1.3this引用 2.1.3.1 访问当前对象的成员变量 2.1.3.2调用当前对象的成员方法 2.1.3.3构造函数中的 this 2.1.3.4归纳this 2.2封装 2.2.1封装的定义 2.2.2访问修饰符 2.3static 2.3.1sta…