展开

Fusion 文件系

最后发布时间 : 2024-07-26 09:33:49 浏览量 :

https://nextflow.io/blog/2022/rethinking-containers-for-cloud-native-pipelines.html

实施 Wave 的主要动机之一是,我们希望能够轻松地将 Fusion 客户端打包到容器中,以便在 Nextflow 管道中随时提供这一重要功能。

Fusion 实现了一个虚拟分布式文件系统,并提供了一个瘦客户端,允许通过管道工具所需的标准 POSIX 文件系统接口访问托管在 AWS S3 存储桶中的数据。此客户端在任务容器中运行,并通过 Wave 增强功能自动添加。这使得 Fusion 功能可用于在运行时执行流水线。

这意味着 Nextflow 管道可以使用 AWS S3 存储桶作为工作目录,管道任务可以作为本地文件系统路径本地访问 S3 存储桶。这是一项重要的创新,因为它避免了将文件复制到对象存储中和从对象存储中复制文件的额外步骤。Fusion 利用 Nextflow 任务分离和幂等执行模型来优化和加速文件访问操作。

Fusion文件系统实现了一种延迟下载和上传算法,该算法在后台运行,将文件并行传输到对象存储中,并从对象存储中传输到容器本地临时文件夹中。这意味着容器内临时文件夹的性能(默认设置中为/tmp)是实现最大性能的关键。

临时文件夹仅用作临时缓存,因此卷的大小可能远低于管道进程的实际需求。Fusion有一个内置的垃圾收集器,可以不断监视临时文件夹上的剩余磁盘空间,并在必要时立即驱逐旧的缓存条目。