小 型 微 型 计 算 机 系 统
Journal of Chinese Computer Systems
收稿日期:2021-10-12 基金项目:国家自然科学基金面上项目(No.62072196)资助;国家自然科学基金创新研究群体项目(No.61821003)资助。 作
者简介:徐鹏,男,1991 年生,博士研究生,研究方向为云存储、键值存储系统等;周元辉,男,1997 年生,博士研究生,研究方向为大数据存储、键
值存储系统、非易失性内存和学习索引等;陈书宁,男,1994 年生,硕士,公司员工,研究方向为键值存储系统、分布式存储等;刘玮,男,1994 年
生,学士,公司员工,研究方向为键值存储系统、分布式存储等;李大平,男,1992 年生,博士研究生,研究方向为大数据、存储系统节能等;万继
光,男,1972 年生,博士,教授,通讯作者,CCF 会员,研究方向为大数据存储、键值存储系统、文件系统、分布式存储和智能化存储等。
云存储多卷负载均衡的 LSM 键值存储系统
徐 鹏
1
,周元辉
1
,陈书宁
2
,刘玮
2
,李大平
1
,万继光
1
1
(武汉光电国家研究中心, 华中科技大学 武汉 430074)
2
(北京平凯星辰科技发展有限公司 北京 100192)
E-mail:jgwan@hust.edu.cn
摘 要:单个云存储卷的 IOPS 和带宽性能受到限制,通过组合使用多个云存储卷的方式能以较低的费用获得更高的性能。但是,
现有工作缺乏针对多云存储卷优化的 LSM 键值存储系统探究。首先将现有多路径或哈希负载均衡的方案应用于使用多云存储卷
的 LSM 键值存储系统,相对单个大容量卷的性能有显著提升;但是,现有多卷负载均衡方案的写数据策略,无法感知 LSM 键值存
储系统的数据布局特点,导致各成员卷之间仍然存在负载不均衡的问题,不能充分发挥出多卷的最大性能。为此,提出一种基于
LSM 键值存储系统的多卷负载均衡方案 TANGO。在日志结构归并树由 compation 新生成的 sstable 落盘之前,先根据统计的各个
成员卷的关键信息,判断 sstable 与各成员卷的键范围重叠情况,然后选择键范围重叠最小的成员卷进行写入;针对读为主的负
载,无法通过 compation 达到负载均衡,TANGO 采用后台数据迁移方式进一步达到负载均衡。在亚马逊云存储卷上的评估表明,
相比相同存储容量的单卷,采用了 TANGO 方案的同等容量的多卷可提高 7 倍左右的性能;相比其它多卷方案,TANGO 能提升 20%
以上的性能,且各成员卷间负载更加均衡。
关键词:云存储;多卷;键值存储;日志结构归并树;负载均衡
中图分类号:TP392 文献标识码:A
TANGO: A Balancer for LSM Stores with Multiple Cloud Volumes
XU Peng
1
, ZHOU Yuan-hui
1
, CHEN Shu-ning
2
, LIU Wei
2
, LI Da-ping
1
, and WAN Ji-guang
1
1
(Wuhan National Laboratory for Optoelectronics, School of Computer Science & Technology in Huazhong University of Science and Technology, and Key Laboratory
of Information Storage System Ministry of Education of China, Wuhan, 430074)
2
(PingCAP©, Beijing, 100192)
Abstract: Cloud service providers (e.g., AWS) limit the IOPS and bandwidth provisioned for a cloud storage volume, so users can join
multiple volumes together to get higher IOPS and bandwidth at almost no extra cost. However, few existing works focus on LSM stores
with multiple cloud volumes. Even when naively marrying existing multi-path based or hash-based workload balancing approaches to build
an LSM store using multiple small cloud volumes, we observe a significant improvement when compared to using a single large cloud
volume. Existing work, on the other hand, is unaware of key-value distributions of LSM stores among volumes, resulting in I/O pressure
imbalance and, as a result, is inefficient for unleashing aggregated performance of multiple volumes and yields suboptimal performance. In
this paper, we propose TANGO, an LSM store-based I/O balancer for multiple cloud volumes. It effectively uses LSM compactions to
prevent potential I/O jams to a single volume by sensing LSM data layouts and collected data distributions among volumes. TANGO also
actively offloads I/O pressures from bottleneck volumes through selective duplications. Evaluation results on AWS EBS volumes
demonstrate that, TANGO improves performance by up to 7× when compared to a single cloud volume with the same cost. TANGO also
achieves a more balanced I/O among volumes when joining multiple volumes for LSM stores, outperforming existing approaches by 20%.
Key words: Cloud Storage; Multiple Volume; Key-Value Storage; Log-Structured Merge Tree; Workload Balance
1 引言
建设“数字化中国”是《十四五规划》提出的重要目标
之一,数字化建议意味着海量的数据
[ 1 ]
。随着网络技术的
不断进步,在一些场景下,用户通过网络获取数据的速度接
近甚至是超过了从本地存储中获取数据的速度。因此,数据
上云是一大趋势,云存储具有数据可靠性高
[ 2 ][ 4 ]
、扩展性
强
[ 3 ][ 5 ]
、按需付费和性能稳定等特点,能够为用户提供丰
富的服务
[ 19 ][ 20 ]
。但是单个云存储卷(以下简称卷)可使用
的最大 IOPS 和带宽受到限制
[ 18 ]
,无法满足用户的高性能,
特别是 IOPS 需求。基于云存储服务商的对云存储卷的计费
规则和实际性能测试,我们发现相比单个卷,在容量相同时,
组合使用多个小容量的卷能够以相同的费用获得更高的
IOPS 和带宽性能。然而,测试表明,简单组合使用多个卷的
评论