FITS table file writing slowness with NFS-mounted disks
Mac OS X platforms
16 April 2008
FITS table file writing through the CXC Data Model slows by a significant factor on Mac OS X machines - both 10.4 (Tiger) and 10.5 (Leopard) - when the data is accessed via a networked file system (NFS) mount.
This issue does not affect Solaris or Linux platforms.
Writing of images and ASCII tables is not affected; reading of any of these file formats is also unaffected.
The issue primarily affects users at an institution which uses networked file systems; see the workarounds for an example of checking for NFS mounts. Users working on a standalone machine or laptop that is not attached to a network are most likely using local disks and will not see the problem.
The CXC is exploring options to provide a more efficient buffering mechanism for the Data Model.
Configuration of the NFS mount may alleviate the slowness. The best performance in testing was achieved by setting the rwsize option to 4096 and running NFS version 3.
Note that adjusting the rwsize may improve or worsen the behavior of not just the CIAO tools, but other applications as well.
If the user is using an NFS mount of a local disk, using the local disk's mount point instead of the NFS mount name will prevent the slowness.
The Unix "df" command should allow a user to determine if the disk being accessed is local or NFS-mounted. If the output of the command has a machine name in front of the path, the local disk is not being accessed directly. For instance:
unix% df /export/analysis/ Filesystem 512-blocks Used Avail Capacity Mounted on ciaosys:/export/analysis.orig 488134944 164203792 323419152 34% /export/analysis
The output shows that /export/analysis is a mount of the /export/analysis.orig directory on machine "ciaosys". Using /export/analysis.orig on ciaosys would access the local disk and not encounter the problem. Although /export/analysis writes to the same location, it is accessed via the NFS and would show a slowdown.
If the mounted disk cannot be accessed in another way, an alternative is to use a local disk (such as /tmp) for the initial writing of FITS from the DM, then move the files to the NFS-mounted disk.