next up previous
Next: Current Status of Up: Implementing ADIO on Previous: ADIO on PIOFS

ADIO on Unix and NFS

ADIO can be easily implemented on a Unix file system that supports all Unix semantics, such as atomicity and concurrent accesses from multiple processes to a file. However, the Network File System (NFS), which is widely used in a workstation environment, does not always guarantee consistency when multiple processes write to a file concurrently (even to distinct locations in the file), because it performs client-side caching [22]. To overcome this problem, we implemented ADIO on NFS by using file locking with the fcntl system call, which disables client-side caching. As a result, all requests from clients always go to the server, and consistency is maintained. Disabling client-side caching decreases the overall performance of NFS, but, nevertheless, it is necessary to ensure correctness of the result in the case of concurrent writes.

Rajeev Thakur
Mon Oct 14 18:36:34 CDT 1996