Check out the new USENIX Web site.

Experimental Evaluation

In this section, we present the results from a detailed evaluation of PARDA in a real system consisting of up to eight hosts accessing a shared storage array. Each host is a Dell Poweredge 2950 server with 2 Intel Xeon 3.0 GHz dual-core processors, 8 GB of RAM and two Qlogic HBAs connected to an EMC CLARiiON CX3-40 storage array over a Fibre Channel SAN. The storage volume is hosted on a 10-disk RAID-5 disk group on the array.

Each host runs the VMware ESX Server hypervisor [24] with a local instance of the distributed flow control algorithm. The aggregation of average latency uses the filesystem-based implementation described in Section 4.2, with a two-second update period. All PARDA experiments used the smoothing parameters $ \alpha = 0.002$ and $ \gamma = 0.8$ .

Our evaluation consists of experiments that examine five key questions: (1) How does average latency vary with changes in workload? (2) How does average latency vary with load at the array? (3) Can the PARDA algorithm adjust issue queue lengths based on per-host latencies to provide differentiated service? (4) How well can this mechanism handle bursts and idle hosts? (5) Can we provide end-to-end IO differentiation using distributed flow control together with a local scheduler at each host?

Our first two experiments determine whether average latency can be used as a reliable indicator to detect overload at the storage array, in the presence of widely-varying workloads. The third explores how effectively our control module can adjust host queue lengths to provide coarse-grained fairness. The remaining experiments examine how well PARDA can deal with realistic scenarios that include workload fluctuations and idling, to provide end-to-end fairness to VMs. Throughout this section, we will provide data using a variety of parameter settings to illustrate the adaptability and robustness of our algorithm.

Ajay Gulati 2009-01-14