Cake: Enabling High-level SLOs on Shared Storage Systems
Datacenter applications can be grouped into two broad classes: user-facing, latency-sensitive front-end applications, and internal, throughput-oriented batch analytics frameworks. These applications access distributed storage systems like HBase, Cassandra, and HDFS. Storage systems are typically not shared between these classes of applications because of an inability to multiplex latency-sensitive and throughput-oriented workloads without violating application performance requirements. These performance requirements are normally expressed as Service-Level Objectives (SLOs) on throughput or latency. Cake is a coordinated, multi-resource scheduler for shared distributed storage environments with the goal of achieving both high throughput and bounded latency. Cake uses a two-level scheduling scheme to enforce high-level Service-Level Objectives (SLOs).