Text-only Table of Contents (frame/ no frame)
(4) Filesystem differences Previous Top Next

Differences in filesystem semantics

AFS makes some minor changes to the behaviour of the Unix filesystem calls to improve performance. Many users can ignore the differences, but the behaviour may make a difference when multiple programs try to access the same files.

AFS implements write on close to improve the efficiency of the local cache. This means that when a file is opened for writing, data is first written to the local cache, and the server copy is not updated until the file is closed. Another process on the same client can see the partially written file. The client cache manager can be tuned to improve performance for particular types of files.

The initial open (for read or write) of a file entails database lookups to determine the volume location and permissions. The file and metadata are copied to local cache and then made available to the application.


Figure 2. Client read - initial connection.



Figure 3. Client read - subsequent open of same file.

If reading, the AFS server will tell the client (callback) if the server copy of the file changes. If it is unchanged, subsequent reads of the same file involve only local disk cache and so are much faster.

Read/write Performance is very dependant on the client hardware speed and cache configuration. Very occasionally problems might arise due to cache inconsistencies. The following commands (subcommands of fs) can be used to remove stale cache data.

fs_flush
Flush named files or directories from the local cache
fs_flushvolume
Flush all data from a particular volume

I/O intensive jobs

Writing and reading large amounts of data to a file can cause performance problems for some programs if the file resides on a remote server. AFS is generally optimized for robustness and scaleability rather than high performance, and in some circumstances users may need to resort to using local disk for large data files to get the best possible performance.

Scratch or temporary files used by programs should in most circumstances be placed on local disk for best performance. Sometimes applications may default to writing scratch files in the user's home directory, but can be configured to use other locations.

Permission bits

The traditional Unix permission bits are largely ignored by AFS. Only the user write and execute bits are meaningful. All other access control is determined by the directory ACL.

Special files

AFS does not support device special files or named pipes.

Previous Top Next


filesystem-differences.src  last modified Jun 9, 2005 Introduction Table of Contents
(frame/no frame)
Printable
(single file)
© Dartmouth College