是访问linux tmpfs事务吗?

时间:2015-09-16 12:05:55

标签: linux multithreading filesystems nfs tmpfs

我目前在分布式应用程序上面临一些奇怪的问题。 此应用程序通常执行以下操作:

  • 从NFSv3文件系统读取和写入数据
  • 从tmpfs文件系统读取和写入数据
  • 一个进程在tmpfs上生成文件,并使用另一个进程(或另一个最终是pthread的java线程)访问它们。
  • 一个进程在NFSv3上生成文件,并使用另一个进程(或另一个最终为pthread的java线程)访问它们。
  • 将数据写入NFSv3并从另一台计算机读取相同的数据

我们发现NFSv3存在许多延迟问题,但这些问题是已知的:如果您在NFS上编写文件而不是尝试从另一台计算机读取,则在另一台计算机上执行stat syscall时,最多可能需要90秒才能使用机。

所以我们实现了一些重试代码来解决这个问题。

最近我们在tmpfs上发现了类似的行为但是因为它在ram中我认为在写入结束时,在写入结束时执行另一个线程的同一台机器应该看到该文件但是我们得到了关于它的错误。

所以我们决定再次实施另一个重试块

问题是:当代码停止写入文件时是tmpfs事务吗?

更一般地说,如何在不同的文件系统上应用这个概念?

由于 马可

0 个答案:

没有答案