Summary: | In this dissertation, we examine some of the challenges faced by the emerging
networked storage systems. We focus on two main issues. Current file systems allocate
storage statically at the time of their creation. This results in many suboptimal
scenarios, for example: (a) space on the disk is not allocated well across multiple
file systems, (b) data is not organized well for typical access patterns. We propose
Virtual Allocation for flexible storage allocation. Virtual allocation separates storage
allocation from the file system. It employs an allocate-on-write strategy, which lets
applications fit into the actual usage of storage space without regard to the configured
file system size. This improves flexibility by allowing storage space to be shared across
different file systems. We present the design of virtual allocation and an evaluation
of it through benchmarks based on a prototype system on Linux.
Next, based on virtual allocation, we consider the problem of balancing locality and load in networked storage systems with multiple storage devices (or bricks).
Data distribution affects locality and load balance across the devices in a networked
storage system. We propose user-optimal data migration scheme which tries to balance locality and load balance in such networked storage systems. The presented
approach automatically and transparently manages migration of data blocks among
disks as data access patterns and loads change over time. We built a prototype system on Linux and present the design of user-optimal migration and an evaluation of
it through realistic experiments.
|