CN108920101B - 一种软硬协同动态负载存储方法 - Google Patents
一种软硬协同动态负载存储方法 Download PDFInfo
- Publication number
- CN108920101B CN108920101B CN201810674769.XA CN201810674769A CN108920101B CN 108920101 B CN108920101 B CN 108920101B CN 201810674769 A CN201810674769 A CN 201810674769A CN 108920101 B CN108920101 B CN 108920101B
- Authority
- CN
- China
- Prior art keywords
- priority
- disk
- data
- gradient
- disks
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 3
- 238000004064 recycling Methods 0.000 claims description 3
- 238000005265 energy consumption Methods 0.000 abstract description 17
- 238000013500 data storage Methods 0.000 abstract description 13
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 8
- 238000001816 cooling Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000010438 heat treatment Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明为一种软硬协同动态负载存储方法,该方法在数据磁盘布局中采用冷热树对磁盘条带进行记录,动态地分配条带,在满足数据传输带宽要求下,实现节能的目的,并且将原本采用CPU进行的异或计算部分采用FPGA硬件算法实现,非常适用于负载动态变化的大型存储系统。该方法采用一种新型磁盘布局方式并结合硬件通过软硬件结合方式进行动态负责存储,更合理的使用已经打开的磁盘,减少磁盘转换带来的额外能耗,将地址计算部分用软件算法实现,异或计算部分用硬件实现,降低数据存储时的磁盘能耗和CPU资源,提升整个RAID存储架构的性能。
Description
技术领域
本发明涉及一种动态负载的数据存储方法(DSSH),特别是涉及一种软硬协同动态负载存储方法。
背景技术
随着互联网的普及和飞速发展,数据总量呈几何级数增长趋势,对数据进行高效率的存储、管理和使用已经成为各行各业关注的重点,对于存储系统的各方面的要求都空前提高。随着存储技术的发展,信息存储系统在高可用性、高性能、可扩展性、低成本等方面得到了显著的提高。
随着数据的爆炸性增长,存储设备的成本急剧增加,对数据的安全性要求也越来越高,如何高效益地对数据进行存储、管理和使用成为企业日益关注的问题,传统上的RAID磁盘阵列存储数据面临新的挑战。
对于动态负载存储系统,李元章等人(李元章,孙志卓,马忠梅,等.S-RAID5:一种适用于顺序数据访问的节能磁盘阵列[J].计算机学报,2013,36(6):1290-1302.)提出了将部分磁盘打开的S-RAID5算法。孙志卓等人(Sun Z,Zhang Q,Li Y,et al.DPPDL:a DynamicPartial-Parallel Data Layout for Green Video Surveillance Storage[J].IEEETransactions on Circuits&Systems for Video Technology,2016,PP(99):1-1.)提出了适用于监控系统动态负载的DPPDL算法,该算法根据负载实时调整磁盘开启的并行数量。但该算法在选取条带的时候没有考虑到尽量使用已经开启的磁盘,并且该算法全部使用传统RAID架构,而传统RAID架构中异或计算将会消耗大量的CPU资源。
发明内容
本发明的目的是根据传统的软件RAID存储架构提出了一种软硬协同动态负载存储方法。该方法采用一种新型磁盘布局方式并结合硬件通过软硬件结合方式进行动态负责存储,更合理的使用已经打开的磁盘,减少磁盘转换带来的额外能耗,将地址计算部分用软件算法实现,异或计算部分用硬件实现,降低数据存储时的磁盘能耗和CPU资源,提升整个RAID存储架构的性能。
本发明是通过以下技术方案实现的:
一种软硬协同动态负载存储方法,该方法的步骤是:
第一步、底层磁盘布局,计算地址空间:
1-1假设存储系统中有M个磁盘,其中有1个校验盘,M-1个数据盘,根据磁盘空间的使用情况构建冷热树;
所述冷热树至少由三层构成,第一层NULL为提供树结构的访问入口的空节点;第二层记录相应条带空闲状态的数据磁盘数量,具有多种节点,该层中节点种类的多少,与每个条带中空闲状态的数据磁盘个数的种类一致:第三层记录第二层每个节点所对应的地址空间及相应空闲状态的磁盘序号;
1-2已知当前已打开数据磁盘数、请求数据磁盘数、每个数据磁盘的空闲地址数、全部数据磁盘的空闲地址数,判断当前负载需要打开的数据磁盘数在冷热树第二层节点中是否存在相应的数字,如果存在则采用选择条带方式选择要使用的条带;否则跳转到步骤1-3;
所述选择条带的具体过程是:计算已打开的数据磁盘的冷盘优先级,计算完冷盘优先级后将满足情况的条带从头遍历,如果遇到冷盘优先级组合为100,则直接选择该条带,否则等全部计算完后选择优先级最高的条带;
1-3采用拆分条带方式拆分要使用的条带,拆分最大数据磁盘数的条带,得到全部数据磁盘的梯度优先级数,先把打开的数据磁盘全部选中,再把未打开的数据磁盘按磁盘梯度优先级数从高到低选择,直到满足此时需要打开的数据磁盘数量;
1-4如果冷热树中没有数据磁盘数为M-1的条带,则依次删除最原始存入的数据,回收数据磁盘空间;
第二步、搭建硬件架构,将磁盘矩阵与主机连接,主机再与FPGA通过PCIE总线进行双向通信,将第一步的底层布局方式嵌入在主机内,选择出需要打开的数据磁盘,然后采用FPGA进行异或计算,将需要进行异或计算的数据通过主机传给FPGA,计算完成后再由FPGA传回主机,这样就完成负载动态存储的全过程。
本发明的有益效果是:
1)降低整个磁盘阵列的能耗。由于采用动态选择条带开启磁盘的方式,每次都选择最合适的数据磁盘,显著降低整个系统的能耗。
2)降低存储系统的冷却成本。本发明能够有效地降低存储设备的能耗,由此产生的热量也相应的降低,进而降低存储系统的冷却成本。采用这种动态负载开启数据磁盘的方法可以降低能耗和冷却成本。
3)降低磁盘的故障率。因能耗降低,磁盘产生的热量也相应地减少,因此,带来磁盘温度的有效降低,使磁盘故障率降低,延长了磁盘的使用寿命。
4)节省CPU资源,由于将异或计算部分转移到FPGA上进行计算,可以大大减少CPU的使用率,节省CPU资源。
因此,本发明在数据磁盘布局中采用冷热树对磁盘条带进行记录,动态地分配条带,在满足数据传输带宽要求下,实现节能的目的,并且将原本采用CPU进行的异或计算部分采用FPGA硬件算法实现,节省了CPU资源,能够有效提高存储系统的性能,非常适用于负载动态变化的大型存储系统。
附图说明
图1为不组成条带,磁盘数据存储示意图。
图2为组成条带,RAID5磁盘数据存储示意图。
图3为磁盘为空时冷热树示意图。
图4为存有3负载数据后冷热树的示意图。
图5为本发明存储系统的架构图。
图6为负载变化为3,5,4时冷热树状态变化图。
图7为实施例中传输速率对比图。
图8为实施例中CPU利用率对比图。
图9为存储系统负载变化图。
图10为DSSH和SRAID 5算法能耗对比图。
图11为DPPDL和SRAID 5算法能耗对比图。
具体实施方式
下面结合实施例及附图进一步解释本发明,但并不以此作为对本申请保护范围的限定。相关概念介绍:
(1)条带:条带这一概念是伴随着RAID技术一同提出的。条带技术是自动的将写入磁盘的连续数据分成很多小部分并把它们分别存储到不同数据磁盘上去。
比如假设有5个磁盘,如果不组成条带,只是顺序写入数据,则磁盘数据存储如图1所示。如果组成条带化(以RAID5为例),则数据存储如图2所示。图1和图2中0,1,2,3…,39表示顺序写入的地址。如果不使用RAID技术,如图1,则每个磁盘顺序存储,每次只有一个磁盘处于开启状态,当数据量大的时候会产生磁盘存储瓶颈。在RAID5中,当有数据存储请求来临的时候所有磁盘均处于开启状态,并且为了保证磁盘存储数据正确,每个bank中选择一个磁盘作为校验盘,对同一条带磁盘进行异或计算。
(2)冷热树:冷热树是一种树形结构,用于管理在RAID5条带基础上的磁盘空间。该树的目的是为了选择条带的时候寻找满足热盘(已经打开的数据磁盘),又满足冷盘(地址空间较少使用的数据磁盘)的条带。
(3)选择条带(CS)是指冷热树中有需要的条带,但是为了满足冷盘(地址空间较少使用的数据磁盘)优先的需求,计算已打开的数据磁盘(热盘)的冷盘优先级。选择冷盘优先级组合最高的条带,如果遇到最高优先级的条带就可以直接跳出。该算法适用于请求数据磁盘负载由大变小时冷热树中有需要的条带且条带数量大于1的情况。
(4)请求数据磁盘数:指当前存储系统为满足系统的存储需求而打开数据磁盘的数量。
(5)冷盘优先级:有的数据磁盘地址空间较少使用,则说明其冷盘优先级较高。地址空间使用量相同的数据磁盘说明其具有同一冷盘优先级。
(6)拆分条带(SS)是从拥有最大数据磁盘数的条带中拆分出需要的条带。
本发明软硬协同动态负载存储(DSSH)方法(简称方法)的步骤是:
第一步、底层磁盘布局,计算地址空间:
1-2假设存储系统中有M个磁盘,其中有1个校验盘,M-1个数据盘,根据磁盘空间的使用情况构建冷热树;
所述冷热树至少有三层构成,第一层NULL为提供树结构的访问入口的空节点;第二层记录相应条带空闲状态的数据磁盘数量,具有多种节点,该层中节点种类的多少,与每个条带中空闲状态的数据磁盘个数的种类一致:第三层记录第二层每个节点所对应的地址空间及相应空闲状态的磁盘序号;
1-2已知当前已打开数据磁盘数为e、请求数据磁盘数为f、每个数据磁盘的空闲地址数、全部数据磁盘的空闲地址数,判断当前负载需要打开的数据磁盘数在冷热树第二层节点中是否存在相应的数字,如果存在则采用选择条带(简称CS)方式选择要使用的条带;否则跳转到步骤1-3;
所述选择条带的具体过程是:计算已打开的数据磁盘的冷盘优先级,计算完冷盘优先级后将满足情况的条带从头遍历,如果遇到冷盘优先级组合为100,则直接选择该条带,否则等全部计算完后选择优先级最高的条带;
首先用100除以请求数据磁盘数计算出平均优先级,如公式(1),然后根据式(2)计算出每个数据磁盘的优先级粒度,为了将来计算梯度优先级做准备;将有相同剩余地址空间的数据磁盘(剩余地址空间即为空闲地址空间)集合起来,分成若干组,按不同组的剩余地址空间不同进行从高到低排序,剩余地址空间最多的集合为第一梯度优先级数,剩余地址空间排名第n的集合称为第n梯度优先级数,此时第n梯度优先级数为已知值,判断请求数据磁盘数是否不大于第一梯度优先级数,若请求数据磁盘数不大于第一梯度优先级数,则按照公式(3)计算各梯度优先级;若请求数据磁盘数大于第一梯度优先级数,则令请求数据磁盘数等于各梯度优先级数的加和,按照公式(4)计算各梯度优先级;
平均优先级=100/请求数据磁盘数f (1)。
优先级粒度=(该数据磁盘的空闲地址/全部数据磁盘的空闲地址)*平均优先级 (2)。
第一梯度优先级=平均优先级
第二梯度优先级=平均优先级-第二梯度优先级粒度 (3),
第一梯度优先级=平均优先级+第一梯度优先级粒度
...
第n-1梯度优先级=平均优先级+第n-1梯度优先级粒度
第n梯度优先级=(100-(第一梯度总优先级+...+第n梯度总优先级))
/第n梯度优先级数
第n+1梯度优先级=第n梯度优先级-第n-1梯度优先级粒度
第n+2梯度优先级=第n+1梯度优先级-第n+2梯度优先级粒度
... (4)。
CS算法的具体过程示例:假设考虑有100个数据磁盘,请求负载需要45个数据磁盘(即请求数据磁盘数f=45),已经打开数据磁盘数为67个,第一梯度优先级数有12个数据磁盘(A0-A11),这些盘空闲地址数为9;第二梯度优先级数有13个盘(B0-B12),这些盘空闲地址数为7;第三梯度优先级数有22个盘(C0-C21),这些盘空闲地址数为6;第四梯度优先级数有20个盘(D0-D19),这些盘空闲地址数为5,数据磁盘总空闲地址数:431。由于请求数据磁盘数45>第一梯度优先级数12,则请求数据磁盘数=12+13+20=45
平均优先级为:100/45=2.22
第一梯度优先级:2.22+(9/431)*2.22=2.27
第二梯度优先级:2.22+(7/431)*2.22=2.26
第三梯度优先级:(100-2.27*12-2.26*13)/20=2.169
第四梯度优先级:2.169-(5/431)*2.22=2.14
优先级梯度分别为{A0-A11(2.27),B0-B12(2.26),C0-C21(2.169),D0-D19(2.14)}。
1-3采用拆分条带(简称SS)方式拆分要使用的条带,拆分最大数据磁盘数的条带,得到全部数据磁盘的梯度优先级数,先把打开的数据磁盘全部选中,再把未打开的数据磁盘按磁盘梯度优先级数从高到低选择。SS算法选择数据磁盘只需要按照磁盘梯度优先级数从第一梯度优先级数开始依次选择,直到满足此时需要打开的数据磁盘数量。
1-4如果冷热树中没有数据磁盘数为M-1的条带(最大数据磁盘数条带),则依次删除最原始存入的数据,回收数据磁盘空间。
第二步、搭建硬件架构,将磁盘矩阵与主机连接,主机再与FPGA通过PCIE总线进行双向通信,将第一步的底层布局方式嵌入在主机内,选择出需要打开的数据磁盘,然后采用FPGA进行异或计算,将需要进行异或计算的数据通过主机传给FPGA,计算完成后再由FPGA传回主机,这样就完成负载动态存储的全过程。
图1为不组成条带,磁盘数据存储示意图。图中有5个磁盘,分别是disk1,disk2,disk3,disk4,disk5。这5个磁盘都是数据磁盘,且不组成条带,只是将数据依次顺序写入每个磁盘中,则数据存储地址按1,2,3……依次排序。
图2为组成条带,RAID5磁盘数据存储示意图。图中有6个磁盘,分别是disk1,disk2,disk3,disk4,disk5,disk6。将数据存储地址按0,1,2,3……依次排序,但存储地址在每个数据磁盘中地址并不连续。图中条带0的地址为0,1,2,3,4,条带1的地址为5,6,7,8,9,~共有8个条带。但disk1的地址为0,5,10,15……,将4个条带组成一个bank,条带0~3为bank0,条带4~7为bank1。Bank发生变化时,校验盘也发生变化,在同一个bank中只有一个磁盘为校验盘,其余为数据磁盘。图中bank0的校验盘为disk6,bank1的校验盘为disk5;当再有多个条带时,则bank2的校验盘变为disk4,以此类推。
图3为磁盘系统为空时冷热树示意图。冷热树为三层结构:第一层NULL是一个空节点,用来提供树结构的访问入口;第二层记录条带大小(相应条带空闲状态的数据磁盘数量,该层中节点种类的多少,与每个条带中空闲状态的数据磁盘个数的种类一致),图中的数字5表示存在5个数据磁盘在某地址均为空闲的状态,在该地址可以5个数据磁盘同时进行读写操作。例如图中5个数据磁盘在0地址处均可进行写操作;第三层记录相应条带空闲状态的数据磁盘的始末地址,并记录具体哪个数据磁盘为空闲状态,图中addr:0-END表示数据磁盘数量为5的条带的地址是从0地址到末尾地址。Disks:all表示组成该条带的数据磁盘是由所有数据磁盘组成的。
图4为存有3负载数据后冷热树的示意图。假设一开始冷热树状态是数据磁盘空间为空的图3,这时有3负载的数据需要存入,并且最终选用0地址的D0,D1,D2三个数据磁盘存储数据。此时将冷热树第二层的5节点的地址空间从0-END改为1-END,并且因为5-3=2,所以冷热树第二层新增节点2,0地址的空闲状态的数据磁盘的数量为2,并且地址空间记为0-0,disks为3,4,表示此时数据磁盘为空闲状态的磁盘为D3和D4,形成图4。
图5为本发明存储系统的架构图。传统的RAID架构中RAID模块的磁盘布局部分和磁盘数据异或计算部分全部由软件算法实现。本发明存储系统将磁盘布局部分用软件算法实现,数据磁盘的异或计算部分用FPGA的硬件实现。M个磁盘形成磁盘矩阵均插接在PC机上,在PC机内部加载本申请中的底层磁盘布局方式,PC机通过PCIE总线与FPGA进行数据的双向通信,FPGA对数据磁盘进行异或计算。
图6为负载变化为3,5,4时冷热树状态变化图。假设原来有3个数据磁盘(D0、D1、D2)在0地址存有数据,后来请求负载从需要3个数据磁盘同时开启,5个数据磁盘同时开启,4个数据磁盘同时开启,此时冷热树和磁盘空间变化如图6所示。
请求负载3表示此时需要有3个数据磁盘同时打开才能满足当前时间存储数据的需求。冷盘优先级:{3,4},{0,1,2}表示此时数据磁盘D3和数据磁盘D4优先级相同且处于第一梯度优先级数,数据磁盘D0、数据磁盘D1、数据磁盘D2优先级相同并且处于第二梯度优先级数。图中SS算法表示此时采用SS算法拆分条带。
由于原来有3个数据磁盘在0地址存有数据,所以D0、D1、D2磁盘和D5磁盘是处于开启状态的。这时候有请求负载为需要3个数据磁盘同时打开,由于冷热树中第二层节点只有2和5,所以采用SS算法拆分条带,此时D3,D4磁盘空闲地址相同并且比其他磁盘多,所以D3和D4磁盘处于第一梯度优先级。D0、D1、D2处于第二梯度优先级。此时发现D0、D1、D2磁盘处于开启状态(热盘)并且恰好满足此时请求负载为3的数据存储,所以依旧选择D0,D1,D2磁盘存储数据。冷热树结构中第三层由于拆分了5节点的地址,所以将该节点的地址变为2-END。增加了2节点的地址,所以该节点的地址变为0-1。请求负载为5和4的变化以此类推。
实验测试:
大规模存储系统通常都是由成百上千块磁盘组成,为了测试本申请方法的性能和节能效果,在Linux4.40内核下的MD(multiple device driver)模块下建立一个DSSH原型系统,该DSSH原型系统的磁盘矩阵中数据磁盘有5个,校验磁盘有1个。表1为服务器参数,表2为机械硬盘参数,表3为FPGA参数。
表1服务器参数
表2磁盘参数
表3 FPGA参数
写优化性能测试
本系统使用常用的NILFS(New Implementation of a Log-structured FileSystem)文件系统是一种基于日志格式的文件系统,该系统采用顺序写的方式写入数据时始终写在磁盘头部直到逻辑存储空间写满才回收已经删除的数据。这种文件系统适用于视频监控,归档备份等连续存储系统。
IOMeter是使用最广泛的测试IO子系统的工具,实验在90%连续数据和10%随机数据的负载下,使用IOMeter对DSSH系统进行写性能测试。作为对比,同时建立相同配置的S-RAID5,DPPDL,三种存储系统进行测试。
传输速率测试:
图7为三种算法进行传输速率对比图,图中横坐标为请求负载大小,纵坐标为传输速率,由图7可知当负载较小的时候由于SRAID5开启2块磁盘,并且地址映射算法简单,其传输速率最好。随着负载增大,DPPDL算法和DSSH算法传输速率逐步上升,很快超越SRAID算法。
当请求负载为16KB到512KB时,SRAID5传输速率比DPPDL和DSSH快这是因为SRAID5始终打开两块数据磁盘,当请求长度较小时,DPPDL和DSSH只需要打开一块磁盘即可,故SRAID5传输速率大于DPPDL和DSSH传输速率。当请求长度大于1024KB后,由于DSSH和DPPDL算法由于负载变大开启磁盘较多,所以传输速率大于SRAID5算法,而SRAID5由于始终打开两块磁盘,所以其传输速率保持不变。
CPU利用率测试:
图8中横坐标为请求负载大小,纵坐标为CPU利用率,由于DSSH方法将最消耗CPU资源的异或计算部分转移到FPGA中,本申请方法的CPU使用率最低,DPPDL方法的CPU使用率最高,并且随着条带长度的增加很快上升,之后保持稳定。
能耗测试:
现实生活中的负载是动态变化的,为此模拟负载随时间变化图如图9所示,图中横坐标为时间,一共24个小时,纵坐标为不同时间的负载,即该时刻需要传输的数据量。
图10为DSSH和SRAID 5算法能耗对比图,图中横坐标为运行时间,纵坐标为消耗的能量。在图9的系统负载下,SRAID5算法由于选取条带策略简单,并且其开启数据磁盘数固定,所以其能耗稳定。而DSSH方法合理的考虑了利用已经打开的数据磁盘,所以数据磁盘开启数量和系统负载呈正比例关系。
图11为DPPDL和SRAID 5算法能耗对比图,图中横坐标为运行时间,纵坐标为消耗的能量。在图9的系统负载下,DPPDL算法由于选取条带时比较随意,没有考虑尽量利用已打开的数据磁盘这一特点,所以造成在某些负载较为均衡的情况下,会出现突然增加能耗的情况。
综上可知,SRAID5算法由于选取条带策略简单,并且其开启磁盘数固定,所以其能耗稳定。DPPDL算法由于选取条带时比较随意,没有考虑尽量利用已打开的磁盘这一特点,所以造成在某些负载较为均衡的情况下,会出现突然增加能耗的情况。而本发明DSSH方法合理的考虑了利用已经打开的磁盘,相比DPPDL算法,其能耗随着负载的变化稳定的发生变化。
本发明仅限于以下实施例,凡利用本发明的设计思路,做一些简单的变化的设计都应进入本发明的保护范围之内。
本发明未述及之处适用于现有技术。
Claims (2)
1.一种软硬协同动态负载存储方法,该方法的步骤是:
第一步、底层磁盘布局,计算地址空间:
1-1假设存储系统中有M个磁盘,其中有1个校验盘,M-1个数据盘,根据磁盘空间的使用情况构建冷热树;
所述冷热树至少由三层构成,第一层NULL为提供树结构的访问入口的空节点;第二层记录相应条带空闲状态的数据磁盘数量,具有多种节点,第二层中节点种类的多少,与每个条带中空闲状态的数据磁盘个数的种类一致;第三层记录第二层每个节点所对应的地址空间及相应空闲状态的磁盘序号;
1-2已知当前已打开数据磁盘数、请求数据磁盘数、每个数据磁盘的空闲地址数、全部数据磁盘的空闲地址数,判断当前负载需要打开的数据磁盘数在冷热树第二层节点中是否存在相应的数字,如果存在则采用选择条带方式选择要使用的条带;否则跳转到步骤1-3;
所述选择条带的具体过程是:计算已打开的数据磁盘的冷盘优先级,计算完冷盘优先级后将满足情况的条带从头遍历,如果遇到冷盘优先级组合为100,则直接选择该条带,否则等全部计算完后选择优先级最高的条带;
1-3采用拆分条带方式拆分要使用的条带,拆分最大数据磁盘数的条带,得到全部数据磁盘的梯度优先级数,先把打开的数据磁盘全部选中,再把未打开的数据磁盘按磁盘梯度优先级数从高到低选择,直到满足此时需要打开的数据磁盘数量;
1-4如果冷热树中没有数据磁盘数为M-1的条带,则依次删除最原始存入的数据,回收数据磁盘空间;
第二步、搭建硬件架构,将磁盘矩阵与主机连接,主机再与FPGA通过PCIE总线进行双向通信,将第一步的底层布局方式嵌入在主机内,选择出需要打开的数据磁盘,然后采用FPGA进行异或计算,将需要进行异或计算的数据通过主机传给FPGA,计算完成后再由FPGA传回主机,这样就完成负载动态存储的全过程。
2.根据权利要求1所述的软硬协同动态负载存储方法,其特征在于所述优先级的计算方式是:首先用100除以请求数据磁盘数计算出平均优先级,然后根据式(2)计算出每个数据磁盘的优先级粒度,
优先级粒度=(该数据磁盘的空闲地址/全部数据磁盘的空闲地址)*平均优先级(2);
将有相同剩余地址空间的数据磁盘集合起来,分成若干组,按不同组的剩余地址空间不同进行从高到低排序,剩余地址空间最多的集合为第一梯度优先级数,剩余地址空间排名第n的集合称为第n梯度优先级数,此时第n梯度优先级数为已知值,判断请求数据磁盘数是否不大于第一梯度优先级数,若请求数据磁盘数不大于第一梯度优先级数,则按照公式(3)计算各梯度优先级:
第一梯度优先级=平均优先级
第二梯度优先级=平均优先级-第二梯度优先级粒度 (3);
若请求数据磁盘数大于第一梯度优先级数,则令请求数据磁盘数等于各梯度优先级数的加和,按照公式(4)计算各梯度优先级:
第一梯度优先级=平均优先级+第一梯度优先级粒度
…
第n-1梯度优先级=平均优先级+第n-1梯度优先级粒度
第n梯度优先级=(100-(第一梯度总优先级+...+第n梯度总优先级))/第n梯度优先级数
第n+1梯度优先级=第n梯度优先级-第n-1梯度优先级粒度
第n+2梯度优先级=第n+1梯度优先级-第n+2梯度优先级粒度
… (4)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810674769.XA CN108920101B (zh) | 2018-06-27 | 2018-06-27 | 一种软硬协同动态负载存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810674769.XA CN108920101B (zh) | 2018-06-27 | 2018-06-27 | 一种软硬协同动态负载存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108920101A CN108920101A (zh) | 2018-11-30 |
CN108920101B true CN108920101B (zh) | 2021-03-30 |
Family
ID=64422810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810674769.XA Expired - Fee Related CN108920101B (zh) | 2018-06-27 | 2018-06-27 | 一种软硬协同动态负载存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920101B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427537B (zh) * | 2020-03-17 | 2023-06-30 | 云南大学 | 一种基于fpga的脉动阵列并行排序方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609176B1 (en) * | 1999-12-27 | 2003-08-19 | Kabushiki Kaisha Toshiba | Disk control system and data rearrangement method |
CN1623136A (zh) * | 2002-01-09 | 2005-06-01 | 思科技术公司 | 通过虚拟包封在存储区域网络内实现存储虚拟化的方法和装置 |
CN104063184A (zh) * | 2013-03-19 | 2014-09-24 | 财团法人工业技术研究院 | 磁盘记录方法及其非易失性存储媒体与电子装置 |
CN107145307A (zh) * | 2017-04-27 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于分布式存储的动态元数据优化方法和系统 |
-
2018
- 2018-06-27 CN CN201810674769.XA patent/CN108920101B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609176B1 (en) * | 1999-12-27 | 2003-08-19 | Kabushiki Kaisha Toshiba | Disk control system and data rearrangement method |
CN1623136A (zh) * | 2002-01-09 | 2005-06-01 | 思科技术公司 | 通过虚拟包封在存储区域网络内实现存储虚拟化的方法和装置 |
CN104063184A (zh) * | 2013-03-19 | 2014-09-24 | 财团法人工业技术研究院 | 磁盘记录方法及其非易失性存储媒体与电子装置 |
CN107145307A (zh) * | 2017-04-27 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于分布式存储的动态元数据优化方法和系统 |
Non-Patent Citations (2)
Title |
---|
Big data management: concepts, technologies;Meng Xiaofeng,et al;《Journal of Computer Research and Development》;20130131;第146-169页 * |
Semi-RAID: A reliable energy-aware RAID data layout for data access;Li Xiao,et al;《2011 IEEE 27th Symposium on Mass Storage Systems and Technologies》;20111231;第1-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108920101A (zh) | 2018-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9229653B2 (en) | Write spike performance enhancement in hybrid storage systems | |
CN107168657B (zh) | 一种基于分布式块存储的虚拟磁盘分层缓存设计方法 | |
CN111158587B (zh) | 基于存储池虚拟化管理的分布式存储系统及数据读写方法 | |
CN101997918B (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
CN103246616B (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
US7321955B2 (en) | Control device, control method and storage medium recording a control program for controlling write-back schedule of data from cache memory to a plurality of storage devices | |
CN111427844B (zh) | 一种面向文件分级存储的数据迁移系统及方法 | |
CN102117248A (zh) | 一种缓存系统和在缓存系统中缓存数据的方法 | |
CN106066890B (zh) | 一种分布式高性能数据库一体机系统 | |
US10956069B2 (en) | Positional indexing for a tiered data storage system | |
CN104317742A (zh) | 一种优化空间管理的自动精简配置方法 | |
KR20140112717A (ko) | 키 값 기반 데이터 스토리지 시스템 및 이의 운용 방법 | |
CN102521419A (zh) | 分级存储的实现方法和系统 | |
CN103902475B (zh) | 一种基于队列管理机制的固态硬盘并行访问方法及装置 | |
CN107273200B (zh) | 一种针对异构存储的任务调度方法 | |
CN109800185A (zh) | 一种数据存储系统中的数据缓存方法 | |
CN102262512A (zh) | 一种实现磁盘阵列缓存分区管理的系统、装置及方法 | |
CN103647850A (zh) | 一种分布式版本控制系统的数据处理方法、设备及系统 | |
US6868438B2 (en) | Storage system, disk control cluster and a method of increasing of disk control cluster | |
CN108920101B (zh) | 一种软硬协同动态负载存储方法 | |
CN100527744C (zh) | 一种智能网络磁盘存储系统及其实现方法 | |
KR102471966B1 (ko) | 스토리지 노드 기반의 키-값 스토어를 이용하는 데이터 입출력 방법 | |
CN116074179B (zh) | 基于cpu-npu协同的高扩展节点系统及训练方法 | |
CN112506431A (zh) | 基于磁盘设备属性的i/o指令调度方法及装置 | |
CN110032338B (zh) | 一种面向纠删码的数据副本放置方法及系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210330 |