On Stacking a Persistent Memory File System on Legacy File Systems——论文泛读

news2024/11/16 15:54:08

FAST 2023 Paper 分布式元数据论文阅读笔记整理

问题

非易失性主存储器(NVMM)具有与DRAM类似的低访问延迟和字节可寻址性,同时实现数据的非易失性。但存在以下缺点:(1)延迟高于DRAM,(2)带宽低于DRAM,(3)对NUMA效应高度敏感,(4)更大的访问粒度(即256字节XPLine)。NVMM最大的弱点是容量有限,因此将NVMM与传统存储设备结合使用,可以利用NVMM的优势,同时使用大容量块存储设备。

之前的研究试图开发单一的文件系统,同时管理NVMM和块设备存储,并根据I/O特性确定哪个设备为读写请求提供服务[24,39],但存在局限性:

  • 用于分层存储设备的单个文件系统,如Ziggurat[39]和Strata[24],很难针对多种块设备类型的各种组合进行定制。

  • 从头开始开发文件系统需要花费大量时间和精力才能实现成熟和稳定的文件系统。此外,管理多层存储设备会增加更多的复杂性。

  • 从部署的角度来看,单个文件系统会造成一些不便,因为忽略了现有的文件系统。为了实际部署这些系统,必须首先对传统文件系统管理的大量文件进行备份,然后格式化新的NVMM和磁盘设置,然后将备份复制回来。

本文方法

本文提出了可堆叠的持久内存文件系统(SPFS),部署在块设备文件系统之上,只需相对少量NVMM,将NVMM作为块设备文件系统的持久回写缓存,减少持久化的开销。

  • 包括四个关键组件,如图1(b)所示:(1)同步点分析器,确定哪些块由SPFS处理并放置在NVMM中,哪些块由较低的文件系统处理并放置在传统存储中,(2)基于哈希的数据块管理(extent table),(3)基于哈希的自由空间管理(block bitmap table),(4)基于哈希值的名称解析(name2inode table)。

  • 可以堆叠在针对磁盘优化的文件系统上,通过吸收NVMM中频繁的小同步写入来提高I/O性能,同时利用底层对磁盘优化文件系统的VFS缓存进行大型或非同步写入。

  • 轻量级,只管理NVMM而不管理磁盘或VFS缓存。SPFS使用简单高效的动态哈希表管理所有文件系统元数据和扩展数据块。设计了一种新的数据块哈希算法,该算法具有快速插入和快速扫描性能。

实验表明,SPFS+EXT4、SPFS+XFS和SPFS+F2FS将低级文件系统的性能提高了至多9.9倍。

总结

针对同时使用NVMM和块存储的文件系统,使用单个文件系统管理所有空间有局限性:难以扩展到多种块设备类型,系统复杂性,部署开销。本文提出可堆叠的持久内存文件系统(SPFS),部署在块设备文件系统之上,通过NVMM吸收频繁的小同步写入来提高I/O性能,同时利用底层对磁盘优化文件系统的VFS缓存进行大型或非同步写入,只管理NVMM而不管理磁盘或VFS缓存。包括四个关键组件:(1)同步点分析器,确定块哪个系统管理,(2)基于哈希的数据块管理(extent table),(3)基于哈希的自由空间管理(block bitmap table),(4)基于哈希值的名称解析(name2inode table)。

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

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

相关文章

PVE虚拟机被锁定:VM is locked解决方法

🌟🌌 欢迎来到知识与创意的殿堂 — 远见阁小民的世界!🚀 🌟🧭 在这里,我们一起探索技术的奥秘,一起在知识的海洋中遨游。 🌟🧭 在这里,每个错误都…

前端面试宝典【设计模式】【1】

欢迎来到《前端面试宝典》,这里是你通往互联网大厂的专属通道,专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习,无论是一线大厂还是初创企业的面试,都能自信满满地展现你的实力。 核心特色: 独家实战案例:每一期专栏都将深入剖析真实的前端面试案例,从基础知…

某RED书旋转验证码标注工具

注意,本文只提供学习的思路,严禁违反法律以及破坏信息系统等行为,本文只提供思路 本文的验证码网址如下,使用base64解码获得 最近,某书的旋转验证码又更新了,在我之前的文章有讲过利用梯度幅度计算图像边缘…

Apache 的POI居然还能操作PPT,快来试试看

上次我们讲的用POI操作excel。Java操作Excel(Apache Poi详解) 那么java怎么操作ppt呢,其实poi也提供了操作ppt的sdk,现在我们来直接用Apache的poi操作ppt 首先我们要知道的是PPT有两种,一种格式是PPT,一种格式是PPTX,P…

Seata的使用

Seata Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。 术语 TC(Transaction Coordinator) -事务协调者(相当于服务端) 维护全局和分支事务的状态,驱动全局事务提交或回滚 TM(Transaction …

使用Python实现Excel文件首页截图工具

日常工作中,尤其是处理大量Excel文件时,可能需要对文件的首页进行截图保存,以便于后续的快速查看或报告编写。今天,我将分享一个用Python编写的Excel文件首页截图工具。这个工具将帮助我们自动化地对选定的Excel文件进行首页截图&…

Linux驱动入门—什么是驱动?体系结构,驱动的分类,开发驱动需要注意的问题

文章目录 什么是驱动?Linux系统体系结构用户空间与内核空间的隔离用户应用程序库函数用户空间守护进程命令行接口(CLI)图形用户界面(GUI) 内核空间内核的角色和职责内核空间与用户空间的区别内核的结构和组成内核空间的…

【Linux】网络架构探秘:网络层功能、IP协议详解及路由过程指南

文章目录 前言:1. 网络层是干什么的?2. IP协议2.1 理论铺垫2.2 IP协议的头格式2.3 网段划分(重点)2.3.1 分类划分法:2.3.2 子网掩码:2.3.3 为什么要经行子网划分? 2.4 特殊的IP地址2.5 IP地址的数量限制2.…

个人量化交易兴起!有什么好用的量化软件推荐?迅投QMT量化平台简介!

QMT是专门为机构、活跃投资者、高净值客户等专业投资者研发的智能量化交易终端,拥有高速行情、极速交易、策略交易、多维度风控等专业功能,满足专业投资者的特殊交易需求。覆盖业务范围广:沪深A股、港股通、两融、期权、期货。 适合用QMT的投资者&#x…

用Java手写jvm之模拟解释器执行指令码

写在前面 本文看下如何模拟解释器执行指令码。需要一些前置内容: 用Java手写jvm之系列 中的前4篇文章,当然如果你已经了解了这部分内容,也可以不看。 1:正文 既然是模拟解释器,我们肯定要先来定义一个解释器类了&am…

一个灵活、可扩展的开源问答平台,可用于社区论坛、帮助中心、知识管理等多种场景

大家好,今天给大家分享的是一个开源的问答平台软件Apache Incubator-Answer,由 SegmentFault 思否团队于 2022 年 10 月 24 日正式开源,并于同年入选 Apache 软件基金会孵化器。 项目介绍 Apache Incubator-Answer旨在为任何规模的团队提供一…

【C语言版】数据结构教程(一)绪论(上)

【内容简介】本文整理数据结构(C语言版)相关内容的复习笔记,供各位朋友借鉴学习。本章内容更偏于记忆和理解,请读者们耐心阅读。 数据结构教程 绪论(上) 本节学习目标 1.1 基本概念 1.2 抽象数据类型的表示…

苹果电脑怎么录制屏幕?3招教你轻松录制,高效实用

随着数字化时代的快速发展,屏幕录制已经成为我们日常工作和生活中不可或缺的一部分。它不仅是展示产品、教授知识、分享经验的重要工具,更是我们展现个性和创造力的新舞台。在苹果电脑上,屏幕录制功能的应用更是将这一体验推向了新的高度。 …

优思学院|不良产品留到客户产线上了,8D报告要如何写?

8D问题解决法是一个经常用作公司内部改善以及应付客户投诉的关键方法,不过,在改善的过程中却有一些误区,如果没有注意,那么这份8D报告将会变得徒劳无功。这里有一个这样的案例: 一个经验丰富的工程师把客户图纸看错了&…

【面向PM考试】挣值分析的计算场景介绍

前言 PM考试目前还是挺火热的,有些人是因为行业所需,有些人是因为自身学习,总而言之,需要经过系统的学习,才能胜任当下的工作。 关于挣值分析,包括一些基础概念,博主有一篇文章已详细介绍&…

基于ip/域名/端口的server配置、nodej项目、部署nfs服务器

回顾复习 jdk环境 tomcat服务器需要jdk环境 版本对应 tomcat>jdk17 tomcat9>jdk1.8 tomvat10>jdk17 1、配置系统变量 JAVA_HOME sed -i $aexport JAVA_HOME/usr/local/jdk22/ /etc/profile sed -i $aexport PATH$JAVA_HOME/bin:$PATH /etc/profile sour…

猫用空气净化器应该如何挑选?国内养猫空气净化器哪个好?

有没有友友跟我一样是鼻炎患者,可偏偏家里两只猫都是掉毛怪,行走的大型蒲公英,多猫家庭确实很快乐,但一到换毛季,家里地上、空气里全是猫毛。每天都需要拼命的吸地板(累鼠个人),毛一…

金牌九宫格!经常跑步的人,没有一个是弱者——早读(逆天打工人爬取热门微信文章解读)

我在学习龙头战法,有了解的吗? 引言Python 代码第一篇 洞见 经常跑步的人,没有一个是弱者第二篇 今天尝试结尾 引言 时间是什么? 我越来越觉得是一个限定 因为没有时间 我们很多事情就有点乱套 你说你的 我说我的 十分混乱 没有一…

Matplotlib面积图绘制秘籍:让你的数据‘膨胀’起来,但不吹泡泡哦!

1. 引言 嘿,数据迷们!想不想让你的数据‘活’起来,跳一曲色彩斑斓的面积舞?Matplotlib面积图,不只是数字的堆砌,它是故事的讲述者,让复杂数据变得一目了然,还带点小幽默。快来一探究…

第1天:Python基础语法(五)

正文: 在之前的文章中,我们已经学习了Python的基本语法集合和集合的一些常用操作。 在本篇文章中,我们将继续学习其他类型 字符串格式化 使用操作符%s来实现 ➢ 几个%s就几个变量 ➢ 超过一个变量时,需要用元组%(…