Providing quality of service support for storage systems

Scott Brandt, Joel C. Wu · 2007

With the increasing variety of data storage needs, storage system Quality of Service (QoS) has become an important issue. Unrelated workloads sharing the same storage system can have different characteristics and priorities. Without performance management, they compete for bandwidth resource and can interfere with each other's performance. It is therefore highly desirable to have the ability to assure performance under different load conditions. This research examines storage QoS in the contexts of direct-attached disk, object-based storage device, and object-based storage system. We first developed a mechanism to provide storage access support for soft real-time applications that does not rely on fine-grained external disk schedulers. It gives priority to disk requests generated by soft real-time applications either through reservations or through feedbacks using Missed Deadline Notification (MDN). Past approaches to storage QoS can be restrictive because they require that disk bandwidth or deadlines be known and specified in advance. Our AutoQoS system infers from 1/O behavior the bandwidth requirement of multimedia streams, and automatically adjusts allocations in order to provide QoS without knowing the constraints or requiring intervention from the application. To generalize the sharing of disk bandwidth and provide performance isolation at different levels of granularity under the same framework, we developed Hierarchical Disk Sharing (HDS). HDS uses a hierarchy of token bucket filters to isolate disk access among clients and groups of clients, and to allow for reclaiming of unused bandwidth. Applying the lessons learned from AutoQoS and HDS to an object-based file system (OBFS), we developed AQuA, an adaptive QoS-aware object-based storage device that can balance between performance isolation and overall throughput. Finally, to provide class-based performance isolation in the Ceph object-based storage system, we developed the Bourbon framework. The Bourbon framework is composed of a collection of QoS-aware OSDs running Q-EBOFS, a QoS-enhanced version of the EBOFS object-based file system.

Read the paper · More papers on PaperTik