当前位置:首页 > 每日看点 > 正文内容

用户态文件(fuse)有什么用?

卡卷网12个月前 (01-09)每日看点191

当前,越来越多的文件在用户态开发,提升灵活性和开发效率的同时也带来了一定的性能损耗。与此同时,人工智能技术快速发展,AI模型训练和推理依赖于高效的数据读写作,高性能文件存储成为关键支撑。那么,用户态文件是否适用高性能文件存储场景,满足性能需求呢?

文件为应用程序提供了一个通用接口,极大地简化了应用程序对存储的访问。传上,文件被实现为作内核的一个模块。随着文件复杂度的提升,特别是在分布式文件兴起的背景下,越来越多新的文件转向在用户态进行开发,例如,GoogleFileSystem、HDFS以及开源的GlusterFS和DAOS等文件。

用户态文件具有诸多优势。首先,许多库和编程语言屏蔽了不同平台和内核版本之间的差异,使得用户态程序开发不需要为不同内核进行定制,为开发者提供了更友好的开发环境。其次,用户态程序在出现异常时,其影响范围相对有限,不会像内核态程序那样可能导致整个的崩溃。尽管如此,由于用户态文件增加了额外的开销,关于其开发和使用仍然存在一些争论及权衡。对此,焱融科技进行了系列实验探索,本篇文章为您分享我们关于用户态文件的一些探索实践与思考。

<>有关性能损耗的思考

作内核的VFS层通过提供通用接口,屏蔽了下层各类不同文件的实现差异。在用户态文件的实现中,最常见的方式是通过类似FUSE(目前使用最为广泛的用户空间文件框架)的机制,将内核文件接口导出到用户态。这种方式可以在不改变应用程序使用习惯的前提下,完成用户态文件的访问。

然而,这种方式使得整个文件访问流程更长了。由于文件访问路径变长,内存与CPU等方面的开销增加,从而导致整体资源开销上升,单位资源的访问性能下降。

<>FUSE的性能瓶颈分析

接下来,我们对FUSE的实现流程和性能影响进行一个简单的分析。

FUSEhigh-levelarchitecte

<>FUSE的工作机制

当应用程序执行挂载的FUSE文件作时:

    内核VFS将作路由到FUSE的内核驱动程序;FUSE驱动程序将用户请求提交到FUSE队列中;FUSE用户态守护程序通过队列获取请求并最终处理。

FUSE内核了五个队列,包括Interrupts、forgets、pending、processing和ackground。请求在任何一个时间点只会属于一个队列。

<>基于FUSE实现用户态文件的性能瓶颈主要体现在:

    内核态与用户态切换:频繁的上下文切换导致性能损耗。数据拷贝:从内核态到用户态的数据拷贝也是一个性能瓶颈。队列:FUSE每种队列只有一个实例,了并发处理能力。

这些因素导致FUSE在性能上有不小的损耗,特别是在基于NVMe高性能设备的文件下会呈现出性能瓶颈。

<>VDUSE:用户态文件的新选择

VDUSE(vDPADevinUserspace)作为一种新兴的方法为实现用户态文件提供了一个新的选择。它主要向虚拟机和容器工作负载提供软件定义的存储和网络服务。VDUSE是一种基于软件的vDPA设备,vDPA内核子是其背后的引擎,可以利用vDPA子为虚拟机和容器提供标准接口,对于用户态空间的应用程序非常有用。

vDAP的开发初衷是帮助专用硬件实现virtio协议,其中硬件只需要支持virtio数据平面,vDAP将商特定的控制平面转换为virtio控制平面。VDUSE则将这一机制扩展到用户态,为应用程序提供高效的接口。

VDUSE支持实现多队列,规避了FUSE在队列使用上的。从这一点来看,基于VDUSE实现的用户态文件可以更好地满足小块读写及小文件场景。同时,在容器化场景下,VDUSE可以绕开宿主机器的内核,减少内核态与用户态切换的频率,从而优化整个IO路径上的执行效率。但是,尽管VDUSE可以优化FUSE部分性能短板,但仍有一些方面需要继续优化,例如应用进程到文件进程的数据拷贝开销。

<>焱融存储认为

在高性能文件中,存储集群为大量计算节点提供读写性能,文件客户端为所在计算节点的业务提供服务。在实验探索中,我们发现基于用户态实现的文件客户端,在单客户端性能上会有所下降,但随着计算节点规模增加,存储集群的整体性能仍然可以发挥到极致。

特别是在一些场景下,追求的首要目标是整体的计算能力,反映到存储中也就是的整体性能。在强调整体计算能力的场景中,例如在某些高性能计算任务中,追求的首要目标是最大化计算效率,此时用户态文件完全可以满足需求。综合来看,用户态文件在简化开发和提升灵活性方面具备显著优势,同时为分布式存储和虚拟化场景提供了新的思路。随着数据中心和计算规模的持续扩大,基于用户态实现的文件不仅可以提供了运维的便利性,同时也能更快速地响应业务需求,满足存储用户益复杂的存储访问需求。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/7728.html

分享给朋友:

相关文章

请问什么软件支持看电视直播?

请问什么软件支持看电视直播?

2024年9月6日最新更新:本文列举的所有看电视直播、或流媒体影视资源点播的软件,我这两天又重新梳理成最新版本,最大程度保证可用性。获取方式见文末图片,或见评论。后续我也将持续更新,文章是旧的软件也会是新的,保证你拿到的都是最新可用版本。作...

到什么程度才叫精通 Linux?

我们医院有个大牛。有一次,我的Linux电脑下载了Microsoft office 365 不能运行。于是买了2.5升装康师傅冰红茶找到大牛,让他帮忙解决。大牛白了我一眼,让我把安装包发给他,只见他输入一个命令将安装包打开,整个屏幕都是数字...

计算机专业不干互联网不热爱技术,还能转行干什么?

转行的思路,无非也就是那几个。我们顺着每个思路,一路捋一遍,基本上,大致可行的方向,也就有了。一、跟对口职业和岗位业务链条相邻的职业和岗位计算机专业如果找到了对口的技术岗位,跟技术工作联系最紧密的岗位是什么?产品经理。当然,大多数产品经理也...

只有我一个人后悔升级鸿蒙next吗?

只有我一个人后悔升级鸿蒙next吗?

我有一台mate 60 pro,第一时间升级了“纯血鸿蒙”。虽然功能并不完善,甚至有些简陋,但是我非常~非常不后悔升级鸿蒙next系统。因为.... 这就是一款“大型养成系游戏“,给我平淡的生活提供了源源不断的情绪价值。我每天特别...

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制台...

如何做电商行业?

如何做电商行业?

“如何做电商*开网店”跟“如何找老婆”一样,没概况条件、没明确标准,就是扯犊子。我把话题具体一点说:具备“两三万”启动资金、掌握“选品+上架优化”基础技能,小则月入三五千、多则上万。跟摆地摊一样,有进货的钱、也不怕苦不怕累、稍微有点生意头脑...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。