Recall that
is the desired latency value
at which the array provides high throughput but small queuing
delay. Since PARDA tries to operate close to
, an
administrator can control the overall latencies in a cluster,
bounding IO times for latency-sensitive workloads such as OLTP. We
investigated the effect of the threshold setting by running PARDA with
different
values. Six hosts access the array concurrently,
each running a VM with a 16 GB disk performing 16 KB random reads with
32 outstanding IOs.
|
|
We first examine the throughput and latency
observed in the uncontrolled case, presented in
Table 4.
In Figure 9, we enable the control algorithm with
= 30 ms and equal
shares, stopping one VM each at times
= 145 s,
= 220 s and
= 310 s.
Comparing the results
we can see the effect of the control algorithm
on performance. Without PARDA, the system
achieves a throughput of 3130 IOPS at an average latency of 60 ms. With
= 30 ms, the system achieves a throughput of 3150 IOPS, while
operating close to the latency threshold. Other experiments with
different threshold values, such as those shown in
(
= 40 ms)
and Figure 12
(
= 25 ms), confirm that PARDA is effective at maintaining
latencies near
.
These results demonstrate that PARDA is able to control latencies
by throttling IO from hosts. Note the different window
sizes at which hosts operate for different values of
.
Figure 9(a) also highlights the adaptation of
window sizes, as more capacity becomes available at the array when
VMs are turned off at various points in the experiment. The
ability to detect capacity changes through changes in latency is an
important dynamic property of the system.