Exploiting Flat Namespace to Improve File System Metadata Performance on Ultra-Fast ...——论文泛读

TOS 2024 Paper 分布式元数据论文阅读笔记整理

问题

传统的文件系统使用目录树来提供分层命名空间。例如,在Ext4中创建文件需要分配一个256字节的inode,并将相关的dentry插入目录树[9]。典型的商业化SATA SSD提供数百微秒的访问延迟,并提供4-KB的访问接口[17]。长的硬件延迟和数据放大对元数据优化造成了严重的限制。为了解决这些问题,文件系统倾向于将其命名空间缓存在快速易失性DRAM[60,65]中。但这种设计不可避免地牺牲了强大的数据持久性保证。

字节可寻址、超快非易失性存储器(NVM)(例如,Intel Optane持久存储器[10]、Samsung memory Semantic SSD[13])的出现有望成为解决方案。商用NVM提供纳秒级访问延迟、字节寻址能力和数据持久性支持[73]。

挑战

但NVM上的文件系统元数据面临两个性能问题,未充分利用非易失性存储器(NVM)提供的超低访问延迟和卓越的顺序性能:

  • 低效的文件路径遍历:文件路径遍历缓慢且不可扩展的,路径遍历涉及代价高昂的dentry搜索和其他耦合系统操作,如安全模块[20,44,45,65]。此外,文件路径遍历的总数与路径数量成比例,对于提供超低访问延迟的NVM[29,67,73],这种关键路径的高延迟问题会变得不可接受。

  • 昂贵的命名空间树遍历:目录条目在物理存储空间上分散,导致数据访问的局部性较差,并在树遍历过程中进行间接内存寻址。像Intel Optane内存这样的商用NVM提供了大于5 GB/s的内存带宽,并且偏向顺序内存访问模式[29,73]。但分层命名空间结构无法利用这一重要特性。

因此本文设计了支持NVM的平面命名空间,但依旧面临三个挑战:

  • 保留POSIX路径遍历语义。POSIX语义指定各种限制,例如:权限检查,符号链接解析。树形遍历可以容易地识别文件类型(例如,装载点)并采取相应的操作(例如,执行命名空间切换)。全路径解析使用整个路径名作为关键字来执行命名空间查找,无法识别特殊的路径名(例如,符号链接)。在路径解析过程中,还会对路径名中的每个目录进行权限检查。在平面命名空间中,基于完整路径名的查找无法同时检查目录的权限,逐个验证目录的权限又会降低路径遍历效率。

  • 支持数据结构级批量。扁平命名空间的问题是目录批处理操作(例如重命名)。传统文件系统使用目录树来表示文件的层次关系,目录树是基于指针的数据结构,有助于快速执行目录批处理操作。例如,重命名是源目录和目标目录之间的指针调整。但是,平面命名空间中的重命名需要更新所有关联的命名空间条目,这会显著影响性能。而且像哈希表或B+树这样的常用数据结构缺乏有效的数据结构级批处理操作支持。

  • NVM硬件的特殊性。命名空间操作会导致过多的小型读取/写入,这对NVM是有害的。对于NVM,高速缓存未命中惩罚远高于DRAM[29,73]。为了缓解长介质延迟,目前的NVM设备配备了内部数据预取器[70],如何利用硬件预取是分摊频繁设备读取成本的关键。此外,大量的命名空间写入需要大量的缓存行刷新。由于高速缓存和NVM设备之间访问粒度不匹配,这些被逐出的小尺寸数据会导致硬件写入放大过大。

本文方法

本文提出了FlatFS+,一种NVM文件系统,它具有扁平的命名空间架构,同时提供了兼容的分层命名空间视图。包括三种新颖技术:

  • 缩短路径遍历:直接文件路径遍历模型。将路径名查找与其他复杂的系统操作分离,实现了快速、可扩展的路径遍历,同时保留了传统路径遍历的语义。提供了一个灵活且向后兼容的解决方案,将直接路径遍历模型集成到全局VFS命名空间中,并在路径遍历过程中以无缝协调两个不同的模型。

  • 优化范围操作:通过范围优化的Br树来管理平面命名空间中可变大小的路径名索引键。Br树提供了有效的节点查找和数据结构级别的范围操作(例如,范围插入),弥补了平面命名空间的目录移动缺点,并有助于其他目录范围操作。

  • 降低持久化成本:扫描和写入优化的压缩(SWoC)索引密钥设计。结合了各种优化,以改进可变大小的路径名密钥存储位置,最大限度地提高目录读取期间的NVM顺序带宽,并减少索引密钥管理中昂贵的小型随机写入。

实验结果表明,与其他文件系统相比,FlatFS+在元数据密集型基准测试和实际应用程序方面实现了显著的性能改进。

实验

实验环境:双插槽Intel Optane DC持久存储机,有两个Intel Xeon Gold 5220R处理器,每个处理器有24个物理内核,运行频率为2.2 GHz。每个物理核心都有一个专用的32KB L1高速缓存和一个1MB L2高速缓存,同一插槽上的所有内核共享一个35.75MB的末级缓存(LLC)。该机器有192 GB(12×16 GB)的DRAM、1.5 TB(12×128 GB)的持久内存和512-GB的固态驱动器。

数据集:Microbenchmark,Filebench:fileserver、varmail,FxMark:MWCM、MWUM,git,Psearchy,Hive【好像数据量都不大,提到的也就几百万个文件】

实验对比:延迟、吞吐量

实验参数:目录深度、线程数、不同元数据操作、消融实验

总结

针对NVM上文件系统元数据的优化,现有方法基于树形命名空间,导致昂贵的路径遍历开销;元数据在物理空间分散,无法充分利用NVM的高性能。本文提出FlatFS+,具有扁平的命名空间架构,同时提供了兼容的分层命名空间视图。包括三个优化点:(1)缩短路径遍历:全路径遍历模型。将路径名查找与其他复杂的系统操作分离,同时保留了传统路径遍历的语义。(2)优化范围操作:通过范围优化的Br树来管理平面命名空间中可变大小的路径名索引键,Br树提供了有效的节点查找和数据结构级别的范围操作。(3)降低持久化成本:扫描和写入优化的压缩(SWoC)索引密钥设计。改进可变大小的路径名密钥存储位置,提高目录读取期间的NVM顺序带宽,并减少索引密钥中小型随机写入。

  • 30
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Bert是一种在自然语言处理中被广泛使用的模型,其在各种任务中表现出了出色的性能。然而,对于方面级情感分析,Bert并不直接适用。因此,需要对Bert进行利用,并通过修改和扩展来适应这一任务。 端到端(end-to-end)的方面级情感分析是指通过一个模型直接从文本中提取方面和情感信息。为了利用Bert进行端到端的方面级情感分析,首先需要对数据进行预处理,并将其转换成Bert模型所接受的输入格式。这包括将文本分段、添加特殊标记以及填充序列等操作。 在Bert模型的基础上,需要添加相关的层来实现方面级情感分析。一种常见的方法是利用注意力机制来捕获方面词与其他词之间的关系。通过计算不同词之间的注意力权重,可以将方面词的相关信息传递给其他词,从而更好地理解整个文本。另外,也可以添加一些分类层来预测每个方面的情感。 为了更好地利用Bert,还可以使用领域特定的语料库来进行预训练。通过在大规模的语料库上进行预训练,模型可以更好地理解特定领域的文本,并提升方面级情感分析的性能。 此外,还可以通过调整Bert模型的超参数来进一步改善性能。例如,可以调整学习率、批大小和训练周期等超参数,以获得更好的结果。 总之,“exploiting bert for end-to-end aspect-based sentiment analysis”意味着通过对Bert进行修改和扩展,将其应用于端到端的方面级情感分析任务中,以提升模型的性能和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

妙BOOK言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值