[an error occurred while processing this directive]
School of Computer Science & Engineering
University of New South Wales
Advanced Operating Systems
COMP9242 2002/S2
Next: Microsoft Windows-NT File System
Up: 09-fs
Previous: Alternative: Logging to Improve
- Scalable FS for high-performance
computing[SDH$^+$96]:
- many files,
- big directories,
- huge files,
- sparse files.
- big file systems (TB),
- fast crash recovery,
- high bandwidth (uncompressed video), 500MB/s!
- Extensive use of B
trees:
- directories (keyed by 4-byte hash of file name)
- indirect block maps (using block ranges, extents),
- free-block maps,
- inode maps containing:
- pointers to ranges of inodes, and
- bitmap for range.
- Allocation groups (large sub-partitions) to localise metadata.
- Limits size of free space and inode maps.
- Allows use of 32-bit pointers.
- Limits bottlenecks due to single-threaded updates.
- Used similar to FFS CGs (cluster files, spread directories).
- Write-ahead logging for metadata updates:
- inodes,
- directory blocks,
- free block maps,
- inode maps,
- file block maps,
- AG headers,
- superblock
- Batch and asynchronously write log.
- Buffer log to avoid blocking further metadata updates.
- Support separate log device.
- Dynamically allocated inodes.
- Block size up to 64kB.
- Block allocation as contiguous as possible:
- Extents: large (up to
) unaligned
contiguous block ranges.
- Physical pointers are extent descriptors:
- file offset (for sparsity),
- block address,
- extent size.
- Actual allocation of disk blocks is delayed as much as
possible.
- Allows maximising extents.
- Prevents short-lived files from ever going to
disk.
- Requires extensive buffering in RAM.
- Aggressive read-ahead and write clustering.
- Direct I/O: DMA to user buffers.
- Multiple concurrent readers and writers supported to same
file.
- Log is only shared data structure on SMP system.
Next: Microsoft Windows-NT File System
Up: 09-fs
Previous: Alternative: Logging to Improve
Gernot Heiser
2002-10-11
[an error occurred while processing this directive]