RocksDB数据引擎合并压缩加速技术研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:mangix16
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的迅速普及,各类互联网应用对数据库的要求越来越高,新的应用要求数据库不仅具有良好的ACID属性,在保持查询效率的前提下还要支持数据高速写入和更新,此外还必须具有良好的分布式可扩展性。在此背景下,新一代的NoSQL数据库应运而生。目前流行的NoSQL数据库包括Google的Spanner/F1、阿里的Ocean Base、Cockroach DB、Ti DB等,它们底层存储引擎都采用了LSM-Tree架构。基于LSM-Tree的数据库可以将用户的随机写转化为顺序写来提高写性能。与基于B+Tree的数据库相比,LSM-Tree架构数据库的读性能相对较差,但通过增加索引、缓存、布隆过滤器等优化方式,其读性能在实际应用中基本不会下降太多。此外,LSM-Tree架构数据库还必须运行多个后台线程,定期对磁盘中的数据文件进行合并压缩,以保持LSM-Tree的优化形状,减少读放大和空间放大。该多线程的合并压缩操作会消耗较多CPU计算资源,数据查询和事务处理等前台操作会与这些后台线程发生资源争用,造成数据库系统处理普通在线事务逻辑的效率下降。在读写混合的工作负载下,这种资源争用给数据库性能带来的影响更为明显。根据阿里X-Engine数据库的实验,随着SSD、NVM等新型存储器技术的飞速发展,数据I/O带宽取得了非常大的进步,此时LSM-Tree架构数据库中制约数据吞吐量的瓶颈已经转移到CPU的计算能力上,其中LSM-Tree的数据合并压缩是造成瓶颈的主要原因。针对上述问题,本文以开源的、基于LSM-Tree的RocksDB数据库作为研究对象,着重研究如何把数据合并压缩操作的主要计算任务卸载给FPGA。本文利用FPGA来创建用于数据合并压缩处理的硬件逻辑运算单元,并基于RocksDB源码和Open CL编程模型等技术,设计并实现了一种基于FPGA的RocksDB数据合并压缩加速系统。该系统能够实现数据合并压缩计算任务的卸载,以降低主机CPU的计算负载,提高数据库系统处理普通数据访问事务的性能。为解决上述问题,实现基于FPGA的RocksDB数据合并压缩加速系统,本论文进行了如下主要工作:(1)研究RocksDB的项目架构和源码,分析其存在的缺点,给出问题的解决思路。(2)设计出基于FPGA的RocksDB数据合并压缩加速系统的整体架构,包括软件结构设计和FPGA硬件逻辑结构设计。(3)RocksDB数据合并压缩过程的FPGA硬件逻辑实现。通过利用FPGA的快速可重构性,快速实现系统的原型制作和版本迭代。本文计划采用Xilinx公司推出的Alveo U280 Data Center Accelerator Card型号的FPGA来进行硬件开发,并使用其配套的Vitis工具基于C/C++高级编程语言和Open CL编程模型来实现软件。(4)FPGA驱动程序的设计与实现,使之能够管理主机与FPGA之间的数据流动和任务调度。在论文的最后,针对基于FPGA的RocksDB数据合并压缩加速系统,本文主要使用RocksDB自带的性能测试工具db_bench、Vitis套件工具和一些测试程序进行实验和数据采集。实验数据表示,本系统在处理Key大小较小的KV数据集时,系统所消耗的总体CPU计算资源比原生RocksDB少10%左右,处理计算任务时的CPU最大使用率比原生RocksDB低50%左右。本系统基于FPGA进行数据合并压缩的吞吐量比原生RocksDB基于CPU进行数据合并压缩的吞吐量提升40%左右。实验结果证明,本系统具有更高的数据合并压缩效率和更低的CPU计算资源使用率,可以为RocksDB带来性能提升。
其他文献
永磁同步电机(Permanent Magnet Synchronous Machine,PMSM)具有转矩大、功率密度大和高效节能等优势,被广泛的应用到电动车、变频空调、变频洗衣机、扫地机器人等各个领域。永磁同步电机控制系统的设计是目前学术界和工业界研究的热点问题,常见的控制方式有恒压频比控制、磁场定向控制(Field Oriented Control,FOC)和直接转矩控制。其中FOC系统具有功
学位
作为第三代半导体材料的代表,碳化硅(Si C)由于具有禁带宽度大、击穿电场高、热导率高等特点,被广泛应用于高功率电子器件领域。而结势垒肖特基(Junction Barrier Schottky,JBS)器件拥有较低的开启电压,更快的恢复时间,更少的开关损耗,较低漏电电流等优点,具有明显优势,已经成为当前功率器件研究热点之一。不断提高的器件参数也对器件的掺杂等关键工艺提出了更高的要求。本文在此背景下
学位
现场总线技术广泛应用于工业自动化领域,是智能设备之间的数据通讯网络,增强了底层设备与控制管理层之间的联系。控制器局域网(CAN)就属于数据现场总线范畴。经过多年的发展,现场总线已经较为成熟,为了朝速率更快成本更低的方向发展,现场总线正在逐步向工业以太网转变。传统现场总线向工业以太网转变时,为了最大化保留原设备,降低更新换代的成本,需要在工业以太网芯片中搭载现场总线接口。目前市场中有大量的CAN总线
学位
得益于科学技术的不断进步以及物理算力的逐步提高,神经网络作为当下人工智能领域的重要一环,已经被越来越多地应用于金融、交通、医疗、消费等各行各业中。但是,目前用于评估神经网络质量的方法依然是基于训练集—测试集的传统软件测试方法,无法保证神经网络的安全性甚至是正确性。再加上对抗攻击技术近些年不断地发展,使得对抗样本可以在只产生微小扰动的情况下肆意更改神经网络的输出,这也给人工智能领域覆上了一层阴霾。因
学位
近年来,深度学习技术在多个研究领域大放异彩,基于卷积神经网络模型的创新成果与日俱增。为解决医疗资源紧缺和创建更好的医疗环境,全球多个国家出台相关政策,鼓励发展医疗人工智能行业,不断推进新一代计算机技术在医疗行业的应用。其中,利用深度学习技术的辅助诊断算法一直是数字医疗研究的热点,它能帮助医生诊断分析大量医疗数据,减少阅片误诊率和漏诊率。当前,一些深度学习算法模型在图像的检测效率和精度上相比于专业医
学位
三维装箱问题属于典型的组合优化问题,在物流装载、仓储分配等问题中有广泛的应用场景。特别是在我国物流行业高速发展的今天,装箱效率是物流企业不可回避的优化方向。在一定时间内计算出合理的装箱方案能帮助企业降低物流成本,减少车辆与人员的浪费现象,如果再配合使用可视化软件或自动化装箱设备将大幅度提高装箱效率,从而增强企业竞争力。因此研究三维装箱问题不仅有极大的理论价值,也有十分重要的经济价值。通过文献调研,
学位
可分任务的多趟调度已成为任务调度领域研究的热点和难点问题。多趟调度中不合理的任务分配不仅可能降低任务的完成效率、降低平台的资源利用率,甚至可能引发处理机的时间冲突(即任务在时间上重叠分配),导致处理机不能如约按时完成任务计算。鉴于此,本文提出了一种合理、高效且无冲突的多趟调度模型及算法,并将该理论成功应用于求解雾计算平台下的任务调度问题。本文的主要研究成果包括:1.研究了无冲突的多趟调度模型及算法
学位
聚类算法作为一种无监督学习方法,广泛应用于医学影像、图像分割、目标检测、和网络安全等领域。近年来,随着数据信息愈加复杂、多样,类的不平衡问题始终是学者们研究的热点之一。传统的聚类算法一般适用于普通数据集,在类大小差别较大的不平衡数据集上的聚类具有难以确定最终聚类数、不平衡比例未知等难点。多子类思想,是一种将不平衡数据集分成若干相似大小的子类,之后对相似度较高的子类进行合并得到最终聚类结果的过程。这
学位
近年来,在互联网和医疗器械等市场需求增大和工艺技术不断更新换代的驱使下,ADC芯片需要向更高精度、更小能耗的方向发展。但是传统的SAR ADC被限制在中等精度,高精度的Sigma-Delta ADC利用过采样来实现精度的提升,但是过采样对失配误差的作用很小,传统校准失配误差方法为工艺修调或者数字校准,增加了复杂度。为打破失配误差对高精度的瓶颈限制,本文在SAR ADC的基础上,借助辅助ADC实现噪
学位
如今,互联网已经深入到了人们日常生活的各个方面,从工作、娱乐、沟通到购物消费等都因为网络的便捷发生了巨大的变化,而这同时也产生了海量的数据需要存储和访问。为了应对这些问题,国内外研制了多种不同存储模式的No SQL数据库,其中键值数据库由于它的存储结构简单和良好的性能优势,获得了人们更多的青睐。键值数据库是使用一对数据作为存储模型,其中键的数据类型必须是能作为唯一标识的字符串,目的是为了建立索引及
学位