Parallel I/O architectures have become attractive in the context of high performance computing and services provided by high bandwidth data centers. It is challenging to provide a scheduling technique that maximizes throughput and can provide QoS guarantees. In this thesis we first introduce the problem of maximizing the throughput for a parallel I/O system that is simultaneously accessed by several concurrent applications. We show that the problem of obtaining a minimum length schedule is NP-complete. We present fairness metrics for parallel I/O and provide fair scheduling schemes for some representative situations. In particular we study schemes that support fairness at every I/O step (local fairness) and during a certain window of time (global fairness). We also present a more general algorithm for weighted allocation of disk system bandwidth to multiple reference strings. All the three algorithms have low polynomial time complexity and they are work conserving. |