Embracing diversity : improving performance for parallel storage systems built with heterogeneous disks
- Author(s): Bruno, Gregory DuVall
- et al.
Components in parallel systems are heterogeneous, and over time, the degree of heterogeneity often increases as components are replaced or added. This study examines how system throughput is affected when different block allocation schemes are used for parallel storage systems that are constructed with heterogeneous disks. In this dissertation, we investigate the nonlinear performance properties of disks induced by their mechanical nature and zone-bit recording. We describe a model that captures the underlying behavior of heterogeneous disks in a parallel file system under different workloads and we show that the model predicts the actual behavior of a set of heterogeneous disks. We then compare the impact that five different allocation algorithms have on system response time. We show that taking zone-bit recording into consideration can significantly reduce system response time. We also show that taking the client workload into consideration can further reduce system response time. Lastly, we built a prototype to test the insights developed here. The prototype allowed us to run generic programs on a commodity cluster that utilizes a parallel storage system that could be easily reconfigured using any number of disks. We inserted four types of disks with different capacities and performance characteristics and ran three programs on the system: a parallel sequential micro-benchmark, a parallel random micro-benchmark and a parallel scientific application. Three block allocation schemes were examined on the prototype: "uniform'' (all blocks are uniformly distributed among the drives), "capacity'' (blocks are distributed based on the relative size of each drive), and "adaptive'' (blocks are distributed based on the relative performance of each drive). For all the configurations we tested, "adaptive'' significantly outperforms a state-of-the-art parallel file system (PVFS2) by 60% - 147% on the parallel random micro- benchmark and by 140% - 355% on the parallel sequential micro-benchmark. In all but one configuration, "adaptive'' outperforms "capacity'' and "uniform''. We provide insight to why "adaptive'' was slightly slower than "capacity'' in this one configuration