从多个进程并行读取文件

时间:2014-09-26 00:19:49

标签: parallel-processing filesystems

我正在并行运行多个进程,并且每个进程并行读取同一个文件。如果我将进程数增加到>,看起来某些进程会看到文件的损坏版本。 15左右。处理这种情况的推荐方法是什么?

更多细节: 并行读取的文件实际上是一个perl脚本。多个作业是python进程,每个作业都使用不同的输入参数独立启动这个perl脚本。当作业数量增加时,其中一些作业会产生错误,即perl脚本的语法无效(这不是真的)。因此,我怀疑其中一些作业在perl脚本的损坏版本中读取。

我在32芯机器上运行所有这些。

1 个答案:

答案 0 :(得分:-1)

如果任何进程也写入文件,则需要强制执行某些同步,例如使用全局命名的互斥锁。

如果没有进行异步写入,我不希望在读取期间看到损坏。你打开“r”访问文件?如果您仍然遇到麻烦,可能值得尝试减少读取缓冲区大小。或者调用本机win32 API进行文件访问。

祝你好运!