![]()
As the computer cluster has grown in popularity as a parallel-computing platform, the demand for system software for this platform has grown as well. One common piece of system software available for many commercial parallel machines is the parallel file system. Parallel file systems offer higher input/output (I/O) performance than single disk file systems; provide users with a convenient and consistent name space across the parallel machine; support physical distribution of data across multiple nodes, and typically include additional I/O interfaces to support larger files.
The Simple Parallel File System (SPFS) that I am presenting in this thesis
addresses the UNIX I/O performance problem on clusters by implementing a
standard programming interface for parallel I/O to help developers of
applications and higher-level I/O libraries to use parallel I/O more
effectively. This system is implemented on top of the basic portable Unix I/O
functions (create, open, lseek, read, write, close and unlink) at the user
level, so no kernel modifications are necessary to install or run the system.
The parallel details are hidden from the user, and the user can use the system's
functions as he would use the UNIX I/O functions. The project also presents
parallel I/O techniques and shows the I/O performance of real applications, for
example, I used test programs involving the SEG-Y format for Geophysical data to
evaluate SPFS's performance.