CN106534359B - 一种基于存储熵的存储负载均衡方法 - Google Patents

一种基于存储熵的存储负载均衡方法 Download PDF

Info

Publication number
CN106534359B
CN106534359B CN201611146671.4A CN201611146671A CN106534359B CN 106534359 B CN106534359 B CN 106534359B CN 201611146671 A CN201611146671 A CN 201611146671A CN 106534359 B CN106534359 B CN 106534359B
Authority
CN
China
Prior art keywords
node
storage
load
entropy
queue
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.)
Active
Application number
CN201611146671.4A
Other languages
English (en)
Other versions
CN106534359A (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.)
Chengdu Information Technology Co Ltd of CAS
Original Assignee
Chengdu Information Technology Co Ltd of CAS
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 Chengdu Information Technology Co Ltd of CAS filed Critical Chengdu Information Technology Co Ltd of CAS
Priority to CN201611146671.4A priority Critical patent/CN106534359B/zh
Publication of CN106534359A publication Critical patent/CN106534359A/zh
Application granted granted Critical
Publication of CN106534359B publication Critical patent/CN106534359B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于存储熵的存储负载均衡方法,计算分布式存储系统的存储熵值H,判断存储熵值H是否大于均衡阈值:如是,则判定系统存储负载为均衡;如否,则判断单节点的存储负载均衡程度,并按照均衡程度构建超载节点有序队列和空载节点有序队列,然后执行存储负载迁移操作。与现有技术相比,本发明的积极效果是:本发明的基于存储熵的负载均衡方法按照系统存储负载判定、单节点存储负载判定和存储负载迁移三个步骤调整分布式存储系统中各个存储节点间存储的数据量,以达到均衡存储负载的目的。这种追求全局均衡的机制可以有效控制各节点间的资源均衡程度,能够最大化的提高整个分布式存储系统的数据读写效率。

Description

一种基于存储熵的存储负载均衡方法
技术领域
本发明涉及一种基于存储熵的存储负载均衡方法。
背景技术
人类历史上从未有哪个时代像今天一样以如此快的速度产生如此多的数据,面对海量数据的存储和计算需求,通常采用分布式模型,这种模型可以通过横向扩展的方式,将待处理的数据存储到不同的节点上,其典型代表是Apache开源的Hadoop。
随着海量数据的不断增长,分布式存储系统往往通过横向扩展的方式,不断增加新节点,使其规模越来越大;同时,为了节省成本,整个集群中的存储节点大多采用可靠性较低的设备,这必然导致节点故障越来越频繁。这也给整个分布式存储集群带来了存储和计算资源的不确定性,这种情况给资源分配和任务调度带来了极大的挑战。因此如何解决分布式存储系统中资源均衡分布的问题,是当前分布式系统中的研究热点。一个好的负载均衡方案可以充分利用系统中的资源,避免出现性能瓶颈和资源的浪费,有效提高整个分布式存储系统的整体性能。
在分布式存储系统中,一般都是以磁盘空间利用率来判断各存储节点的负载均衡程度,当所有节点的磁盘空间利用率相等时,是整个分布式存储系统的存储负载均衡点。但是在实际的应用场景中,磁盘IO速率比较低的存储节点和可靠性比较低的存储节点往往成为影响整个存储系统数据读写性能的瓶颈,因此在异构分布式存储系统中,特别是各存储节点磁盘IO速率和可靠性差异较大的分布式存储系统中,如果仅仅以磁盘空间利用率作为存储负载均衡的判定条件,则其数据的读写效率必然受到限制。
发明内容
为了克服现有技术的上述缺点,本发明提供了一种基于存储熵的存储负载均衡方法。
本发明解决其技术问题所采用的技术方案是:一种基于存储熵的存储负载均衡方法,包括如下步骤:
步骤一、计算分布式存储系统的存储熵值H;
步骤二、判断存储熵值H是否大于均衡阈值:如是,则判定系统存储负载为均衡;如否,则判断单节点的存储负载均衡程度,并按照均衡程度构建超载节点有序队列和空载节点有序队列,然后执行存储负载迁移操作。
与现有技术相比,本发明的积极效果是:
本发明的基于存储熵的负载均衡方法按照系统存储负载判定、单节点存储负载判定和存储负载迁移三个步骤调整分布式存储系统中各个存储节点间存储的数据量,以达到均衡存储负载的目的。这种追求全局均衡的机制可以有效控制各节点间的资源均衡程度,能够最大化的提高整个分布式存储系统的数据读写效率。
在异构分布式存储系统中,特别是在各存储节点磁盘IO速率和可靠性差异较大(这是常态)的分布式存储系统中,基于存储熵的负载均衡方法与基于磁盘空间利用率的方法相比,在有效控制系统负载失衡的情况下,具有更好的数据读写效率。如果根据磁盘IO速率和可靠性,适当的调整新节点的磁盘容量,这样既可以保证整个分布式存储系统的读写效率,也能够充分利用磁盘空间资源。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的数据迁移流程图。
具体实施方式
1、名词约定
(1)数据总量DN:系统中所有节点存储的数据量累加数。设分布式系统中有n个节点,第i个节点的存储数据量为DNi,则该系统中的存储数据总量为:
(2)磁盘IO速率DR:磁盘平均读写速率。第i个节点中磁盘的读写速率为DRi,则磁盘平均读写速率为:
(3)节点可靠性Ri:第i个节点中磁盘能够正常运行的概率。
磁盘属于电子设备,其失效率符合“浴盆曲线”,考虑到磁盘的早期失效期比较短,为了简化计算,将其与恒定失效期合并,并通过公式3的方法近似计算。其中,Tlife表示磁盘寿命(一般为3万小时);Ti表示磁盘已经使用时间。
(4)节点读写时间DTi:第i个节点中磁盘可靠的情况下读写数据所需要的时间
(5)基于读写效率的节点负载率Li:第i个节点的数据读写时间在整个集群中的比重:
其中,DTmax表示节点不可靠情况下,读写数据所需要的时间。
2、存储熵定义
定义1:在分布式集群系统中,如果系统中有n个存储节点,则分布式系统的存储熵H定义为:
存储熵是熵理论在分布式存储系统中资源均衡领域的一种延展,其具有熵的一切性质,根据熵增原理和最大熵原理可以证明:存储熵的熵值总是从最不均衡状态的最小值H0,逐渐增加,直到完全均衡状态的最大值Hmax。通过计算存储熵的熵值,可以简单高效的度量分布式存储系统整体资源负载的均衡程度。
定理1:当时,存储熵H取得最大值,且Hmax=log2 n
证明:由公式4可知:
问题转变成求H的条件极值,因此构造拉格朗日函数:
分别对Li(i=1,2,…,n)求偏导,可以得到:
根据公式8可以获得拉格朗日函数的驻点L1=L2=……=Ln,并将其代入公式6,可以得到此时H取得最大值。根据公式5可以计算出Hmax=log2 n
证毕。
根据定义1和定理1可知,0=<H<=Hmax,因此可以通过存储熵H的大小来判断分布式存储系统中存储资源的均衡程度:当系统中的存储负载完全均衡时,存储熵的熵值最大;当存储负载不均衡时,存储熵的熵值会逐渐变小,甚至等于0。
3、基于存储熵的负载均衡方法
根据存储熵的定义,要计算其熵值H,需要求出所有节点负载率Li,而当节点已知的情况下,需要求出该节点的数据读写时间DTi和DTmax以及节点可靠性Ri。其中,DTi可以通过采集节点存储的数据量DNi和磁盘IO速率DRi来计算;DTmax可以通过人工设定的方式,比如令DTmax=3DTi或其他固定值;Ri可以根据磁盘已使用时间和磁盘的使用寿命来计算。因此,在存储熵的计算公式中,需要采集的数据包括每个节点存储的数据量DNi和磁盘的已使用时间Ti,其他数据都可以通过设备参数(如DRi和Tlife)或人工设定(如DTmax)来确定。
本文提出的基于存储熵的负载均衡方法就是根据存储熵的熵值,判断分布式存储系统中存储负载的均衡程度,当该熵值小于一定的阈值,则进行负载迁移。该方法包括三个组成部分:判断系统存储负载均衡程度,判断单节点存储负载均衡程度,执行存储负载迁移操作。
(1)系统存储负载判定
系统存储负载是否均衡的判定是本方法的关键环节,如果系统存储负载判定是均衡的,则无需进行后续的单点存储负载判定和存储负载迁移工作。由于执行一次存储负载迁移需要占用一定的计算资源和存储资源,并且系统开销比较大,为了避免频繁的进行存储负载迁移操作,所以方法中设置一个均衡阈值,只有当存储熵熵值H小于该阈值时,表明整个分布式存储系统中存储负载不均衡情况达到了相对严重的程度,需要进行存储负载迁移。
系统存储负载情况判定的过程包括:
①设定均衡因子α(0<α<1),可以据此得到均衡阈值Hα=αHmax
②收集每个节点存储的数据量DNi和磁盘已经使用时间Ti,并根据公式3-5计算出每个存储节点的存储负载率Li
③根据公式6计算出整个分布式存储系统的实际存储熵值H。
④判定系统存储负载是否均衡。如果H>=Hα,说明整个系统的存储负载均衡程度在可以忍受的范围内,不做调整;如果H<Hα,说明整个系统的存储负载需要进行存储迁移。
(2)单节点存储负载判定
如果整个分布式存储系统中存储资源的负载均衡情况不理想,需要进行存储负载迁移操作,那就需要计算出哪些存储节点是超负载,哪些存储节点是空负载,并按照其存储负载程度构建超载节点有序队列和空载节点有序队列。
单节点存储负载判定的过程包括:
①计算每个节点的存储负载率Li
②计算系统平均负载Lavg
③创建超载节点有序队列和空载节点有序队列。如果Li>Lavg,说明该存储节点超载,就将该存储节点按大根堆序插入到超载节点队列中;如果Li<Lavg,说明该存储节点空载,就将该存储节点按小根堆序插入到空载节点队列中。
(3)存储负载迁移
存储负载迁移的目的是将负载较多的存储节点上的数据迁移到负载较少的存储节点上,使得整个分布式存储系统整体达到存储资源的负载均衡。
存储负载迁移的具体过程包括:
①计算每一个超载存储节点需要迁移出的数据量:
②计算每一个空载节点需要迁移进的数据量:
③根据存储节点需要迁移的数据量,按序循环迁移数据,具体方法如图1所示:
1)如果超载队列不为空,则取超载队列根元素i,计算需要迁移出的数据量ΔNi,取空载队列根元素j,计算需要迁移进的数据量ΔNj
2)判断ΔNi是否大于ΔNj
如是,则将节点i上的ΔNj数据量迁移到节点j上,并令ΔNi=ΔNi-ΔNj,再将节点i重新插入到大根堆超载节点队列,对大根堆超载节点队列进行更新;如否,则将节点i上的ΔNi数据量迁移到节点j上,并令ΔNj=ΔNj-ΔNi,再将节点j重新插入到小根堆空载节点队列,对小根堆空载节点队列进行更新。

Claims (6)

1.一种基于存储熵的存储负载均衡方法,其特征在于:包括如下步骤:
步骤一、计算分布式存储系统的存储熵值H:
(1)按如下公式计算存储数据总量DN:
其中:n为分布式存储系统的节点个数,DNi为第i个节点的存储数据量;
(2)按如下公式计算磁盘平均读写速率DR:
其中:DRi为第i个节点中磁盘的读写速率;
(3)按如下公式计算第i个节点的可靠性Ri
其中:Tlife表示磁盘寿命,Ti表示磁盘已经使用时间;
(4)按如下公式计算节点读写时间DTi
(5)按如下公式计算基于读写效率的节点负载率Li
其中,DTmax表示节点不可靠情况下,读写数据所需要的时间;
(6)按如下公式计算存储熵H:
步骤二、判断存储熵值H是否大于均衡阈值:如是,则判定系统存储负载为均衡;如否,则判断单节点的存储负载均衡程度,并按照均衡程度构建超载节点有序队列和空载节点有序队列,然后执行存储负载迁移操作。
2.根据权利要求1所述的一种基于存储熵的存储负载均衡方法,其特征在于:步骤二所述构建超载节点有序队列和空载节点有序队列的方法如下:
(1)按如下公式计算系统平均负载Lavg
(2)判断节点i的存储负载率Li是否大于Lavg:如是,则判定该存储节点超载,将该存储节点按大根堆序插入到超载节点队列中;如否,则判定该存储节点空载,将该存储节点按小根堆序插入到空载节点队列中。
3.根据权利要求2所述的一种基于存储熵的存储负载均衡方法,其特征在于:步骤二所述存储负载迁移的方法为:如果超载队列不为空,则取超载队列根元素i,计算需要迁移出的数据量△Ni,取空载队列根元素j,计算需要迁移进的数据量△Nj,然后判断△Ni是否大于△Nj:如是,则将节点i上的△Nj数据量迁移到节点j上,并令△Ni=△Ni-△Nj,再将节点i重新插入到大根堆超载节点队列,对大根堆超载节点队列进行更新;如否,则将节点i上的△Ni数据量迁移到节点j上,并令△Nj=△Nj-△Ni,再将节点j重新插入到小根堆空载节点队列,对小根堆空载节点队列进行更新。
4.根据权利要求3所述的一种基于存储熵的存储负载均衡方法,其特征在于:按如下公式计算每一个超载存储节点需要迁移出的数据量:
5.根据权利要求3所述的一种基于存储熵的存储负载均衡方法,其特征在于:按如下公式计算每一个空载节点需要迁移进的数据量:
其中:Rj表示第j个节点的可靠性;Lj表示基于读写效率的节点负载率;DTj表示节点读写时间。
6.根据权利要求1所述的一种基于存储熵的存储负载均衡方法,其特征在于:所述均衡阈值的确定方法为:
(1)按如下公式计算最大存储熵值Hmax
Hmax=log2 n
(2)按如下公式计算均衡阈值Hα
Hα=αHmax
其中,α为一个大于零且小于1的均衡因子。
CN201611146671.4A 2016-12-13 2016-12-13 一种基于存储熵的存储负载均衡方法 Active CN106534359B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611146671.4A CN106534359B (zh) 2016-12-13 2016-12-13 一种基于存储熵的存储负载均衡方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611146671.4A CN106534359B (zh) 2016-12-13 2016-12-13 一种基于存储熵的存储负载均衡方法

Publications (2)

Publication Number Publication Date
CN106534359A CN106534359A (zh) 2017-03-22
CN106534359B true CN106534359B (zh) 2019-05-14

Family

ID=58342320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611146671.4A Active CN106534359B (zh) 2016-12-13 2016-12-13 一种基于存储熵的存储负载均衡方法

Country Status (1)

Country Link
CN (1) CN106534359B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284295B (zh) * 2018-10-17 2021-09-17 郑州云海信息技术有限公司 一种数据优化的方法及装置
CN109672625A (zh) * 2018-11-07 2019-04-23 中国科学院信息工程研究所 一种优化时延的低轨卫星馈电负载均衡方法及系统
CN109828718B (zh) * 2018-12-07 2022-03-18 中国联合网络通信集团有限公司 一种磁盘存储负载均衡方法及装置
CN109783235A (zh) * 2018-12-29 2019-05-21 西安交通大学 一种基于最大熵原理的负载均衡调度方法
CN110460663B (zh) * 2019-08-12 2022-09-20 深圳市网心科技有限公司 分布式节点间的数据分配方法、装置、服务器及存储介质
CN112380015A (zh) * 2020-11-24 2021-02-19 国网宁夏电力有限公司信息通信公司 一种基于分布式测量的电力物联网nfv分配算法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227645A (zh) * 2015-09-15 2016-01-06 齐鲁工业大学 一种云数据迁移方法
CN106095940A (zh) * 2016-06-14 2016-11-09 齐鲁工业大学 一种基于任务负载的数据迁移方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227645A (zh) * 2015-09-15 2016-01-06 齐鲁工业大学 一种云数据迁移方法
CN106095940A (zh) * 2016-06-14 2016-11-09 齐鲁工业大学 一种基于任务负载的数据迁移方法

Also Published As

Publication number Publication date
CN106534359A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106534359B (zh) 一种基于存储熵的存储负载均衡方法
US8533719B2 (en) Cache-aware thread scheduling in multi-threaded systems
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
EP3129880B1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
US9571567B2 (en) Methods and systems to manage computer resources in elastic multi-tenant cloud computing systems
US20150106582A1 (en) Apparatus and method for managing data in hybrid memory
CN110289994B (zh) 一种集群容量调整方法及装置
US9971698B2 (en) Using access-frequency hierarchy for selection of eviction destination
KR101886072B1 (ko) 분산 인 메모리 환경에서 실시간 스트림 데이터 처리를 위한 동적 잡 스케쥴링 시스템 및 방법
US10425470B1 (en) Shadowed throughput provisioning
CN103916438B (zh) 基于负载预测的云测试环境调度方法及其系统
CN108089918B (zh) 一种面向异构服务器结构的图计算负载均衡方法
CN106648456A (zh) 基于用户访问量以及预测机制的动态副本文件访问方法
US20120054762A1 (en) Scheduling apparatus and method for a multicore device
CN101819459B (zh) 一种基于异构对象存储系统的功耗控制方法
KR20170052441A (ko) 중앙 집중 분산 시스템 및 그것의 동작 방법
US10942850B2 (en) Performance telemetry aided processing scheme
Xue et al. Storage workload isolation via tier warming: How models can help
CN105045648A (zh) IaaS云环境下物理主机资源状态预测方法
US9213577B2 (en) Sustainable differentially reliable architecture for dark silicon
CN109725835A (zh) 用于管理盘阵列的方法、设备和计算机程序产品
Diao et al. Comparative studies of load balancing with control and optimization techniques
CN104391735B (zh) 虚拟化一体机集群中虚拟机调度方法及系统
KR101889657B1 (ko) 빅데이터 워크로드 처리를 위한 메모리 서브시스템 자원 관리 방법
KR102118799B1 (ko) 모바일 단말 장치 내의 프로세서의 전력을 관리하는 장치 및 방법

Legal Events

Date Code Title Description
C06 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