高级检索

    近数据计算下键值存储中Compaction并行优化方法

    Near-Data Processing-Based Parallel Compaction Optimization for Key-Value Stores

    • 摘要: 大规模非结构化数据的爆炸式增长给传统关系型数据库带来了极大的挑战.基于日志结构合并树(log-structured merge tree, LSM-tree)的键值存储系统已被广泛应用,并起到重要的作用,原因在于基于LSM-tree的键值存储能够将随机写转化为顺序写,从而提升性能.然而,LSM-tree键值存储也存在一些性能问题.一方面,键值存储利用compaction操作更新数据,保持系统平衡,但造成严重的写放大问题.另一方面,以传统计算为中心的架构下,compaction操作带来大量的数据传输,影响了系统性能.以数据为中心的近数据计算模型(near-data processing, NDP)为基础,利用该模型下主机端与近数据计算使能设备端的并行资源,提出基于系统并行与流水线并行的compaction优化方法(collaborative parallel compaction optimization for LSM-tree key-value stores, CoPro).当处理compaction操作时,CoPro主机端与NDP设备端协同执行compaction卸载任务.此外,进一步提出基于决策组件的CoPro+,根据系统资源变化以及负载键值对中值大小的变化来动态调整并行度,使NDP架构中计算资源的使用更加高效.在搭建的硬件平台上验证了CoPro的有效性.

       

      Abstract: Large-scale unstructured data management brings unprecedented challenges to existing relational databases. The log-structured merge tree (LSM-tree) based key-value store has been widely used and plays an essential role in data-intensive applications. The LSM-tree can convert random-write operations into sequential ones, thereby improving write performance. However, the LSM-tree key-value storage system also has some problems. First, the key-value storage system uses compaction operations to update data to balance system performance, but it impacts system performance and causes serious write amplification. Second, the traditional computing-centric data transmission also limits the overall system performance in compaction. This paper applied the data-centric near-data processing (NDP) model in the storage system. We propose a collaborative parallel compaction optimization for LSM-tree key-value stores named CoPro. The two parallel (i.e., data and pipeline parallelism) are fully utilized to improve compaction performance. When the compaction is triggered, the host-side CoPro determines the partitioning ratio of the compaction tasks according to the offloading strategy and divides tasks according to the ratio. Then, compaction subtasks are offloaded to the host and device sides, respectively, through the semantic management module. We design a decision component in the host-side and device-side CoPro, which is remarked as CoPro+. CoPro+ can dynamically adjust the parallelism according to changes in the resource of system and the value of key-value pairs in workloads. Extensive experimental results validate the benefits of CoPro compared with two popular NDP-based key-value stores.

       

    /

    返回文章
    返回