A case for redundant arrays of inexpensive disks (RAID)
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Threads and input/output in the synthesis kernal
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
File concepts for parallel I/O
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
Hector: A Hierarchically Structured Shared-Memory Multiprocessor
Computer - Special issue on experimental research in computer architecture
The design and implementation of a log-structured file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Input/output behavior of supercomputing applications
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
The Stanford Dash Multiprocessor
Computer
Journal of Parallel and Distributed Computing - Special issue on parallel I/O systems
Extensible file systems in spring
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Improving IPC by kernel design
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Applications-driven parallel I/O
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
File-system development with stackable layers
ACM Transactions on Computer Systems (TOCS) - Special issue on operating systems principles
The Stanford FLASH multiprocessor
ISCA '94 Proceedings of the 21st annual international symposium on Computer architecture
Parallel file systems for the IBM SP computers
IBM Systems Journal
Hierarchical clustering: a structure for scalable multiprocessor operating system design
The Journal of Supercomputing - Special issue: trends in parallel operating systems
Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Server-directed collective I/O in Panda
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
Input/output characteristics of scalable parallel applications
Supercomputing '95 Proceedings of the 1995 ACM/IEEE conference on Supercomputing
PPFS: a high performance portable parallel file system
ICS '95 Proceedings of the 9th international conference on Supercomputing
The Vesta parallel file system
ACM Transactions on Computer Systems (TOCS)
Automatic compiler-inserted I/O prefetching for out-of-core applications
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Dealing with disaster: surviving misbehaved kernel extensions
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Compilation and communication strategies for out-of-core programs on distributed memory machines
Journal of Parallel and Distributed Computing - Special issue on compilation techniques for distributed memory systems
The Galley parallel file system
Parallel Computing - Special double issue: parallel I/O
ELFSR0: object-oriented extensible file systems
PDIS '91 Proceedings of the first international conference on Parallel and distributed information systems
Parallel I/O Subsystems in Massively Parallel Supercomputers
IEEE Parallel & Distributed Technology: Systems & Technology
HOTOS '97 Proceedings of the 6th Workshop on Hot Topics in Operating Systems (HotOS-VI)
Supporting I/O-efficient scientific computation in TPIE
SPDP '95 Proceedings of the 7th IEEE Symposium on Parallel and Distributeed Processing
ViC*: A Preprocessor for Virtual-Memory C*
ViC*: A Preprocessor for Virtual-Memory C*
(De-) Clustering Objects for Multiprocessor System Software
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
Hfs: a flexible file system for shared-memory multiprocessors
Hfs: a flexible file system for shared-memory multiprocessors
Scalability in the XFS file system
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Compiler-based I/O prefetching for out-of-core applications
ACM Transactions on Computer Systems (TOCS)
LegionFS: a secure and scalable file system supporting cross-domain high-performance applications
Proceedings of the 2001 ACM/IEEE conference on Supercomputing
SmartApps: An Application Centric Approach to High Performance Computing
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
A Modular and Extensible JVM Infrastructure
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
The design and implementation of a modular and extensible Java virtual machine
Software—Practice & Experience
Enabling autonomic behavior in systems software with hot swapping
IBM Systems Journal
K42: an infrastructure for operating system research
ACM SIGOPS Operating Systems Review
Meta-data snapshotting: a simple mechanism for file system consistency
SNAPI '03 Proceedings of the international workshop on Storage network architecture and parallel I/Os
Dynamic function placement for data-intensive cluster computing
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Lachesis: robust database storage management based on device-specific performance characteristics
VLDB '03 Proceedings of the 29th international conference on Very large data bases - Volume 29
Hi-index | 0.00 |
The Hurricane File System (HFS) is designed for (potentially large-scale) shared-memory multiprocessors. Its architecture is based on the principle that, in order to maximize performance for applications with diverse requirements, a file system must support a wide variety of file structures, file system policies, and I/O interfaces. Files in HFS are implemented using simple building blocks composed in potentially complex ways. This approach yields great flexibility, allowing an application to customize the structure and policies of a file to exactly meet its requirements. As an extreme example, HFS allows a file's structure to be optimized for concurrent random-access write-only operations by 10 threads, something no other file system can do. Similarly, the prefetching, locking, and file cache management policies can all be chosen to match an application's access pattern. In contrast, most parallel file systems support a single file structure and a small set of policies. We have implemented HFS as part of the Hurricane operating system running on the Hector shared-memory multiprocessor. We demonstrate that the flexibility of HFS comes with little processing or I/O overhead. We also show that for a number of file access patterns, HFS is able to deliver to the applications the full I/O bandwidth of the disks on our system.