云原生文件存储 CFS 线性扩展到千亿级文件数,百度沧海·存储论文被 EuroSys 2023 录用

恭喜百度沧海云存储和中科大合作的论文《CFS: Scaling Metadata Service for Distributed File System via Pruned Scope of Critical Sections》(以下简称论文)被 EuroSys 2023 录用。

EuroSys 全称欧洲计算机系统会议(The European Conference on Computer Systems),是计算机系统领域的顶级会议,和 VLDB、FAST、NSDI 等同属中国计算机学会 CCF 推荐的 A 类会议。

本次 EuroSys 会议于 2023 年 5 月 8 日 - 12 日在罗马举办,会议从投稿的 335 篇论文中录用了 54 篇,录用率仅为 16.1%。

论文介绍了百度智能云 CFS 文件存储元数据系统的核心设计,对长期困扰文件系统元数据领域的 POSIX 兼容性和高扩展性(特别是写扩展性)难以兼顾的问题,进行了解答。

这是一个大规模分布式文件系统能否扩展到百亿甚至千亿级别文件数,同时保持高性能稳定性的一个关键问题。

论文的核心思路是通过修剪关键冲突域的范围来减少锁的开销,从而消除元数据管理的瓶颈,具体包括:

  • 采用层次化、模块化的元数据组织结构,系统不再有专门的元数据模块,而是将整个元数据的存储和处理拆解到负责目录和索引的 TafDB、负责文件的 FileStore、负责 slow path rename 的 Renamer,和客户端,每一部分根据各自的特点独立扩展。

  • 通过分析和拆解 POSIX 操作的实质要求,TafDB 引入单分片原子原语,提升单个分片处理性能的同时,缩短了元数据请求的处理耗时,消除了虚假的跨分片冲突。

  • 在上述设计的基础上,CFS 放弃了传统实现存在的元数据代理层,直接由客户端提供完整的 POSIX 语义兼容性,客户端数量可以自由扩展。

论文的测试结果显示,在 50 节点规模的测试中,与 HopsFS 和 InfiniFS 相比,CFS 各操作的吞吐量提高至 1.76 - 75.82 倍和 1.22 - 4.10 倍,并将它们的平均延迟分别最高降低了 91.71% 和 54.54%。在竞争较高和目录较大的情况下,CFS 的吞吐量优势则会进一步扩大一个数量级。

CFS 的这套设计已经在生产环境中稳定运行了超过 3 年时间,为云上蓬勃发展的的大数据、AI、容器、生命科学等场景的业务提供了有力支撑。

关于百度沧海·存储

百度沧海·存储构建的统一存储技术底座,为各类分布式存储产品提供统一的技术能力支撑,加速智能计算,释放数据价值。

1683281469580.jpg

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ROS2 学习09--ros 中的通信接口的定义以及如何创建自定义msg、srv和action文件

在ROS系统中,无论话题还是服务,或者我们后续将要学习的动作,都会用到一个重要的概念——通信接口。 通信并不是一个人自言自语,而是两个甚至更多个人,你来我往的交流,交流的内容是什么呢?为了让…

【收藏】法律人办案必备检索网站最新汇总!附检索技巧

为什么要进行法律检索?无论你擅长的是做诉讼还是非诉讼业务,法律检索都是必备技能之一。只有做好法律检索才能制定出更加完备的策略报告,才能提供更加充实、可行、准确的方案。 一、数据库检索 1、alpha数据库 https://www.icourt.cc 已经用了3年的大数据库,听说最近降价了…

微前端样式隔离、sessionStorage、localStorage隔离

1、样式隔离 前端样式不隔离,会产生样式冲突的问题,这个点在qiankun也存在 子应用1修改一个样式 button {background: red!important; }其它应用也会受到影响 qiankun的css隔离方案(shadow dom) shadow …

c语言易错题之数据类型变换

1.题目 #include<stdio.h> int main() {int arr[]{1,2,3,4,5};short*p (short*)arr;int i 0;for(i0;i<4;i){*(pi)0;}for(i0;i<5;i){printf("%d ",arr[i];}return 0; }2.解析 这道题主要容易错在&#xff0c;大家会以为通过指针赋值的时候&#xff0c;…

pickle反序列化

文章目录 基础知识pickle简介可序列化对象object.__reduce__() 函数 pickle过程详细解读opcode简介pickletools 漏洞利用利用思路如何手写opcode 工具pker实战例题[MTCTF 2022]easypickle 基础知识 pickle简介 与PHP类似&#xff0c;python也有序列化功能以长期储存内存中的数…

docusaurus简介及使用心得

docusaurus简介 Docusaurus 是 Facebook 专门为开源项目开发者提供的一款易于维护的静态网站创建工具&#xff0c;使用 Markdown 即可更新网站。构建一个带有主页、文档、API、帮助以及博客页面的静态网站&#xff0c;只需5分钟。 同类竞品还有vuepress&#xff0c;docusaurus…

基于Linux下gcc学习C/C++——编译过程

前提&#xff1a;WSL2&#xff08;Ubuntu&#xff09;、gcc编译器。gcc安装命令&#xff1a; sudo apt-get install gcc 查看gcc版本&#xff1a; 目录 1、编译过程 1.1、预处理 1.2、编译与汇编 1.3、链接 2、gcc实验 2.1、预处理 2.2、编译 2.3、汇编 2.4、链接 1、…

Win系统修改Nginx配置结合内网穿透实现远程访问多个Web站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

[笔记]netty随笔

记录使用过程中偶然发现的一些关键逻辑。先做记录&#xff0c;以后netty知识有一定体系再做整理 childGroup 服务器中有俩group&#xff0c;一个是parentGroup&#xff0c;负责处理链接请求&#xff0c;一个是childGroup&#xff0c;负责业务逻辑。 channelActive是在childG…

Spring中你一定要知道的@PostConstruct/@PreDestroy

文章目录 功能源码解析执行 功能 Spring中存在很多回调&#xff0c;但是执行他们的时机都不相同&#xff0c;也许大家用的最多的是InitializingBean.afterPropertiesSet&#xff0c;这个方法的作用如名称一样&#xff0c;是bean初始化后执行的一个回调操作&#xff0c;而PostC…

C语言学习NO.9-指针(一)内存和地址,指针变量和地址,指针变类型的意义,const修饰指针,指针运算,野指针,assret断言,指针的使用和传址调用

指针是什么&#xff1f; 指针是什么&#xff1f; 指针理解的2个要点&#xff1a; 1.指针是内存中一个最小单元的编号&#xff0c;也就是地址&#xff1b; 2.平时口语中说的指针&#xff0c;通常指的是指针变量&#xff0c;是用来存放内存地址的变量。 总结&#xff1a;指针就是…

MySQL中CASE when 实战

CASE 语法 CASEWHEN condition1 THEN result1WHEN condition2 THEN result2WHEN conditionN THEN resultNELSE result END; 将表中的内容转换为右边的形式&#xff1a; 1、创建表&#xff0c;创建数据 CREATE TABLEchapter10_7 (order_id VARCHAR(255) NULL,price VARCHAR(25…

手写题 - 实现一个带并发限制的异步调度器

题目 实现一个带并发限制的异步调度器 Scheduler&#xff0c;保证同时运行的任务最多有N个。 完善下面代码中的 Scheduler 类&#xff0c;使得以下程序能正确输出&#xff1a;class Scheduler {add(promiseCreator) { ... }// ... }const timeout (time) > new Promise(re…

从零学算法5

5.给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s “babad” 输出&#xff1a;“bab” 解释&#xff1a;“aba” 同样是符合题意的答案。 示例 2&…

Vue中为什么data属性是一个函数而不是一个对象?(看完就会了)

文章目录 一、实例和组件定义data的区别二、组件data定义函数与对象的区别三、原理分析四、结论 一、实例和组件定义data的区别 vue实例的时候定义data属性既可以是一个对象&#xff0c;也可以是一个函数 const app new Vue({el:"#app",// 对象格式data:{foo:&quo…

springboot学习笔记(五)

MybatisPlus进阶 1.MybatisPlus一对多查询 2.分页查询 1.MybatisPlus一对多查询 场景&#xff1a;我有一个表&#xff0c;里面填写的是用户的个人信息&#xff08;姓名&#xff0c;生日&#xff0c;密码&#xff0c;用户ID&#xff09;。我还有一个表填写的订单信息&#x…

Linux系统管理、服务器设置、安全、云数据中心

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 我们来快速了解liunx命令 文章目录 前言解析命令提示符linux的文件和目录文件和目录管理文件操作 进程管理命令系统管理网络管理 书籍推荐 本文以服务器最常用的CentOS为例 解析命令提示…

图片怎么转文字?这几个图片提取文字方法教会你!

在数字时代&#xff0c;我们每天都与大量的图片、文本信息打交道。当我们需要从图片中提取文字时&#xff0c;传统的方式可能是手动输入或者借助某些付费工具&#xff0c;今天介绍这三个工具不仅易于使用&#xff0c;而且效果卓越&#xff0c;我只需上传图片&#xff0c;工具便…

uniapp地图开发(APP,H5)

uniapp地图开发&#xff08;APP&#xff0c;H5&#xff09; 背景实现页面实现功能实现注意事项 尾巴 背景 最近项目中需要使用地图相关功能&#xff0c;需要用到聚合&#xff0c;marker拖拽&#xff0c;自定义marker显示内容&#xff0c;根据角色不同maker显示不同图标等功能。…

Nacos教程

常见的微服务架构&#xff1a; 1. dubbo: zookeeper dubbo SpringMVC/SpringBoot 配套 通信方式&#xff1a;rpc 注册中心&#xff1a;zookeeper / redis 2.SpringCloud &#xff1a; 全家桶 轻松嵌入第三方组件 (Netflix) 配套 通信方式&#xff1a;http restful 注册中心…