Background activities are scheduled with low priority
and served during system idle times. We presented that idle waiting,
i.e., delay scheduling of a background job, is insufficient as a
``standalone'' technique to manage the trade-off between the performance
of foreground and background tasks. We complemented ``idle-waiting''
with the ``estimation'' of background work to be served in every idle
interval and then proposed a methodology that determines the
schedulability of background work in storage systems, i.e., when and for
how long idle times can be used for serving background tasks. An
extensive set of trace-driven simulation experiments and measurements in
a prototype on the Linux 2.6.22 kernel, show that the new approach meets
the performance targets by finding a solution that is among the best.
Finally, the effectiveness of two known as background activities, namely
scrubbing and intra-disk data redundancy, is evaluated to detect and/or
recover from latent sector errors.
This work has been presented in TOS, DSN'08.