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.