@InProceedings{corbett:vesta-di, author = {Peter F. Corbett and Dror G. Feitelson}, title = {Design and Implementation of the {Vesta} Parallel File System}, booktitle = {Proceedings of the Scalable High-Performance Computing Conference}, year = {1994}, pages = {63--70}, later = {corbett:jvesta}, keywords = {parallel I/O, multiprocessor file system, file system interface, Vesta, pario-bib}, abstract = {The Vesta Parallel file system is designed to provide parallel file access to application programs running on multicomputers with parallel I/O subsystems. Vesta uses a new abstraction of files: a file is not a sequence of bytes, but rather it can be partitioned into multiple disjoint sequences that are accessed in parallel. The partitioning - which can also be changed dynamically - reduces the need for synchronization and coordiantion during the access. Some control over the layout of data is also provided, so the layout can be matched with the anticipated access patterns. The system is fully implemented, and is beginning to be used by application programmers. The implementation does not compromise scalability or parallelism. In fact, all data accesses are done directly to the I/O node that contains the requested data, without any indirection or access to shared metadata. There are no centralized control points in the system.}, comment = {See corbett:jvesta and corbett:vesta* for other background. Note that since this paper they have put Vesta on top of a raw disk (using 64 KB blocks) rather than on top of AIX-JFS. They describe here the structure of Vesta (2-d files, cells, subfiles, etc), the ordering of bytes within a subfile, hashing of the file name to find the file metadata, Xrefs instead of directories, caching, asynchronous I/O, prefetching, shared file pointers, concurrency control, and block-list structure. Many things, some visible to the user and some not, are new.} }