CN111897783A - 基于多ndp协同主机端执行并行任务的kv存储系统优化方法 - Google Patents

基于多ndp协同主机端执行并行任务的kv存储系统优化方法 Download PDF

Info

Publication number
CN111897783A
CN111897783A CN202010587891.0A CN202010587891A CN111897783A CN 111897783 A CN111897783 A CN 111897783A CN 202010587891 A CN202010587891 A CN 202010587891A CN 111897783 A CN111897783 A CN 111897783A
Authority
CN
China
Prior art keywords
ndp
compression
key value
task
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010587891.0A
Other languages
English (en)
Other versions
CN111897783B (zh
Inventor
孙辉
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui University
Original Assignee
Anhui University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui University filed Critical Anhui University
Priority to CN202010587891.0A priority Critical patent/CN111897783B/zh
Publication of CN111897783A publication Critical patent/CN111897783A/zh
Application granted granted Critical
Publication of CN111897783B publication Critical patent/CN111897783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出的一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法,首先在存储系统中设置多个NDP设备,组成多NDP的可计算存储阵列,每一个NDP设备设置一个对应的键值阈值,并根据键值阈值对NDP设备进行排序,获取各NDP设备的键值区间;主机端将获取的存储数据分发到各NDP设备进行存储;当触发压缩任务时,首先获取参与压缩的文件,结合参与压缩的文件的键值范围和键值阈值,将参与压缩的文件分配到对应的NDP设备进行压缩和存储。本发明通过压缩任务的动态分割和分配,达到主机端CPU与NDP设备阵列多CPU协同的效果,且实现了NDP设备与键值存储系统的横向扩展能力,通过NDP设备阵列扩展了存储资源和计算资源。

Description

基于多NDP协同主机端执行并行任务的KV存储系统优化方法
技术领域
本发明涉及数据压缩技术领域,尤其涉及一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法。
背景技术
计算机技术和互联网的飞速发展促使半结构化和非结构化数据的出现,并且在数据总量中所占比例越来越高,呈指数级增长。而传统关系型数据库在日益增长的非结构化数据规模环境下,无法满足海量数据的高效率存储、高并发和高可扩展性需求。相比而言,键值(key-value)存储不需要预定义数据结构,已被广泛应用于非结构化数据存储和管理,用于提供低延迟的读写速度和支撑海量的数据流量。目前键值存储系统广泛使用日志结构合并树(LSM-tree)来实现数据的存储和管理,将随机写转化为顺序写,从而获得优秀的写性能。为了对数据进行有效的管理,基于日志结构合并树的键值存储系统运行过程中会产生压缩(compaction)操作,用于更新文件文件表(SSTable)并将其迁移到下一个层级。但压缩操作会占用大量主机端与存储设备端I/O带宽,导致性能下降,更新文件文件表也会造成写入数据量放大的问题。
为了解决压缩操作引起的性能下降和写放大问题,现有基于近数据处理(Near-Data Processing,NDP)技术的NDP设备端内优化和主机端与NDP设备端协同处理优化两个方面:
一方面,对于NDP设备端内优化,现有的研究直接将压缩操作迁移到NDP设备端处理。这些研究利用NDP设备端的计算能力处理压缩操作,只需将处理结果反馈给主机端即可,大大减少了主机端和NDP设备端之间的数据传输量,在减少数据写放大的同时一定程度上提升了系统性能。但是这种优化方式对NDP设备端的CPU计算能力依赖较大,将压缩操作迁移后主机端空闲的CPU计算能力未能得到有效的利用,系统性能还有提升的空间。
另一方面,对于主机端与NDP设备端协同处理优化,将压缩操作任务进行分割,由主机端和存储设备端协同处理。现有研究依据不同的分割算法和压缩操作处理方式,将压缩操作任务分配到主机端和NDP设备端,以实现不同策略的协同处理效果。但是,这些优化方案仅仅是针对单个NDP设备端,而面对如今海量的数据处理,单个NDP设备已不能满足用户的存储与处理需求。
由此可见,现有的基于近数据处理的研究方法未考虑充分利用主机端CPU的计算能力以及没有考虑存储设备阵列的需求。
发明内容
基于背景技术存在的技术问题,本发明提出了一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法。
本发明提出的一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法,首先在存储系统中设置多个NDP设备,每一个NDP设备设置一个对应的键值阈值,并根据键值阈值对NDP设备进行排序,获取各NDP设备的键值区间;主机端将获取的存储数据分发到各NDP设备进行存储;当触发压缩任务时,首先获取参与压缩的文件,结合参与压缩的文件的键值范围和键值阈值,将参与压缩的文件分配到对应的NDP设备进行压缩任务的并行执行和存储。
优选的,当主机端获得压缩任务信息,对压缩任务进行分割和分配的方法具体包括以下步骤:
S1、首先获取压缩任务层数Ln,从压缩任务层数Ln筛选待压缩文件;然后在Ln+1层选取所有与待压缩文件键值范围重叠的文件与待压缩文件一起参与压缩,并获取参与压缩的文件的最小键值Kp和最大键值Kq
S2、判断键值范围Kp~Kq内是否存在键值阈值;
S3、是,则将存在于键值范围Kp~Kq内的键值阈值作为分割界限点,根据分割界限点将参与压缩的文件分割为位于不同阈值区间的任务文件并发送给对应的NDP设备进行压缩处理;
S4、否,则将参与压缩的文件分割为两部分任务文件,分别由主机端和键值范围Kp~Kq对应的NDP设备进行压缩处理。
优选的,步骤S4中,将参与压缩的文件平均分割为两个任务。
优选的,步骤S4具体为:设置分割键值
Figure BDA0002555331810000031
并以分割键值
Figure BDA0002555331810000032
为界限将参与压缩的文件分割为两个任务;分割键值
Figure BDA0002555331810000033
为参与压缩的第m个文件的键值范围上限值,m=num/2,其中,num为参与压缩文件的数量。
优选的,步骤S4中,主机端对任务进行压缩处理后,将压缩文件发送到阈值区间包含[Kp,Kq]的的NDP设备进行存储。
优选的,还包括:对各NDP的任务进程进行实时监控,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值,或者任一NDP设备的空闲时间达到预设的闲置上限值,则对NDP设备的键值阈值进行调整,使各NDP设备的压缩任务均衡分布。
优选的,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值时,对NDP设备的键值阈值进行调整的方式为:以长时间处于压缩进程的NDP设备作为分出对象,从分出对象的相邻的NDP设备中获得目标对象,调整位于分出对象与目标对象键值范围分界点上的键值阈值,以扩大目标对象的阈值区间并缩小分出对象的阈值区间。
优选的,目标对象为分出对象相邻的NDP设备中获得的压缩任务较小的NDP设备。
优选的,当任一NDP设备的空闲时间达到预设的闲置上限值,对NDP设备的键值阈值进行调整的方式为:以该空闲时间达到闲置上限值的NDP设备作为目标对象,从目标对象相邻的NDP设备中选取分出对象,调整位于分出对象与目标对象键值范围分界点上的键值阈值,以扩大目标对象的阈值区间并缩小分出对象的阈值区间。
优选的,分出对象为目标对象相邻的NDP设备中获得的压缩任务较多的文件。
本发明提出的一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法,首先设置多个NDP设备分担主机端的部分计算任务,主机端触发压缩操作后,根据各NDP设备的键值区间和文件的键值范围对压缩任务进行动态分割与分配。
本发明中,采用近数据处理的键值存储技术,组建NDP设备阵列,将压缩任务分配到NDP设备进行,以减少数据移动。本发明通过压缩任务的动态分割和分配,达到主机端CPU与NDP设备阵列多CPU协同的效果,且实现了NDP设备与键值存储系统的横向扩展能力,通过NDP设备阵列扩展了存储资源和计算资源。
本发明进一步增强压缩任务的系统级并行与数据并行度,充分利用主机端CPU和各个NDP设备端CPU的计算能力,提高压缩任务的执行效率,增加写入吞吐量并有效地减少了写放大,进一步提升系统性能。为基于近数据处理的键值存储技术横向扩展提供了解决方案。
本发明中,通过在NDP设备上进行文件压缩,最大程度地减少主机端与NDP设备端之间的数据传输量,提高了数据访问效率。
附图说明
图1为本发明提出的一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法流程图;
图2为压缩任务分割方法流程图;
图3为本发明提出的另一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法流程图。。
具体实施方式
参照图1,本发明提出的一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法,首先在存储系统中设置多个NDP设备,每一个NDP设备设置一个对应的键值阈值,并根据键值阈值对NDP设备进行排序,获取各NDP设备的键值区间;主机端将获取的存储数据分发到各NDP设备进行存储;当触发压缩任务时,首先获取参与压缩的文件,结合参与压缩的文件的键值范围和键值阈值,将参与压缩的文件分配到对应的NDP设备进行压缩任务的并行执行和存储。
具体的,本实施方式中,参与压缩的文件包括:存储文件数量达到预设的存储阈值的压缩任务层数Ln筛选的待压缩文件和压缩任务层数Ln+1层中所有与待压缩文件键值范围重叠的文件。具体的,当压缩任务层数Ln+1层中某文件与任一待压缩文件的键值范围部分重合时,则对该文件进行拆分,将与待压缩文件的键值范围重合的部分提取出来参与本次压缩。
本实施方式中,为了方便文件的分配,主机端根据NDP设备的键值阈值获得各NDP设备的键值区间,并将各文件根据键值范围分配到对应键值区间的NDP设备。例如,假设NDP设备1的键值阈值为f1,NDP设备n的键值阈值为fn;则,NDP设备1的键值阈值区间为0~f1,NDP设备n的键值区间为f(n-1)~fn。当某文件的键值范围落入多个键值区间时,则根据位于键值范围内的键值阈值对文件进行分割,以保证个NDP设备存储对应的键值区间内的文件。
本实施方式中,NDP设备阵列利用各自CPU的计算能力,分担主机端的部分计算任务;主机端负责处理上层应用请求,统一管理各存储设备端元数据。具体的,主机端从上层应用接收到存储任务后,将接收到的文件分配到各NDP设备的L0层进行存储,当L0层存储的文件达到预设的存储阈值,则触发压缩任务,获得L1层的存储文件,并依此类推,层层递进。
参照图2,本实施方式中,当触发压缩任务时,对压缩的执行具体包括以下步骤:
S1、首先获取压缩任务层数Ln,从压缩任务层数Ln筛选待压缩文件;然后在Ln+1层选取所有与待压缩文件键值范围重叠的文件与待压缩文件一起参与本次压缩,并获取参与压缩的文件的最小键值Kp和最大键值Kq
具体的,当Ln+1层有文件参与压缩时,由于Ln+1层参与压缩的文件的键值范围与Ln层参与压缩的文件的键值范围重叠,且Ln层参与压缩的文件的键值范围必然包含在Ln+1层参与压缩的文件的键值范围内,此时,可直接获取Ln+1层参与压缩的文件的最小键值Kp和最大键值Kq。反之,如果Ln+1层没有文件,即压缩任务层数Ln第一次触发压缩任务,则从Ln层参与压缩的文件的键值范围中获取最小键值Kp和最大键值Kq
S2、判断键值范围Kp~Kq内是否存在键值阈值。
S3、是,则将存在于键值范围Kp~Kq内的键值阈值作为分割界限点,根据分割界限点将参与压缩的文件分割为位于不同阈值区间的任务文件并发送给对应的NDP设备进行压缩处理。
假设,Kp~Kq之间存在多个键值阈值x(i+1)、x(i+2)、x(i+3)……、x(i+a),则首先根据键值阈值x(i+1)、x(i+2)、x(i+3)……、x(i+a)将参与压缩的文件分割成任务文件,然后将键值范围位于阈值区间[Kp,x(i+1)]内的任务文件分配到NDP设备i+1进行压缩存储;将键值范围位于阈值区间(x(i+1),x(i+2)]内的任务文件分配到NDP设备i+2进行压缩存储;以此类推,将键值范围位于阈值区间(x(i+a-1),x(i+a)]内的任务文件分配到NDP设备i+a进行压缩存储,将键值范围位于阈值区间(x(i+a),Kq]内的任务文件分配到NDP设备i+a进行压缩存储。
本实施方式中,各NDP设备只与主机端通信NDP设备上的存储文件进行迁移时,通过主机端中转。例如,假设NDP设备1上的文件A参与本次压缩,其键值范围为[xa,xb],且x<xa,xb<2x;则本次压缩过程中,将该文件A分配到NDP设备2进行压缩并存储。如此,本次压缩过程中,首先由主机端复制文件A并发送到NDP设备2。具体的,压缩过程中,主机端根据文件元信息对各NDP设备上的文件进行监控,对任务文件进行分配时,根据任务文件的元信息获知当前所在NDP设备和目标NDP设备,然后将任务文件复制到目标NDP设备,再通知当前所在NDP设备对文件进行删除,以避免文件重复存储。
具体的,此过程中,如果某个参与压缩的文件的键值范围为[C1,C2],且C1<f(i+1)<C2,则将该参与压缩的文件分割为键值范围分别为[C1,f(i+1)]和(f(i+1),C2]的两个任务文件,并分别分配给NDP设备i+1和NDP设备i+2进行压缩存储。
S4、如果键值范围Kp~Kq内不存在键值阈值,则将参与压缩的文件分割为两部分任务文件,分别由主机端和键值范围Kp~Kq对应的NDP设备进行压缩处理。
具体的,本步骤中,将参与压缩的文件分割为第一部分文件和第二部分文件,第一部分任务文件的阈值范围位于区间[Kp,C0]内,第二部分任务文件的阈值范围位于区间(C0,Kq]内;然后将第一部分文件分配给阈值区间包含[Kp,Kq]的NDP设备进行处理,将第二部分文件发送给主机端进行处理。本实施方式的步骤S4中,主机端对任务进行压缩处理后,将压缩文件发送到被分担压缩任务的NDP设备进行存储。即,主机端对第二部分文件进行压缩后,将压缩文件发送到阈值区间包含[Kp,Kq]的NDP设备进行存储,以避免主机端被存储占用。
具体实施时,步骤S4中,可设置将参与压缩的文件文件表平均分割为两部分任务文件,即C0=(Kp+Kq)/2。
本实施方式中,步骤S4具体为:设置分割键值
Figure BDA0002555331810000081
并以分割键值
Figure BDA0002555331810000082
为界限将参与压缩的文件分割为两部分任务文件;分割键值
Figure BDA0002555331810000083
为参与压缩的第m个文件的键值范围上限值,m=num/2,其中,num为参与压缩文件的数量。具体实施时,为了方便分割键值
Figure BDA0002555331810000084
的获取,当Ln+1层有文件参与压缩,也可设置分割键值
Figure BDA0002555331810000085
为Ln+1层参与压缩的第m个文件的键值,m=numn+1/2,其中,numn+1表示Ln+1层参与压缩的文件的总数。
具体的,本实施方式中,为了方便分割键值
Figure BDA0002555331810000086
的获取,对参与压缩的文件,根据键值范围最小值、键值范围最大值或者键值范围中值进行排序,以便确定第m个文件。
参照图3,本实施方式中,具体实施时,还包括:对各NDP的任务进程进行实时监控,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值,或者任一NDP设备的空闲时间达到预设的闲置上限值,则对NDP设备的键值阈值进行调整,使各NDP设备的压缩任务均衡分布。
具体的,本实施方式的,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值时,对NDP设备的键值阈值进行调整的方式为:以长时间处于压缩进程的NDP设备作为分出对象,从分出对象的相邻的NDP设备中获得目标对象,调整位于分出对象与目标对象键值范围分界点上的键值阈值,以扩大目标对象的阈值区间并缩小分出对象的阈值区间,从而对分出对象和目标对象被分配的压缩任务进行均衡处理。具体的,目标对象为分出对象相邻的NDP设备中获得的压缩任务较小的NDP设备。
本实施方式的,当任一NDP设备的空闲时间达到预设的闲置上限值,对NDP设备的键值阈值进行调整的方式为:以该空闲时间达到闲置上限值的NDP设备作为目标对象,从目标对象相邻的NDP设备中选取分出对象,调整位于分出对象与目标对象键值范围分界点上的键值阈值,以扩大目标对象的阈值区间并缩小分出对象的阈值区间,从而对分出对象和目标对象被分配的压缩任务进行均衡处理。具体的,分出对象为目标对象相邻的NDP设备中获得的压缩任务较多的文件。
以下结合几个具体的实施例,对本发明做进一步解释。
实施例1
本实施例中,设置一个主机端和5个NDP设备,即NDP设备1、NDP设备2、NDP设备3、NDP设备4和NDP设备5。
NDP设备1、NDP设备2、NDP设备3、NDP设备4和NDP设备5的键值阈值分别设置为x、x2、x3、x4、x5,从而获取:NDP设备1的阈值区间为(0,x],NDP设备2的阈值区间为(x,x2],NDP设备3的阈值区间为(x2,x3],NDP设备4的阈值区间为(x3,x4],NDP设备5的阈值区间为(x4,x5]。
主机端从上层应用接收文件,并将文件根据键值范围进行排序。主机端将键值范围位于(0,x]内的文件存储到NDP设备1的L0层,将键值范围位于(x,x2]内的文件存储到NDP设备2的L0层,将键值范围位于(x2,x3]内的文件存储到NDP设备3的L0层,将键值范围位于(x3,x4]内的文件存储到NDP设备4的L0层,将键值范围位于(x4,x5]内的文件存储到NDP设备5的L0层。
当任一个NDP设备的L0层的文件数量达到预设的存储阈值f0,则对L0层的文件进行压缩,压缩获得的文件存储到L1层。
同理,当任一个NDP设备的L1层的文件数量达到预设的存储阈值f1,则对L1层的文件进行压缩,压缩获得的文件存储到L2层;当任一个NDP设备的Ln层的文件数量达到预设的存储阈值fn,则对Ln层的文件进行压缩,压缩获得的文件存储到Ln+1层;n≧1。
主机端实时监控各NDP设备各压缩任务层的存储文件。
假设,任一个NDP设备的Ln层数据达到预设阈值fn,则根据以下步骤S1-S4进行压缩任务分割和分配。
S1、首先获取压缩任务层数Ln,从压缩任务层数Ln筛选待压缩文件;然后在Ln+1层选取所有与待压缩文件键值范围重叠的文件与待压缩文件一起参与本次压缩,并获取参与压缩的文件的最小键值Kp和最大键值Kq
S2、判断键值范围Kp~Kq内是否存在键值阈值。
S3、是,则将存在于键值范围Kp~Kq内的键值阈值作为分割界限点,根据分割界限点将参与压缩的文件分割为位于不同阈值区间的任务文件并发送给对应的NDP设备进行压缩处理。
例如,假设Kp≦x≦2x≦Kq;则将键值范围[Kp,x]内的任务文件分配给NDP设备1的Ln+1层进行压缩存储,键值范围(x,2x]内的任务分配给NDP设备2的Ln+1层进行压缩存储,键值范围(2x,Kq]内的任务分配给NDP设备3的Ln+1层进行压缩存储。
S4、否,则将参与压缩的文件分割为两部分任务文件,分别由主机端和键值范围Kp~Kq对应的NDP设备进行压缩处理。
假设,x≦Kp≦Kq≦2x;则将两部分任务文件对半分配给NDP设备2的Ln+1层和主机端的Ln+1层进行处理。且,本实施例中,当主机端对获取的任务文件压缩完成后,将压缩文件发送到NDP设备2的Ln+1层进行存储。
实施例2
相对于实施例1,本实施例中,还包括:对各NDP的任务进程进行实时监控,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值,或者任一NDP设备的空闲时间达到预设的闲置上限值,则对NDP设备的键值阈值进行调整,使各NDP设备的压缩任务均衡分布。即,实现对各NDP设备之间任务进程均衡性监控,并通过调整NDP设备的键值区间,实现各NDP设备获取的文件的均衡性分配。
假设实施例1的设置基础上,当前任务压缩成Lm层触发压缩任务,则获取参与本次压缩的文件,参与本次压缩的文件包括:从Lm层筛选待的文件以及从Lm+1层选取所有与待压缩文件键值范围重叠的文件。
假设本实施例中,获得的参与本次压缩的文件的范围为[K1,K2],K1<x<x2<K2<x3,则本次压缩进程中,将参与本次压缩的文件分割为3部分任务文件,3部分任务文件的键值范围分别为(K1,x]、(x,x2]、(x2,K2],该3部分任务文件分别分配到NDP设备1的Lm+1层、NDP设备2的Lm+1层和NDP设备3的Lm+1层进行压缩并存储。
假设本次压缩过程中,监测到NDP设备2长时间处于压缩任务进程中,且进程占用时间已经达到预设的耗时上限值。则从NDP设备1和NDP设备3中选择一个用于分担NDP设备2的压缩任务。
具体的,本实施例中,以NDP设备2作为分出对象,同时,获得NDP设备1中Lm+1层的文件数量少于NDP设备3中Lm+1层的文件数量,故而,以NDP设备1作为目标对象。从而,将NDP设备1的键值阈值更新为x’,x’>x,即扩大NDP设备1的键值区间,缩小NDP设备2的键值区间。键值阈值调整后,主机端从上层应用新接收的文件则根据新的键值阈值分配到个NDP设备的L0层。
同理,假设本次压缩过程中,监测到NDP设备4闲置时间已经达到预设的闲置上限值。则从NDP设备3和NDP设备5中选择一个向NDP设备4分担压缩任务。本实施例中,由于本次压缩过程中NDP设备5闲置,NDP设备5中Lm+1层的文件数量少于NDP设备3中Lm+1层的文件数量,故而,以NDP设备3作为分出对象,NDP设备4为目标对象。
本实施例中,将NDP设备3的键值阈值更新为x3’,x3’<x3,即扩大NDP设备4的键值区间,缩小NDP设备3的键值区间。键值阈值调整后,主机端从上层应用新接收的文件则根据新的键值阈值分配到个NDP设备的L0层。
本实施例中,以上所述,仅为本发明涉及的较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,首先在存储系统中设置多个NDP设备,每一个NDP设备设置一个对应的键值阈值,并根据键值阈值对NDP设备进行排序,获取各NDP设备的键值区间;主机端将获取的存储数据分发到各NDP设备进行存储;当触发压缩任务时,首先获取参与压缩的文件,结合参与压缩的文件的键值范围和键值阈值,将参与压缩的文件分配到对应的NDP设备进行压缩任务的并行执行和存储。
2.如权利要求1所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,当主机端获得压缩任务信息,对压缩任务进行分割和分配的方法具体包括以下步骤:
S1、首先获取压缩任务层数Ln,从压缩任务层数Ln筛选待压缩文件;然后在Ln+1层选取所有与待压缩文件键值范围重叠的文件与待压缩文件一起参与压缩,并获取参与压缩的文件的最小键值Kp和最大键值Kq
S2、判断键值范围Kp~Kq内是否存在键值阈值;
S3、是,则将存在于键值范围Kp~Kq内的键值阈值作为分割界限点,根据分割界限点将参与压缩的文件分割为位于不同阈值区间的任务文件并发送给对应的NDP设备进行压缩处理;
S4、否,则将参与压缩的文件分割为两部分任务文件,分别由主机端和键值范围Kp~Kq对应的NDP设备进行压缩处理。
3.如权利要求2所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,步骤S4中,将参与压缩的文件平均分割为两个任务。
4.如权利要求2所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,步骤S4具体为:设置分割键值
Figure FDA0002555331800000011
并以分割键值
Figure FDA0002555331800000012
为界限将参与压缩的文件分割为两个任务;分割键值
Figure FDA0002555331800000013
为参与压缩的第m个文件的键值范围上限值,m=num/2,其中,num为参与压缩文件的数量。
5.如权利要求2所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,步骤S4中,主机端对任务进行压缩处理后,将压缩文件发送到阈值区间包含[Kp,Kq]的的NDP设备进行存储。
6.如权利要求1所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,还包括:对各NDP的任务进程进行实时监控,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值,或者任一NDP设备的空闲时间达到预设的闲置上限值,则对NDP设备的键值阈值进行调整,使各NDP设备的压缩任务均衡分布。
7.如权利要求6所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,当任一NDP设备压缩任务进程耗时时间达到预设的耗时上限值时,对NDP设备的键值阈值进行调整的方式为:以长时间处于压缩进程的NDP设备作为分出对象,从分出对象的相邻的NDP设备中获得目标对象,调整位于分出对象与目标对象键值范围分界点上的键值阈值,以扩大目标对象的阈值区间并缩小分出对象的阈值区间。
8.如权利要求7所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,目标对象为分出对象相邻的NDP设备中获得的压缩任务较小的NDP设备。
9.如权利要求6所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,当任一NDP设备的空闲时间达到预设的闲置上限值,对NDP设备的键值阈值进行调整的方式为:以该空闲时间达到闲置上限值的NDP设备作为目标对象,从目标对象相邻的NDP设备中选取分出对象,调整位于分出对象与目标对象键值范围分界点上的键值阈值,以扩大目标对象的阈值区间并缩小分出对象的阈值区间。
10.如权利要求9所述的基于多NDP协同主机端执行并行任务的KV存储系统优化方法,其特征在于,分出对象为目标对象相邻的NDP设备中获得的压缩任务较多的文件。
CN202010587891.0A 2020-06-24 2020-06-24 基于多ndp协同主机端执行并行任务的kv存储系统优化方法 Active CN111897783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010587891.0A CN111897783B (zh) 2020-06-24 2020-06-24 基于多ndp协同主机端执行并行任务的kv存储系统优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010587891.0A CN111897783B (zh) 2020-06-24 2020-06-24 基于多ndp协同主机端执行并行任务的kv存储系统优化方法

Publications (2)

Publication Number Publication Date
CN111897783A true CN111897783A (zh) 2020-11-06
CN111897783B CN111897783B (zh) 2023-05-02

Family

ID=73207013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010587891.0A Active CN111897783B (zh) 2020-06-24 2020-06-24 基于多ndp协同主机端执行并行任务的kv存储系统优化方法

Country Status (1)

Country Link
CN (1) CN111897783B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272575A (ja) * 1998-03-20 1999-10-08 Nec Corp 圧縮ファイルサーバ方式
US20120102005A1 (en) * 2010-10-26 2012-04-26 Hitachi, Ltd. File management method and computer system
CN103970604A (zh) * 2013-01-31 2014-08-06 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
US20160203102A1 (en) * 2015-01-09 2016-07-14 International Business Machines Corporation Efficient remote pointer sharing for enhanced access to key-value stores
CN107247624A (zh) * 2017-06-05 2017-10-13 安徽大学 一种面向Key‑Value系统的协同优化方法及系统
US20170315740A1 (en) * 2016-04-29 2017-11-02 Netapp, Inc. Technique for pacing and balancing processing of internal and external i/o requests in a storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272575A (ja) * 1998-03-20 1999-10-08 Nec Corp 圧縮ファイルサーバ方式
US20120102005A1 (en) * 2010-10-26 2012-04-26 Hitachi, Ltd. File management method and computer system
CN103970604A (zh) * 2013-01-31 2014-08-06 国际商业机器公司 基于MapReduce架构实现图处理的方法和装置
US20160203102A1 (en) * 2015-01-09 2016-07-14 International Business Machines Corporation Efficient remote pointer sharing for enhanced access to key-value stores
US20170315740A1 (en) * 2016-04-29 2017-11-02 Netapp, Inc. Technique for pacing and balancing processing of internal and external i/o requests in a storage system
CN107247624A (zh) * 2017-06-05 2017-10-13 安徽大学 一种面向Key‑Value系统的协同优化方法及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HUI SUN 等: "DStore: A Holistic Key-Value Store Exploring Near-Data Processing and On-Demand Scheduling for Compaction Optimization", 《IEEE ACCESS》 *
HUISUN 等: "Collaborative Compaction Optimization System using Near-Data Processing for LSM-tree-based Key-Value Stores", 《JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING》 *
冯淇: "基于LSM-Tree的键值存储引擎的优化研究与实现", 《中国优秀硕士学位论文全文数据库》 *
刘伟: "基于近数据计算的LSM-tree键值存储系统Compaction优化方法", 《中国优秀硕士学位论文全文数据库》 *
梅飞 等: "SSDKV:一种SSD友好的键值对存储系统", 《计算机工程与科学》 *

Also Published As

Publication number Publication date
CN111897783B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US10374792B1 (en) Layout-independent cryptographic stamp of a distributed dataset
CN111913955A (zh) 数据的排序处理装置、方法和存储介质
US8090924B2 (en) Method for the allocation of data on physical media by a file system which optimizes power consumption
US10127281B2 (en) Dynamic hash table size estimation during database aggregation processing
CN112882663B (zh) 一种随机写的方法、电子设备及存储介质
US20160034528A1 (en) Co-processor-based array-oriented database processing
CN107391508B (zh) 数据加载方法和系统
CN113609090B (zh) 数据存储方法及装置、计算机可读存储介质、电子设备
CN116982035A (zh) 分布式数据系统中索引质量的测量与改进
CN110597627A (zh) 基于虚拟fpga的数据库运算加速装置及加速方法
CN112883121A (zh) 数据处理方法、装置、计算机设备和存储介质
CN111897783A (zh) 基于多ndp协同主机端执行并行任务的kv存储系统优化方法
CN111897784B (zh) 一种面向键值存储的近数据计算集群系统
CN114816322A (zh) Ssd的外部排序方法、装置和ssd存储器
EP4321981A1 (en) Data processing method and apparatus
CN112000289B (zh) 全闪存储服务器系统数据管理方法及相关组件
EP4348454A2 (en) Lsm hybrid compaction
CN108334457A (zh) 一种io处理方法及装置
Li et al. Topology-aware job allocation in 3d torus-based hpc systems with hard job priority constraints
CN114860449A (zh) 数据处理方法、装置、设备和存储介质
Mohapatra et al. A lazy scheduling scheme for hypercube computers
CN110166279B (zh) 一种非结构化云数据管理系统的动态布局方法
Huang et al. Resource provisioning with QoS in cloud storage
Yin et al. Optimize parallel data access in big data processing
Son et al. Skew-tolerant key distribution for load balancing in MapReduce

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant