nextflow存储
学习资料
Nextflow的scratch指令
将数据从共享存储库分阶段地复制到本地磁盘,如上所述,这并非是一种新的想法。在使用NFS文件系统时,HPC集群的常见做法是使用本地的"scratch"存储。
共享NFS文件系统的一个常见问题是它们可能相对较慢,特别是当有多个客户端时。文件系统会引入延迟,具有有限的IO能力,并且容易出现问题,例如多个客户端在同一目录中读写文件时出现"热点"和带宽限制。
为了避免瓶颈,通常会将数据从NFS文件复制到本地的scratch存储中进行处理。根据数据量的不同,用户通常会使用快速的固态硬盘或RAM磁盘作为scratch存储,以加速处理过程。
Nextflow通过内置的scratch指令自动化了这种数据处理模式,可以根据需要为每个进程启用或禁用scratch。如果启用了scratch,数据会在处理之前自动复制到指定的本地scratch设备中。
当可用高性能文件系统(如Lustre或Spectrum Scale)时,是否使用scratch存储的问题变得更加复杂。根据文件系统和互连方式,并行文件系统的性能有时可能超过本地磁盘。在这些情况下,用户可以将scratch设置为false,并直接在并行文件系统上执行I/O操作。
结果将根据共享文件系统的性能、本地scratch存储的速度以及需要来回传输的共享数据量而异。用户将希望进行实验,以确定启用scratch是否有助于提高流水线的性能。
S3 的使用量迅速增长。类似的对象存储迅速出现,包括Microsoft Azure Blob Storage,Open Stack Swift和2010年发布的Google Cloud Storage。