CSAL: the Next-Gen Local Disks for the Cloud——论文泛读

EuroSys 2024 Paper 论文阅读笔记整理

问题

云本地磁盘以其实惠的价格和高性能而极具吸引力。在云本地磁盘中,物理存储设备直接连接到计算服务器,并作为块设备虚拟化到虚拟机(VM)。在这种设置下,计算节点受其有限的计算和存储资源的限制,只能提供有限数量的VM(也称为ECS实例)。

随着CPU的性能的快速增长,促使进一步复用资源,为每台服务器提供更多实例。然而,这种想法受到存储设备发展的限制。一方面,硬盘驱动器拥有高密度,但带宽仍在每个驱动器250MB/s左右,从而阻止本地磁盘在实现相同服务级别目标(SLO)的同时增加容量。另一方面,高性能存储类内存(SCM)固态硬盘,提供了有竞争力的性能,但存储容量有限,成本高得多[22]。

一种新方法是采用新兴的QLC SSD[26,32,39,40,50]作为本地磁盘。QLC固态硬盘的高密度(比SLC高4倍)和低成本(不到SLC的1/4)提供了可接受的大容量。

本文方法

本文探讨了利用基于QLC的高容量固态硬盘制作云本地磁盘的可能性。并进行了三次初步的尝试:部署QLC SSD作为替代品,使用高性能SSD(HP-SSD)构建分层系统(即OpenCAS[8]),使用dm分区(内核设备映射器)[4]。但QLC固态硬盘不能简单地作为替代品,原因有两点:

  • QLC SSD采用粗粒度的逻辑到物理(L2P)映射(例如,Intel P5316 QLC SSD中的64KB间接单元[21,26,28,51])。64KB比传统NVMe SSD中的4KB L2P条目大得多,从而导致高设备级写入放大(即,4KB逻辑写入变为64KB NAND写入)。

  • 使用闪存转换层(FTL)管理QLC内部的地址映射,导致垃圾收集的严重NAND级写入放大,因为具有不同寿命的数据混合在一起[17]。

基于以上经验教训,本文提出了CSAL,即阿里云的下一代云本地磁盘。CSAL需要大约3GB的DRAM用于内存数据结构,管理HP-SSD作为写缓冲区,并使用大容量分区命名空间(ZNS)QLC SSD进行持久性。

  • 设计了两级L2P表,以实现细粒度(4KB)数据访问,从而减轻设备级写放大。

  • 周期性执行压缩,将冷数据聚合为对底层ZNS QLC SSD的大顺序写入来回收写入缓冲区空间。压缩是由用户(即VM)进行的,因此可以尽最大努力减少NAND级别的写入放大。

开源代码:https://github.com/spdk/spdk

实验结果表明,CSAL始终以优异的性能占据优势,在微观、应用和部署基准方面,与排名第二的方法相比,CSAL分别可以实现2.22倍、1.82倍和2.03倍的加速。

总结

本文针对云本地磁盘,探讨利用QLC SSD的可能性,通过三次初步实验分析了主要的性能瓶颈:(1)QLC SSD采用粗粒度的逻辑到物理(L2P)映射(64KB),比传统NVMe SSD中的4KB L2P条目大得多,导致高设备级写入放大。(2)使用闪存转换层(FTL)管理QLC内部的地址映射,导致垃圾收集的NAND级写放大,因为不同寿命的数据混合在一起。本文提出CSAL,使用大约3GB的DRAM用于内存数据结构,使用HP-SSD作为写缓冲区,使用大容量分区命名空间(ZNS)QLC SSD进行持久化。包括两个技术:(1)两级L2P表,以实现细粒度(4KB)数据访问,减轻设备级写放大。(2)周期性执行压缩,将冷数据聚合为对底层ZNS QLC SSD的大顺序写入来回收写入缓冲区空间,减少NAND级别的写入放大。

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

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

相关文章

纯前端如何实现Gif暂停、倍速播放

前言 GIF 我相信大家都不会陌生&#xff0c;由于它被广泛的支持&#xff0c;所以我们一般用它来做一些简单的动画效果。一般就是设计师弄好了之后&#xff0c;把文件发给我们。然后我们就直接这样使用&#xff1a; <img src"xxx.gif"/>这样就能播放一个 GIF …

MPC学习资料汇总

模型预测控制MPC学习资料汇总 需要的私信我~ 需要的私信我~ 需要的私信我~ 【01】课件内容 包含本号所有MPC课程的课件&#xff0c;以及相关MATLAB文档。 【02】课件源代码 本号所有MPC课程的源代码。 【03】MPC仿真案例 三个MPC大型仿真案例&#xff1a; 1&#xff09;…

Python面试题:在 Python 中如何进行多线程编程?

在 Python 中进行多线程编程通常使用 threading 模块。下面是一个简单的示例&#xff0c;展示了如何创建和启动多个线程。 示例代码 import threading import time# 定义一个简单的函数&#xff0c;它将在线程中运行 def print_numbers():for i in range(10):print(f"Nu…

链接器的工作原理,静态链接与动态链接的区别,如何创建和使用动态链接库

链接器在程序开发中的作用至关重要&#xff0c;它负责将多个目标文件和库文件整合成一个可以执行的文件。在深入了解链接器的工作原理、静态链接与动态链接的区别&#xff0c;以及如何创建和使用动态链接库之前&#xff0c;我们先来概述一下链接器的基本功能。 链接器的工作原…

20240704每日后端------聊聊 mybatis的 where 1=1

目标 最近&#xff0c;在项目中使用MyBatis进行SQL脚本编写时&#xff0c;我遇到了以“WHERE 11”开头的WHERE子句的做法&#xff0c;以简化多个条件的串联。这里有一个例子来讨论这种技术以及“WHERE 11”是否对性能有任何影响。 <select id"" parameterType&q…

【数据结构】09.树与二叉树

一、树的概念与结构 1.1 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 根结点&#xff1a;根…

04采访:数字人直播

​AI技术的迭代对数字人直播一定是有正向推动作用的。直播可持续性差,投入产出极不协调。不适合前期大量投入。直播现在这个东西有一个问题,因为直播开始带货了,就已经不是一个单纯的娱乐性质的视频内容,而是对带有一种商业目的内容。 直播带货的痛点:对主播而言是观众;…

俯卧撑计数器(Python)

通过 MediaPipe 检测人体姿态&#xff0c;计算俯卧撑角度和计数&#xff0c;并在图像上进行可视化展示 需要有cv2库和mediapipe库 mediapipe库&#xff1a; MediaPipe是Google开源的机器学习框架&#xff0c;用于构建实时音频、视频和多媒体处理应用程序。它提供了一组预训练的…

一文清晰了解HTML

有这样一个txt记事本文件和一张图片&#xff1a; txt文本内容是这样的&#xff1a; <html><head><title>HTML学习</title></head><body><h1>hello HTML</h1><img src"高清修复.png"/></body> </html…

LabVIEW的JKI State Machine

JKI State Machine是一种广泛使用的LabVIEW架构&#xff0c;由JKI公司开发。这种状态机架构在LabVIEW中提供了灵活、可扩展和高效的编程模式&#xff0c;适用于各种复杂的应用场景。JKI State Machine通过状态的定义和切换&#xff0c;实现了程序逻辑的清晰组织和管理&#xff…

VSCode工程中task.json的作用

在 Visual Studio Code&#xff08;VSCode&#xff09;中&#xff0c;tasks.json 文件是用来定义和配置任务&#xff08;Tasks&#xff09;的。任务指的是在开发过程中需要自动化执行的一系列操作&#xff0c;例如编译代码、运行测试、打包项目等。通过配置 tasks.json&#xf…

In Search of Lost Online Test-time Adaptation: A Survey--论文笔记

论文笔记 资料 1.代码地址 https://github.com/jo-wang/otta_vit_survey 2.论文地址 https://arxiv.org/abs/2310.20199 3.数据集地址 1论文摘要的翻译 本文介绍了在线测试时间适应(online test-time adaptation,OTTA)的全面调查&#xff0c;OTTA是一种专注于使机器学习…

【软件分享】我们都需要会用的ArcGIS10.8和ArcGIS Pro

ArcGIS是地理人必备的地理制图、空间分析常用的工具&#xff0c;读地理&#xff0c;或多或少都会接触到ArcGIS的使用&#xff0c;今天小编要带来的就是ArcGIS10.8软件资源和升级版ArcGIS Pro的软件资源。 软件安装包获取 公众号回复关键词&#xff1a;“ArcGIS"&#xff…

*算法训练(leetcode)第二十五天 | 134. 加油站、135. 分发糖果、860. 柠檬水找零、406. 根据身高重建队列

刷题记录 134. 加油站135. 分发糖果860. 柠檬水找零406. 根据身高重建队列 134. 加油站 leetcode题目地址 记录全局剩余油量和当前剩余油量&#xff0c;当前剩余小于0时&#xff0c;其实位置是当前位置的后一个位置。若全局剩余油量为负&#xff0c;则说明整体油量不足以走完…

防爆手机终端安全管理平台

防爆手机终端安全管理平台能够满足国家能源、化工企业对安全生产信息化运行需求&#xff0c;能够快速搭建起高效、快捷的移动终端管理平台&#xff0c;提高企业安全生产管理水平&#xff0c;保证企业的安全运行和可持续发展。#防爆手机 #终端安全 #移动安全 能源、化工等生产单…

公有链、私有链与联盟链:区块链技术的多元化应用与比较

引言 区块链技术自2008年比特币白皮书发布以来&#xff0c;迅速发展成为一项具有颠覆性潜力的技术。区块链通过去中心化、不可篡改和透明的方式&#xff0c;提供了一种全新的数据存储和管理方式。起初&#xff0c;区块链主要应用于加密货币&#xff0c;如比特币和以太坊。然而&…

SQL Server 设置端口详解

前言 在数据库管理和开发过程中&#xff0c;SQL Server是一个广泛使用的关系型数据库管理系统。默认情况下&#xff0c;SQL Server使用1433端口进行通信。然而&#xff0c;出于安全性、端口冲突或网络限制等原因&#xff0c;我们有时需要更改SQL Server的默认端口。本文将详细…

VBA-计时器的数据进行整理

对计时器的数据进行整理 需求原始数据程序步骤VBA程序结果 需求 需要在txt文件中提取出分和秒分别在两列 原始数据 数据结构 计次7 00:01.855 计次6 00:09.028 计次5 00:08.586 计次4 00:08.865 计次3 00:07.371 计次2 00:06.192 计次1 00:05.949 程序步骤 1、利用Trim()去…

易备数据备份软件——低成本、高效能、全方位地守护您的数据安全

在数字化的时代&#xff0c;数据是企业和个人最宝贵的资产。然而&#xff0c;数据丢失、系统故障、恶意攻击等威胁时刻存在。如何确保数据的安全与完整&#xff1f;易备数据备份软件为您提供全方位无死角的解决方案&#xff0c;让您高枕无忧&#xff01; 云备份&#xff1a;畅…

CV每日论文--2024.7.4

1、InternLM-XComposer-2.5: A Versatile Large Vision Language Model Supporting Long-Contextual Input and Output 中文标题&#xff1a;InternLM-XComposer-2.5&#xff1a;支持长上下文输入和输出的多功能大视觉语言模型 简介&#xff1a;我们推出了InternLM-XComposer-…