Cloud service is being adopted as a utility for large numbers of tenants by renting virtual machines (VMs). But for cloud storage, unpredictable IO characteristics make accurate service-level-objective (SLO) enforcement challenging. As a result, it has been very difficult to support simple-to-use and technology-agnostic SLO specifying a particular value for a specific metric (e.g., storage bandwidth). This is because the quality of SLO enforcement depends on performance error and fluctuation that measure the precision of SLO enforcement. High precision of SLO enforcement is critical for user-oriented performance customization and user experiences. To address this challenge, this paper presents V-Cup, a framework for VM-oriented customizable SLO and its near-precise enforcement. It consists of multiple auto-tuners each of which exports an interface for a tenant to customize the desired storage bandwidth for a VM and enable the storage bandwidth of the VM to converge on the target value with a predictable precision. We design and implement V-Cup in the Xen hypervisor based on the fair sharing scheduler for VM-level resource management. Our V-Cup prototype evaluation shows that it achieves satisfying performance guarantees through near-precise SLO enforcement.
The raw error rate of a solid-state drive (SSD) increases gradually with the increase of Program/Erase (P/E) cycles, retention time and read cycles. Traditional approaches often use error correction code (ECC) to ensure the reliability of SSDs. For error-free flash memory pages, time costs spent on ECC are redundant and make read performance suboptimal. This paper presents CRC-Detect-First LDPC (CDF-LDPC) algorithm to optimize the read performance of SSDs. The basic idea is to bypass low density parity-check (LDPC) decoding of error-free flash memory pages which can be found using cyclic redundancy check (CRC) code. Thus, error-free pages can be read directly without sacrificing the reliability of SSDs. Experiment results show that the read performance is improved more than 50% compared with traditional approaches. Especially, when idle time of benchmarks and SSD parallelism are exploited, CDF-LDPC can be implemented more efficiently. In this case, the read performance of SSDs can be improved up to about 80% than that of the state-of-art.