gpt4 book ai didi

git - 使用 git-annex 管理许多小(~5KB)文件

转载 作者:太空狗 更新时间:2023-10-29 14:44:58 37 4
gpt4 key购买 nike

我一直在使用 git-annex 来管理我的数据,我发现它非常令人满意。

但是,在处理我的神经影像数据时,git annex 的性能相当欠缺。此类数据通常与图像文件 (5KB) 一样多,例如每个实验每个参与者大约 36.000 个。您可以看到,即使进行了一些实验,我的数据存储库也是如何累积超过一百万个文件的。

有什么方法可以减轻运行 git annex syncgit annex get 时的巨大延迟?如果没有,是否有任何(大致)类似的软件可以让我管理多个神经影像数据存储库?

最佳答案

大量文件在多个层面上都是低效的;也许你可以改进神经成像软件?

如果那不是一个选项,您可以做几件事。第一种是将数据存储在 SSD 上。这些操作很慢,因为它们必须查询存储库中每个文件的状态,将它们放在 SSD 上会使每个磁盘的读取速度大大加快。

另一个是限制任何给定目录中的文件数量。您可能无法将来自单个实验的文件分开,但请确保您没有将来自多个实验的文件放在同一目录中。这是因为目录的访问时间通常与该目录中的文件数成正比。

另一种方法是研究不同的文件系统或不同的文件系统配置;并非所有文件系统都适用于大目录。例如,在 ext3/4 上,您可以设置文件系统选项 dir_index,以便它使用 b 树索引来加快对大型目录的访问时间。使用tune2fs程序设置。

最后一个绝望的选择可能是将所有这些小文件 merge 到存档中,例如 tarball 或 zip 文件。这可能会使使用它们变得复杂,但会大大减少您必须处理的文件数量。您也可以编写脚本来消除由此引起的一些复杂性;例如,当您需要查看这些图像之一时,您的脚本可以将 tarball 提取到一个临时目录中,启动查看器,然后在退出时删除提取的文件。

关于git - 使用 git-annex 管理许多小(~5KB)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33468157/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com