阅读更多

0顶
1踩

行业应用

原创新闻 TFS:新一代开源文件系统

2017-05-25 14:10 by 副主编 jihong10102006 评论(0) 有4884人浏览
引用

译者注:这篇文章主要对TFS的设计目标和一些常见的问题进行了描述,结尾部分提供了部分与TFS相关的资源供读者参考。

TFS是一款模块化,快速且功能丰富的新一代文件系统,采用现代技术使其具有高性能,高空间使用率和高扩展性,代码托管在Github上。

TFS是由于需要一个用于Redox OS的现代文件系统而被创建的,作为ZFS的替代品,由于其集成设计思想而被证明不会很快的实现。灵感来源于ZFS,同时它的目标是模块化和易于实现。

TFS与terminalcloud的同名文件系统无关。

设计目标

TFS 的设计目标如下:

并发

 TFS 包含很少的锁,目的是尽可能适用于多线程系统。它利用多个真正的并发结构来管理数据,并按核心的数量进行线性扩展。这也许是 TFS 最重要的特性。

异步

 TFS 是异步的:操作可以独立进行, 并且从磁盘写入和读取不需要阻塞。

全磁盘压缩

 TFS是第一个通过我们称之为RACC(随机访问集群压缩)的方案来集成的全盘压缩的文件系统。这意味着每个群集都被压缩, 只会略微影响性能。据估计,可以获得60-120%的可用空间。

修订记录

 TFS存储每个文件的修订历史记录,而不会增加额外的开销。 这意味着你可以将任何文件还原到较早的版本,自动备份系统,而不会造成复制的开销。
即写即拷语义(写时复制语义)

 与Btrfs和ZFS类似,TFS使用CoW语义,这意味着不会直接覆盖集群,而是复制并写入新的集群。

递归拷贝

 与一些文件系统一样,TFS 可以在不变的时间内执行递归拷贝,但是还有一个独特的补充: TFS 即使在突变之后也不会复制。 那是怎样工作的呢?它单独维护文件的各个部分, 这样只需要复制更新的段。

保证原子性

 系统永远不会进入不一致状态 (除非硬件出现故障), 这意味着意外断电不会损坏系统。

缓存改进

 TFS在缓存磁盘时提高了磁盘访问的速度。它使用机器学习方式来学习模式和预测未来的使用, 以减少缓存遗漏的数量。TFS 还压缩内存中的缓存,,减少了所需的内存量。

更好的文件监控

 CoW非常适合高性能,可扩展的文件监控,但不幸的是,只有很少的文件系统包含在内。 TFS是其中之一。

所有内存安全

 TFS只使用在Rust中编写的组件。 因此,内存不安全只能在标记为不安全的代码中进行,这是非常仔细的检查。

全面覆盖测试

 TFS旨在全面覆盖测试。 通过立即显示大类的错误,这对正确性提供了相对较强的保证。

SSD友好设计

 TFS试图通过重新定位死区来避免SSD中的写入限制。

改进的垃圾回收

 TFS使用Bloom过滤器进行空间高效和快速的垃圾回收。 TFS允许FS垃圾回收器在后台运行,而不会阻塞文件系统的其余部分。

常见问题

为什么使用SPECK作为默认密码?

 SPECK是一个相对较新的密码,但它已经受到了很多 (无效) 的密码分析,所以它是相对安全的。它有非常棒性能和简单的实现。可移植性是 TFS 设计的一个重要部分, 真正可移植的 AES 实现没有旁道攻击, 这比许多人想象的要难 (特别是,大多数便携实现中都存在 SubBytes 问题)。SPECK没有这个问题,因此可以通过最小的努力安全地实现移植。

TFS 和 ZFS 的相似程度?

 实际上并不那么相似,它们有许多基本的思想类似,但除此之外,它们本质上是不相干的。但ZFS的设计对TFS的形成起了很大的助推作用 。

TFS是否只有Redox-only?

 不,它从来没有计划仅仅是 Redox-only。

整个磁盘压缩如何工作?

 根据我的了解,全盘压缩是TFS专有的。它通过将多个“页面”(虚拟数据块)收集到“集群”(分配单元)中起作用。这样,可以通过简单地解压缩各个集群来读取页数据。

为什么 ZMicro 这么慢?它会影响 TFS 的性能吗?

 ZMicro这么慢的原因是因为它在一定程度上起作用,为性能提供了出色的压缩比。这种可怕的缓慢性能是由减少写入次数为代价的。事实上,ZMicro的50%以上的分配只会写入一个扇区,而不是3个。其次,无论磁盘的速度有多快,它都不会接近 ZMicro 的性能,因为磁盘操作本质上是缓慢的,从这点来看, 压缩的表现确实不重要。

可扩展哈希或B+树?

都不是。 TFS使用树和哈希表的组合:嵌套的哈希表,一种哈希树的形式。 其思想是,在Bucket(译者注:可理解为容器)中创建一个新的子表,而不是重新分配。

设计资源

一些关于 tfs 设计的文章:

规范

完整的规范可以在specification.tex中找到。若要呈现它,请安装 pdflatex, 然后运行。

pdflatex --shell-escape specification.tex 

然后打开名为 specification.pdf 的文件。
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 开源主流分布式文件系统简单介绍

    二、开源分布式文件系统 1.GFS (1)GFS与NFS,AFS的区别 (2)BigTable (3)Chubby (4)特点1 2.HDFS (1)HDFS与Ceph对比 (2)特点1 (3)特点2 3. Ceph (1)...

  • 分布式文件系统对比与选型参考

    MinIO文件存储系统被广泛应用于各种服务厂商,在中国大陆,包括阿里巴巴、腾讯、百度、中国联通、华为、中国移动等9000多家企业都也在使用MinIO产品。

  • Ceph 分布式文件系统

    Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。自2007年毕业之后,Sage开始全职投入到Ceph开 发之中,使其能适用于生产环境。Ceph的主要目标...

  • TFS分布式文件系统应用

    TFS是淘宝开源的一套高性能文件存储系统,在阿里广泛应用,除了自建文件系统,在应用上云的大趋势下,还可以使用阿里云的对象存储OSS服务:阿里云对象存储OSS首页 一、关于TFS TFS(Taobao File System)是一个高可...

  • 分布式文件系统(Distributed File System,DFS)

    分布式文件系统(Distributed File System,DFS) 一、什么是分布式文件系统 1、文件系统的定义: ​ 硬盘是计算机最主要的存储设备,数据按扇区存放在硬盘上。硬盘属于硬件,用户无法直接对其进行操作,由操作系统...

  • 大数据时代——分布式内存文件系统:Tachyon

    Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件。把Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件。主要职责是将那些不需要落地到DFS里的...

  • TFS与其他分布式存储系统的对比分析

    TFS(Taobao File System),作为目前淘宝内部使用并开源的分布式文件系统,为淘宝提供海量小文件存储以及其他一些功能,被广泛地应用在淘宝各项应用中。其他分布式存储系统,这里主要指的是最近我通过读论文以及...

  • 分布式文件系统介绍

    当前比较流行的分布式文件系统包括:Lustre、Hadoop、MogileFS、FastDFS、NFS、OpenAFS、MooseFS、pNFS、GlusterFS、以及GoogleFS。

  • 开源分布式文件系统比较

    要使用分布式文件系统来降低成本,于是搜寻了开源的分布式文件系统。 经过安装部署和测试,把我使用中碰到的一些问题总结一下, 希望对大家有所帮助, 我也有一些问题没有搞懂,希望和大家一起交流,共同进步。 ...

  • 主流分布式文件系统对比:区块链分布式技术引发云存储革命?HDFS,GFS,GPFS,FusionStorage,IPFS

    概要:常见的分布式文件系统有GFS、HDFS等,也有新兴的基于区块链IPFS/Filecoin等。有的广泛应用,有的开始挑战,有的是闭源,有的开源。在不同的领域和不同的计算机发展阶段,它们都对数据存储起到了各自的作用。...

  • 分布式系统distributed-system资料

    分布式系统(Distributed System)资料 希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多. 《Reconfigurable Distributed ...

  • GitHub 优秀的 Android 开源项目

    APP示例:Google plus、Google Now卡片式进入、小米系统中应用商店、联系人、游戏中心、音乐、文件管理器的ListView、Ultimate、Light Flow Lite、TreinVerkeer、Running Coach、Pearl Jam Lyrics、Calorie Chart、...

  • 常见的分布式文件系统介绍

    该项目主要的目的就是开发下一代的集群文件系统,可以支持超过10000个节点,数以PB的数据量存储系统。 目前Lustre已经运用在一些领域,例如HP SFS产品等。 适合存储小文件、图片的分布文件系统研究 ================...

  • 2019/07/08 分布式文件系统概述(01)

    其实在google几年前就已经面临和解决了,后来google把上一代技术把开源了,发不了论文,照着整个论文进行山寨,hadoop就是这么来的,山寨了google第一代分布式存储和分布式计算的思想而来的。 在google内部很有可能...

  • 网络编程资源大集合(包含前端、java、linux、安卓、github开源项目、开发工具等)

    安卓各组件介绍一、ListView二、ActionBar三、Menu四、ViewPager 、Gallery五、GridView六、ImageView七、ProgressBar八、其他2.GitHub上优秀Android开源项目3. Android开发神器1.Xabber客户端2.oschina客户端3.手机...

  • 分布式文件存储相关概念

    分布式文件存储相关概念

  • java+sql server项目之科帮网计算机配件报价系统源代码.zip

    sql server+java项目之科帮网计算机配件报价系统源代码

  • 【java毕业设计】智慧社区老人健康监测门户.zip

    有java环境就可以运行起来 ,zip里包含源码+论文+PPT, 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上

  • 【java毕业设计】智慧社区心理咨询平台(源代码+论文+PPT模板).zip

    zip里包含源码+论文+PPT,有java环境就可以运行起来 ,功能说明: 文档开篇阐述了随着计算机技术、通信技术和网络技术的快速发展,智慧社区门户网站的建设成为了可能,并被视为21世纪信息产业的主要发展方向之一 强调了网络信息管理技术、数字化处理技术和数字式信息资源建设在国际竞争中的重要性。 指出了智慧社区门户网站系统的编程语言为Java,数据库为MYSQL,并实现了新闻资讯、社区共享、在线影院等功能。 系统设计与功能: 文档详细描述了系统的后台管理功能,包括系统管理模块、新闻资讯管理模块、公告管理模块、社区影院管理模块、会员上传下载管理模块以及留言管理模块。 系统管理模块:允许管理员重新设置密码,记录登录日志,确保系统安全。 新闻资讯管理模块:实现新闻资讯的添加、删除、修改,确保主页新闻部分始终显示最新的文章。 公告管理模块:类似于新闻资讯管理,但专注于主页公告的后台管理。 社区影院管理模块:管理所有视频的添加、删除、修改,包括影片名、导演、主演、片长等信息。 会员上传下载管理模块:审核与删除会员上传的文件。 留言管理模块:回复与删除所有留言,确保系统内的留言得到及时处理。

Global site tag (gtag.js) - Google Analytics