Bursts in data center workloads are a real problem for storage subsystems. Data volumes can experience peak I/O request rates over an order of magnitude higher than average load. This requires significant over-provisioning, and often still results in significant I/O request latency during peaks. Everest addresses this problem by allowing data written to an overloaded volume to be temporarily off-loaded to underutilized storage resources in the data center.
Everest allows data written to an overloaded volume to be temporarily off-loaded into a short-term virtual store. Everest creates the short-term store by opportunistically pooling underutilized storage resources either on a server or across servers within the data center. Writes are temporarily off-loaded from overloaded volumes to lightly loaded volumes, thereby reducing the I/O load on the former. Everest is transparent to and usable by unmodified applications, and does not change the persistence or consistency of the storage system. We evaluate Everest using traces from a production Exchange mail server as well as other benchmarks: our results show a 1.4--70 times reduction in mean response times during peaks.
- Dushyanth Narayanan, Austin Donnelly, Eno Thereska, Sameh Elnikety, and Antony Rowstron, Everest: Scaling down peak loads through I/O off-loading, in Proceedings of 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’08), USENIX, San Diego, CA, December 2008