| Cloud storage is becoming increasingly important in the big data era as more and more data flows to it.The pay-as-you-go billing method of cloud storage for both volumes and Input/output operations per second(IOPS)reduces storage costs while strictly limiting storage performance by payment.This brings challenges in efficiently orchestrating cloud storage to the widely deployed Log-structured merge-tree based key-value store(LSM store).For the read performance,the read I/O amplification of LSM stores could easily saturate the low IOPS of cost-effective cloud volumes,leading to dramatic degradation of read performance.Besides,the key range imbalance among multiple cloud volumes hinders LSM stores from efficiently taking advantage of the purchased IOPS and causes high latencies.For the write performance,computational overhead dominates the compaction operations on high-performance cloud volumes,and thus prevents LSM stores from fully taking advantage of the purchased high performance.To address these issues,we fully consider the storage performance of cloud volumes shaped by the pay-as-you-go billing method,and we propose to reduce read I/O numbers to cost-effective cloud volumes,balance key range among volumes,and boost compaction operations to improve the efficiency of LSM stores over cloud volumes.For better overall cost performance,it is a common practice to combine high-performance but small cloud volumes(high-performance volumes)with low IOPS but large cloud volumes(cost-effective volumes).Due to the expensive IOPS,the majority of data is stored in cost-effective volumes,which are often designated with low IOPS.This worsens the LSM store read I/O amplification problem,thus substantially dwarfing read performance.To address this issue,we propose Rocks Mash,a hierarchical storage scheme that encapsulates a carefully crafted prefix-compression-based index,named Mash Meta,to reduce I/Os to cost-effective volumes for improved read performance.Overall,Rocks Mash integrates LSM levels into hybrid volumes in an LSM-friendly manner in order to systematically reduce I/Os to cost-effective volumes.Specifically,Rocks Mash places LSM upper levels and metadata of LSM lower levels on the high-performance volumes because this data is more frequently accessed.Large and infrequently accessed data of LSM lower levels are stored in cost-effective volumes to ensure the overall cost-performance ratio.Besides,Rocks Mash employs a carefully crafted prefix-compressed index Mash Meta,which not only significantly reduces metadata sizes and memory usages,but also ensures that retrieving data blocks from cost-effective volumes takes no more than one I/O.Furthermore,Rocks Mash uses the spared high-performance volume as the persistent cache,and it uses compaction operations to precisely evict stale data blocks,reducing read I/Os to cost-effective volumes even further.Evaluation results show that Rocks Mash improves up to 1.7×higher IOPS,reduces metadata sizes by 65%,and achieves 0.9×higher persistent cache hit ratios.Cloud service providers(e.g.,AWS)limit the IOPS and bandwidth provisioned for a single cloud storage volume,while users can join multiple volumes together to get higher IOPS and bandwidth at almost no extra cost.Existing multi-volume balancing approaches are unaware of key range distributions of LSM stores among volumes,resulting in I/O pressure imbalance and poor read performance.To address this issue,we propose TANGO,a workload-and-multiple-volume-aware LSM store.It takes advantage of LSM compaction operations to prevent potential I/O jams to a single volume by sensing key range distributions among volumes.TANGO also actively offloads I/O pressures from bottleneck volumes through selective duplications.Besides,TANGO uses a two-layer I/O flow control mechanism to avoid violating the observed“defense mechanism”.It adaptively admits the number of user requests to TANGO by considering both the paid IOPS and LSM internal I/O operations(e.g.,compaction and workload balancing),and it strictly caps the maximum I/O number to each volume based on its purchased IOPS.Evaluation results demonstrate that TANGO improves performance by up to 7×when compared to a single cloud volume with the same cost.TANGO outperforms existing load-balancing approaches by 20%,achieving only 3%load variation among volumes and reducing the average latency by 60%.Since computing operations on the CPU become the bottleneck of LSM store writer operations when using high-performance cloud storage,we propose a customized GPU acceleration scheme,termed LUDA(Level DB over CUDA),to boost LSM store compactions for improving write performance.We notice that data dependencies among compaction procedures are weak,and this indicates a GPU parallelization scheme could be naturally implemented into our solution.To accommodate GPU’s memory hierarchy,we propose the lazy value movement and light-weight sorting(LL)method to minimize the overhead of data movements on GPU.Based on the LL method,we refine the parallelism of operations within each compaction procedure and propose the parallelizing and pipelining(PP)method to explore the potential of parallelizing operations for every operation in each compaction procedure.Besides,we use the flush-first(FF)method to prioritize the immutable memtable flushing,therefore avoiding blocking write operations and ensuring the parallelism of multiple compaction jobs on the GPU.Evaluation results show that LUDA provides up to 1.77×higher random write performance and achieves lower and more stable 99~h percentile latencies than Level DB and Rocks DB. |