ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2022, Vol. 59 ›› Issue (3): 597-616.doi: 10.7544/issn1000-1239.20210577

所属专题: 2022存储系统与智能处理专题

• 体系结构 • 上一篇    下一篇

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

孙辉1,娄本冬1,黄建忠2,赵雨虹3,符松4   

  1. 1(安徽大学计算机科学与技术学院 合肥 230601);2(华中科技大学武汉光电国家研究中心 武汉 430074);3(中国科学院信息工程研究所 北京 100093);4(北德克萨斯大学计算机科学与工程系 美国德克萨斯州登顿 76203) (sunhui@ahu.edu.cn)
  • 出版日期: 2022-03-07
  • 基金资助: 
    安徽高校协同创新项目(GXXT-2019-007);计算机体系结构国家重点实验室(中国科学院计算技术研究所)开放课题(CARCH201915);国家自然科学基金项目(62072001,61702004,61572209)

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

Sun Hui1, Lou Bendong1, Huang Jianzhong2, Zhao Yuhong3, Fu Song4   

  1. 1(School of Computer Science and Technology, Anhui University, Hefei 230601);2(Wuhan National Laboratory for Optoelectronics, Huazhong University of Science and Technology, Wuhan 430074);3(Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100093);4(Department of Computer Science and Engineering, University of North Texas, Denton, TX, USA 76203)
  • Online: 2022-03-07
  • Supported by: 
    This work was supported by the University Synergy Innovation Program of Anhui Province (GXXT-2019-007), the State Key Laboratory of Computer Architecture (ICT, CAS) (CARCH201915), and the National Natural Science Foundation of China (62072001, 61702004, 61572209).

摘要: 大规模非结构化数据的爆炸式增长给传统关系型数据库带来了极大的挑战.基于日志结构合并树(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.

Key words: log-structured merge tree (LSM-tree), key-value store, near-data processing (NDP), task offloading, data-pipeline parallelism

中图分类号: