CN113407336B - 基于禁忌搜索优化算法的全比较数据分发方法 - Google Patents
基于禁忌搜索优化算法的全比较数据分发方法 Download PDFInfo
- Publication number
- CN113407336B CN113407336B CN202110530699.2A CN202110530699A CN113407336B CN 113407336 B CN113407336 B CN 113407336B CN 202110530699 A CN202110530699 A CN 202110530699A CN 113407336 B CN113407336 B CN 113407336B
- Authority
- CN
- China
- Prior art keywords
- full
- task
- comparison
- data distribution
- calculation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于禁忌搜索优化算法的全比较数据分发方法,针对现有的全量分发存在的存储空间浪费问题以及使用HDFS存储无法实现完全数据本地化问题,提出了基于禁忌搜索优化的全比较计算数据分发模型,针对该模型还设计了基于禁忌搜索优化的负载均衡全比较数据分发算法和基于禁忌搜索优化的最小化存储全比较数据分发算法用于计算本发明提出的全比较计算数据分发模型的负载均衡、存储节约能力、数据本地化率以及计算速并进行了仿真实验,实验结果表明该全比较计算数据分发模型有效解决了大规模ATAC的数据分发问题,提高了计算速度,对生物信息学等学科ATAC任务的计算将产生较好的推动效果。
Description
技术领域
本发明涉及分布式计算技术领域,具体涉及一种基于禁忌搜索优化算法的全比较数据分发方法。
背景技术
全比较(All-To-All Comparison,ATAC)是分布式计算中常见的一种计算模式,旨在通过分布式计算获取一组任务计算所得的解。任务具有原子性,不能拆分成更细粒度的任务。每个任务的计算需要两个不同的数据文件。ACTC关注于任务在分布式系统中的调度以及任务所需文件的分发。全比较计算频繁出现在众多学科领域,如生物信息学、自然语言处理、网络工程等。在生物信息学领域,典型的全比较计算应用如基因序列比对、组装和蛋白质序列比对时数据文件的分发。
在生物信息学邻域全比较计算数据分发工作的研究在此之前主要分为三类。分别是全量分发、使用Hadoop的分布式文件系统(Hadoop DistributedFile System,HDFS)进行存储以及基于全比较数据分发算法进行分发。
Fumihik等人在研究利用空闲GPU来加速生物序列比对时,将需要的比对的数据往每个计算节点上都发送一份。这种分发方式适合于数据量小的场景,当面对海量数据时,将造成严重的存储资源浪费。全量分发的方式没有专门的负载均衡调度器,使得任务的调度需要第三方框架的支持。
邹全等人在构建系统发育树时,使用了HDFS来进行分布式存储。HDFS默认采用副本数为3的分布式存储方案,这种存储方式能节约存储空间。能够随着节点数量的增加,不断提高存储节约率。HDFS存储有两个问题。一个是副本数为3的存储方案,不一定是最佳的,有时需要调整副本数量以适应任务的计算速度。官方没有给出调整方案,因此用户无法进行有效的调整。另一个问题是,节点数量通常是大于副本数的,无法实现完全数据本地化。HDFS是一个块存储的分布式存储系统,当文件小于块大小时将占用整个块,从而造成存储浪费。当文件大于块时,将被拆分成多个块进行存储。在这种情况下,同样无法实现数据文件的完全本地化。Eun-Kyu等人使用Lustre软件平台对HDFS进行了优化,消除了HDFS数据传输产生的开销,但还是存在数据不能完全本地化的问题。下表1中对现有的全比较数据分发算法的优点与不足做了分析。
为此,如何针对全量分发存在的存储空间浪费问题,以及使用HDFS存储无法实现完全数据本地化问题提出一种全比较数据分发方法是目前亟待解决的问题。
发明内容
针对上述存在的问题,本发明旨在提供一种基于禁忌搜索优化算法的全比较数据分发方法,提出了基于禁忌搜索优化的全比较计算数据分发模型(Data Distributionmodel ofAll-to-All comparison computation Based on Tabu Search optimization,DDBTS),并设计了基于禁忌搜索优化实现负载均衡的全比较数据分发算法(All-to-allComparison Data Distribution for Load Balancing Based on Tabu Searchoptimization,DDLBBTS)和基于禁忌搜索优化实现最小化存储的全比较数据分发算法(All-to-all Comparison Data Distribution for Minimum Storage Based on TabuSearch optimization,DDMSBTS),从而能高效地计算出DDBTS模型的负载均衡、存储节约能力、数据本地化率以及计算速度。
为了实现上述目的,本发明所采用的技术方案如下:
基于禁忌搜索优化算法的全比较数据分发方法,其特征在于,包括以下步骤:
步骤1:采集待测序生物序列的原始数据;
步骤2:建立全比较计算数据分发模型;
步骤3:将采集到的m个生物序列数据文件输入到构建好的全比较计算数据分发模型中;
步骤4:通过基于禁忌搜索优化实现负载均衡的全比较数据分发算法求解全比较计算负载均衡模型,得到满足负载均衡状态的全比较计算的文件分发策略和任务调度策略;
步骤5:通过基于禁忌搜索优化实现最优化存储的全比较数据分发算法求解同时满足负载均衡和最小化存储的全比较计算数据分发模型,得到同时满足负载均衡和最小化存储状态的全比较计算的文件分发策略和任务调度策略;
步骤6:根据得到的全比较计算任务调度策略和最优化存储数据文件分发策略完成生物序列比对,得到生物序列比对结果。
进一步地,步骤2的具体操作步骤为:
步骤21:使用具有n个节点的分布式系统来计算任意两个文件的相似度,将全比较计算的形式化表述为:
Mi,j={C(i,j)|i<j,i∈[1,m-1],j∈[2,m]} (1),
其中,m为数据文件个数,Mi,j为任务C(i,j)的计算结果,i和j是文件编号,所有的Mi,j组成了全比较计算的解;
步骤22:构建m个序列数据文件在由n个节点组成的同构分布式系统中进行比对的全比较计算负载均衡模型,且该模型的表达式为:
步骤23:为确保每个节点所承担的任务量都不超过最大计算量Nmax,得到存储优化过程的目标函数为:
步骤24:基于公式(10)和公式(12)得到m个序列数据文件在由n个节点组成的同构分布式系统中进行全比较计算,同时满足负载均衡和最小化存储的数据分发模型为:
进一步地,步骤22所述的全比较计算负载均衡模型构建步骤为:
步骤221:基于输入的m个基因序列文件S={s1,s2,…,sm},将此m个基因序列文件在分布式系统中进行两两文件的比对时的比对总任务数记为k,则根据组合数计算公式可得:
步骤222:令ct表示由文件i与文件j组成的任务t的任务量,且第i个文件的大小为si,则可得:
ct=si+sj,t={1,2,…,k},i<j,i=1,2,...m-1,j=2,3,...,m (3);
步骤224:将节点p所需承担的计算量wp形式化描述为:
步骤225:利用公式(2)和公式(3)以及节点个数n来得到本次全比较计算时,分布式系统中的节点平均计算量wavg,其计算公式为:
步骤226:通过累加wp与wavg差值的绝对值来表征负载均衡状态,当完全负载均衡时,该绝对值为0,不断缩小该绝对值来进行寻优,并得出负载均衡模型目标函数的形式化描述为:
步骤227:考虑硬盘资源,让所有节点都能存储全部的数据文件,令同构分布式系统中节点的硬盘剩余容量为U,则负载均衡模型的存储约束可形式化描述为:
步骤228:根据公式(4)和公式(6)-公式(9)得出m个序列数据文件在由n个节点组成的同构分布式系统中的全比较计算负载均衡模型。
进一步地,步骤23中所述的最大计算量Nmax的计算公式为:
进一步地,步骤4中所述的基于禁忌搜索优化实现负载均衡的全比较数据分发算法的具体操作步骤为:
步骤41:根据公式(9)对输入的序列文件大小列表和节点剩余存储容量进行计算,确保各个节点分发到各节点的文件大小在节点的存储能力范围内,利用公式(3)构建任务矩阵tasks,并计算任务个数tc;
步骤44:当节点数小于最大迭代次数时,遍历任务矩阵,从负载超标的节点上选取一个任务调度到负载过少的节点上进行计算,当计算的负载超标节点数量为0时则终止寻优迭代并输出当前最优状态对应的编码bestsofarlb;否则构建一个待选择任务的集合X并找出所有负载过少的节点集合Y,从X取出一个任务xi调度到Y中的节点yi上,组成邻域结构A;
步骤46:判断是否优于当前的bestsofarlb,若优于则直接更新tabu1、bestsofarlb等参数,否则根据Cabest对tabu1中的禁忌对象进行特赦,找出优于禁忌对象的候选解对应的编码作为下一次迭代的并对tabu1等参数进行更新,直至迭代结束。
进一步地,步骤5中所述的基于禁忌搜索优化的最小化存储全比较数据分发算法的具体操作步骤为:
步骤51:对输入的序列文件列表进行解析,得到序列文件个数m;
步骤52:根据公式(3)构建任务矩阵tasks并计算任务个数tc;
步骤56:判断和上一次迭代过程中求得的所需存储空间Rms大小,若小于Rms则更新Rms并将和bestsofarms均更新为中的编码状态;同时更新tabu2中的元素,所有禁忌长度L2大于0的禁忌对象的长度减1,否则取Cabest中不在禁忌表中的首个元素作为禁忌对象将对应的编码设为并更新tabu2;
步骤57:将历代最小存储空间记到中,当达到预设的最大迭代次数时,从tabu2找出值为Rms所在的下标,记为index,若index中的元素个数小于的1/10,则追加100次迭代,否则更新当前迭代变量p和用于实现对最大迭代次数的动态调整。
本发明的有益效果是:
第一,通过本发明提出DDBTS模型,得出的任务调度方案能够让分布式系统实现负载均衡,并通过存储优化实验证明了DDBTS模型中存储优化过程的有效性,其在在大任务数与大节点数情况下,存储优化效果稳定,DDBTS模型有效解决了大规模ATAC的数据分发问题,如基因序列比对,提高了计算速度,对生物信息学等学科ATAC任务的计算将产生较好的推动效果。
第二,本发明为求解DDBTS模型还提出了基于禁忌搜索优化的负载均衡全比较数据分发算法(DDLBBTS),其对传统的禁忌搜索算法的算子进行了定制化实现,提出了新的邻域调度规则,当文件大小完全相同且任务能够被均匀分发到节点时,只需为每个节点指派等量的任务即可让分布式系统实现完全负载均衡状态。
第三,本发明还提出了基于禁忌搜索优化的最小化存储全比较数据分发算法(DDMSBTS),其在迭代过程中,使用异节点任务互换的方法构建邻域结构,通过与适配值函数进行配置求出满足负载约束邻域解与并得到最优存储候选解。根据最优存储藐视准则更新相关变量。在迭代寻优的最后使用自适应迭代次数调整算法的迭代次数,使得最优解在收敛时具有较好的稳定性。
附图说明
图1为本发明提出方法的流程图;
图2为本发明的存储优化效果;
图3为实施例中的全比较数据分发模型的负载均衡情况;
图4为不同数据分发算法的存储节约率结果;
图5为不同数据分发算法的数据本地化结果;
图6为在大规模数据实验中DDBTS模型的负载均衡状况;
图7为大规模数据实验中各组实验的存储节约率对比结果。
具体实施方式
为了使本领域的普通技术人员能更好的理解本发明的技术方案,下面结合附图和实施例对本发明的技术方案做进一步的描述。
1、构建全比较计算数据分发模型
(1)DDBTS的形式化描述
现有m个数据文件,文件大小完全相等或近似相等。使用具有n个节点的分布式系统来计算任意两个文件的相似度。则全比较计算的形式化表述如公式(1)所示:
Mi,j={C(i,j)|i<j,i∈[1,m-1],j∈[2,m]} (1),
其中,Mi,j为任务C(i,j)的计算结果,i与j是文件编号,所有的Mi,j组成了全比较计算的解。
在构建全比较数据分发模型之前,先提出两个基本假设:
假设1:全比较计算任务的执行环境为同构分布式系统。本发明研究的是在同构分布式系统中下进行的全比较计算数据分发方案,节点具有相同的计算速度与存储能力。
假设2:数据文件大小完全相等或近似相等。全比较计算涉及的数据文件的存储单位均为MB,文件大小数值差异不超过2。
(2)负载均衡计算
有一组基因序列文件S={s1,s2,…,sm},S中的m个文件的大小近似相等。现要将这m个基因序列文件在分布式系统中进行两两文件的比对,令比对的总任务数为k,根据组合数计算公式可得k的数学表达形式如公式(2)所示:
某个序列比对任务的任务量和参与比对的数据文件大小成正比。令ct表示由文件i与文件j组成的任务t的任务量,第i个文件的大小用si来表示。则ct为:
ct=si+sj,t={1,2,…,k},i<j,i=1,2,...m-1,j=2,3,...,m (3),
要求得全比较计算在分布式系统下负载均衡的数据分发方案,要先得到节点p的所需承担的计算量wp,wp的形式化描述如公式(6)所示
使用wavg来表示在进行本次全比较计算时,分布式系统中的节点平均计算量。由于wp是在寻优的过程中动态生成的,因此不能通过公式(6)来进行求解。但是能够通过式(2)与式(3)以及节点个数n来获取wavg。其计算公式为:
负载均衡状态能通过累加wp与wavg差值的绝对值来表征。完全负载均衡时,该绝对值为0。但初始值一般是大于零的值,寻优过程实质上是不断缩小这个绝对值,使得这个绝对值的右极限为0。由公式(2)、(6)、(7)能求出负载均衡模型目标函数的形式化描述为:
硬盘资源是计算机的重要资源之一,是DDBTS模型中必须要考虑的一个因素。为了保证全比较计算的性能,需要让所有节点都能存储全部的数据文件。令同构分布式系统中节点的硬盘剩余容量为U,则负载均衡模型的存储约束能够形式化地描述为:
从公式(2)到公式(9)能得出m个序列数据文件在由n个节点组成的同构分布式系统中的全比较计算负载均衡模型为:
根据负载均衡模型,能求出在分布式系统下进行全比较计算的任务调度方案。将任务调度方案与任务列表进行联合解析,可得到全比较计算的数据分发方案。负载均衡模型求得的数据分发方案只能满足全比较计算的计算量负载均衡目标。
(3)存储优化
在公式(10)的基础上可以进行存储优化。首先,通过公式(10)求得的任务调度方案可以计算出全部节点的计算量,将节点的最大计算量记为Nmax。其次,在存储优化过程中,要保证每个节点所承担的任务量都不超过Nmax,即:
综上所述,在n个节点的分布式系统下进行m个文件的全比较计算,同时满足负载均衡和最小化存储的全比较计算数据分发模型为:
通过对公式(13)进行求解,即可得到计算量负载均衡的全比较计算任务调度方案和实现分布式系统下的最优化存储数据文件分发方案。
2、模型算法实现
DDBTS模型分为两个阶段进行计算:第一阶段根据公式(10)求出满足负载均衡状态的数据分发策略,得到对应的任务调度方案和文件分发方案;第二阶段根据公式(13)求得基于禁忌搜索优化的全比较计算数据分发策略,该策略包含满足负载均衡情况的任务调度方案和满足最优化存储情况的文件分发方案。最终得到的任务调度方案和数据分发方案共同组成全比较数据分发策略,该策略满足负载均衡、最小化存储和数据完全本地化。
(1)第一阶段:DDLBBTS算法,其采用n进制编码、正向任务调度等定制化规则与公式(10)进行融合,具体包括以下步骤:
步骤1:根据公式(9)分别求得每个节点上的文件大小之和,判断其是否小于节点能提供的最大存储空间,确保各个节点分发到各节点的文件大小在节点的存储能力范围内,利用公式(3)构建任务矩阵tasks,并计算任务个数tc;
步骤2:初始化参数:将DDLBBTS算法涉及的参数进行初始化赋值,初值如表2所示。
表2 DDLBBTS算法参数设置
表2中的tc为任务数量,n为节点数量。
步骤3:n进制编码
DDLBBTS算法的编码方案采用n进制编码,n为节点数量,编码长度表征任务个数。在DDLBBTS算法中,n进制编码的现实意义为某个任务应该被分派到某一个节点上。
步骤4:负载偏离程度计算函数
DDLBBTS算法的适配值函数f1须满足公式(10)中的目标函数,即求出编码方案对应的负载均衡偏离程度loadtotal。在求解过程中,能够得到每个节点的计算量负载情况,用loadi表示节点i的计算量负载情况。loadi的取值覆盖整个实数域,大于0时表示节点负载超标,小于0表示节点负载过少,节点的计算量负载等于计算量负载的均值时loadi为0。使用offset存储所有的loadi并将loadtotal和offset作为f1的返回值,称该适配值函数称为负载偏离程度计算函数。
步骤5:正向任务调度规则
禁忌搜索算法是Glover教授于1986年提出来的,显著的优点之一是能基于禁忌表实现记忆式搜索。其涉及到的算子包括:适应度方程、编码方案、邻域结构、邻域长度、候选解、禁忌表、禁忌长度和藐视准则。由于禁忌搜索算法具有快速收敛的特性而用其与全比较计算数据分发模型进行融合。
邻域结构是禁忌搜索算法中的一个关键算子,常用的邻域结构设计方法包括互换、插值、逆序等。这些常用的邻域设计方法通常需要随机选取编码的位置,而随机选取编码的位置在DDLBBTS算法中是不适用的。故而本发明提出使用正向任务调度规则作为DDLBBTS算法的邻域结构。
其核心思想为:找出待分配的任务和待指派的节点,并将任务随机分派到待指派的节点上。从负载超标的节点上选取一个任务调度到负载过少的节点上进行计算。
使用正向任务调度规则进行邻域结构设计,能够动态调整节点之间的负载,让节点的计算量负载朝着均分的方向优化。在定位负载超标节点时,如果出现了负载超标节点数量为0的情况,则说明当前的编码方案是最优状态,应立即终止寻优迭代并将当前最优状态对应的编码bestsofarlb输出。否则,构建一个待选择任务的集合X并找出所有负载过少的节点集合Y。从X取出一个任务xi调度到Y中的节点yi上,组成DDLBBTS算法的邻域结构A。
步骤6:负载均衡邻域解与候选解
邻域解集合的长度LCa使用进行约束。如果邻域长度超出则用进行边界值吸收。候选解集合Cabest使用矩阵进行存储,存储的内容包括候选解编号,loadtotal和offset。对Cabest的loadtotal进行升序排序,排序后的第一个候选解即为本次迭代最好的情况。
步骤7:负载均衡藐视准则
如果优于bestsofarlb,则直接更新tabu1、bestsofarlb等参数。否则根据Cabest对tabu1中的禁忌对象进行特赦,找出优于禁忌对象的候选解对应的编码作为下一次迭代的并对tabu1等参数进行更新。在完成藐视准则计算后,更新迭代次数进行下一次迭代。
上述的DDLBBTS算法的代码设计如表3所示,从表3中可以看出,第5-11行对全比较数据分发的一种特殊情况进行了优化。当文件大小完全相同且任务能够被均匀分发到节点时,只需为每个节点指派等量的任务即可让分布式系统实现完全负载均衡状态。第16-32行是正向任务调度规则的实现。第33行通过对邻域解的负载偏离程度进行升序排序得到Cabest。第34-42行是负载均衡藐视准则的实现。
表3基于禁忌搜索优化的负载均衡全比较数据分发算法
(2)第二阶段:DDMSBTS算法,其具体包括如下步骤:
步骤1:对输入的序列文件列表进行解析,得到序列文件个数m;并根据公式(3)构建任务矩阵tasks并计算任务个数tc;
步骤2:初始化参数:初始化相关参数,初值赋值如表4所示。DDMSBTS算法的编码初始值是DDLBBTS算法中的最优编码状态bestsofarlb,函数被调用时作为输入参数传入。其中,tabu2的初始值是一个tc′tc的全0矩阵。
表4 DDMSBTS算法参数设置
步骤3:存储优化适配值函数
DDMSBTS算法的适配值函数f2旨在根据公式(12)求出分布式系统所需提供的存储空间,同时得到公式(11)左边表示的所有节点计算量负载nodeLoads并求出最大的节点计算量负载nodeLoadmax。为了保证在寻优过程中负载均衡情况不变坏,全部节点计算量负载的极差不能超过任务列表中的最大任务量taskmax,否则要对当前编码方案对应的nodeLoadmax进行惩罚。上述描述能够形式化表示为:
步骤4:异节点任务互换
由公式(1)可知全比较计算的任务需要两个不同的文件,在一次全比较计算中,任务具有原子性和唯一性。因此,通过交换不同节点上的两个任务能够对节点上的文件分发方案进行扰动。不断选择存储空间减小的编码方案,从而达到寻优目标。基于以上思想,能够得到一个邻域结构B。
步骤5:负载约束邻域解与最优存储候选解
根据公式(13)可知DDMSBTS算法的可行解需要满足负载约束,故每次通过f2求出适配值时,需要对负载约束进行检验。如果不满足负载约束将所需的存储空间大小设置为正无穷大。取邻域解个数的一半作为候选解集合的长度,并将所有候选解进行升序排序。由于优化目标是最小化存储空间,则候选解集合Cabest中的首个元素即为当前迭代的最优解,记为
步骤6:最优存储藐视准则
如果比上一次迭代过程中求得的所需存储空间Rms小,则更新Rms,并将和bestsofarms均更新为中的编码状态。tabu2中的元素也要进行更新,所有禁忌长度大于0的禁忌对象的长度减1,本次交换的两个任务对应的位置设置禁忌长度为L2。若不满足最优存储藐视准则,则使用特赦准则进行更新。取Cabest中不在禁忌表中的首个元素作为禁忌对象将对应的编码设为并更新tabu2。
步骤7:自适应迭代次数
考虑到最优解的收敛性,故而对最大迭代次数采用动态调整策略。在DDMSBTS算法中,将历代的最小存储空间记到中。当到达最大迭代次数时,从tabu2找出值为Rms所在的下标,记为index。如果index中元素的个数小于的1/10,则追加100次迭代,否则更新当前迭代变量p和
上述的DDMSBTS算法的代码设计如表5所示,从表5中可以看出,其第1-6行完成了参数初始化工作,第7行-45行进行迭代寻优工作。在迭代过程中,使用异节点任务互换的方法构建邻域结构,通过与适配值函数进行配置求出满足负载约束邻域解与并得到最优存储候选解。根据最优存储藐视准则更新bestsofarms和等变量。在迭代寻优的最后使用自适应迭代次数调整算法的迭代次数,使得最优解在收敛时具有较好的稳定性。
表5基于禁忌搜索优化的最小化存储全比较数据分发算法
实施例:
为了验证本发明所提出的全比较计算数据分发模型效果,利用从NCBI下载的基因序列数据,基于Matlab对全比较计算数据分发模型进行实现,并完成评价指标验证和对比实验。
1、实验环境配置
本实验的环境不仅能支撑本文提出的数据分发算法的运行,同时支持运行现有的主流数据分发算法运行,便于实验对比。实验配置情况如表6所示。实验数据选用从NCBI下载的基因序列数据,数据扩充采用文件切分的方式进行。
表6实验环境
2、评价指标
在VMWare上构建Hadoop平台,使用Java编写全比较计算模拟程序对基因序列数据文件进行分发,以及调度全比较任务进行实验。
对DDBTS模型进行求解,能够得到一套分布式系统下的任务调度方案和数据分发方案。利用负载均衡程度、存储节约率、数据本地化率和模型计算时间作为评价指标。且根据任务调度方案能分析出分布式系统下全比较计算的负载均衡程度,对数据分发方案按节点进行存储空间统计并结合全量分发的存储使用情况能得出分布式系统下全比较计算的存储节约率。对各个节点完成指定计算任务所需的数据分发情况和对应节点上的数据分发方案进行计算,能算出数据分发策略在分布式系统下的数据本地化率。对DDBTS模型中两个算法的执行时间进行记录,即可得到模型的计算时间。
(1)负载均衡程度:对节点i的任务量进行统计可得li,所有的li组成集合L。由任务列表可得最大的任务量为tmax。若L中的元素完全相等,则当前全比较数据任务调度方案实现了完全负载均衡。若L中的元素不完全相等,但L中的最大值和最小值之差未超过tmax,称这种状态是近似负载均衡状态。其它情况均为非负载均衡状态。
(2)存储节约率:存储节约率是DDBTS模型重要评价指标之一,也是DDMSBTS算法的优化目标。将全量分发情况下分布式系统所需提供的存储空间作为分母,分子为DDBTS模型计算所得的数据分发方案对应的存储空间。这个分数能够表征分布式系统的存储空间利用率,故存储节约率为1减去存储空间利用率。
(3)数据本地化率:若计算节点执行全部比较任务所需的文件都在某个节点上,则该节点的数据本地化率为1,对应的状态称为完全数据本地化。否则,取在该节点上有效文件的总大小与所需文件的总大小的比值来描述计算节点的数据本地化率。
(4)计算时间:计算时间表示全比较数据分发策略的求解时间,在DDBTS模型中,该评价指标主要包括DDLBBTS算法和DDMSBTS算法的执行时间,由驱动模块进行统计。
3、存储优化实验
随机选取一组文件大小近似相等的基因序列文件,分布式集群的规模分别选取5个计算节点或4个计算节点。详细的输入数据如表7所示。
表7存储优化实验输入数据
为了验证存储优化的效果,我们对各个方案进行了10次实验。实验结果如图2所示,DDBTS模型在存储优化之后能够达到较好的优化效果,存储节约率有较为明显的改善。从图中可以看出,第一组实验表现得尤为明显,DDLBBTS算法输出的文件分发方案对应的存储节约率仅为10%,由DDMSBTS算法获得的文件分发方案对应的存储节约率达到了34%-38%。存储优化实验的实验结果表明,在DDBTS模型中,DDMSBTS算法具有显著的存储优化效果。
4、性能验证实验
在这个实验中,对DDBTS模型进行了若干次实验。其中的一组实验数据及相关描述如表8所示。
表8实验数据
根据表8对DDBTS模型进行多次实验,求出各组实验方案对应的全比较计算的任务调度方案与文件分发方案。随机选取一次实验的结果,如表9所示。
表9任务调度与文件分发情况
下面分别从负载均衡、存储节约率与数据本地化率和计算时间上对性能进行验证。
(1)负载均衡
将上表8中的实验数据放入基于禁忌搜索优化实现的全比较数据分发模型,得到模型的负载均衡情况如图3所示。各组实验的负载均衡情况,与基于分支定界法求解的全比较数据分发模型和基于粒子群优化的全比较数据分发模型的负载均衡情况表现基本一致。即当文件大小完全相同且比较任务数能被节点数整除时,分布式集群中各个节点的负载量能够实现完全均衡。其余情况下,均能让分布式集群中的各个节点实现近似负载均衡状态。
(2)存储节约率与数据本地化率
为了对比现有的数据分发算法在存储节约率和数据本地化率上的性能差异,我们得到了如附图4所示的存储节约情况和附图5所示的数据本地化情况。由附图4可知,基于禁忌搜索优化的全比较数据分发模型获得的数据分发方案能够有效地降低分布式集群中节点的存储空间使用。在实验2和实验4中,基于禁忌搜索优化的全比较数据分发模型的存储节约率均优于基于Hadoop进行数据分发的方式和基于分支定界法求解的数据分发算法。在实验1和实验3中,基于禁忌搜索优化的全比较数据分发模型的存储节约情况比基于Hadoop进行数据分发的方式要略差。
根据附图5可知,尽管在存储节约情况方面基于Hadoop的数据分发方式能够实现较优于基于禁忌搜索优化的全比较数据分发模型,但是基于Hadoop数据分发方式的数据本地化情况较差。在进行全比较计算的过程中,需要从其它节点或数据中心获取文件,极有可能造成网络拥堵。
(3)计算时间
通过记录每组实验的计算时间,我们得到了如表10所示的三种数据分发算法的执行时间。显然,基于禁忌搜索优化的相关数据分发算法在各个实验方案的计算速度上都是最快的。尽管在图4中,基于禁忌搜索优化的全比较数据分发模型的存储节约率不如基于分支定界法的数据分发算法和基于粒子群优化的数据分发算法,但其计算速度远比这两种算法快,更适合于实际的工程应用场景。
表10不同数据分发算法的计算时间
5、大规模数据实验
该实验用于验证DDBTS模型面对大规模任务数与大节点数时的性能表现情况。针对任务数是否能够被节点数均分,我们设计了四组实验。与上述性能实验不同,此处增加了进行全比较计算的节点,同时也增加了全比较计算涉及的文件数量。相关实验数据如表11所示。
表11大规模数据实验实验数据
对表11中的各组实验分别进行了10次实验,在大规模数据实验中,DDBTS模型的负载均衡状况如附图6所示,均达到了完全负载均衡状态或近似负载均衡状态。
如附图7所示,各组实验的存储优化状态,在进行存储优化前,各组实验的存储节约率均未超过20%。进行存储优化后,各组实验的存储节约率均达到了40%-50%。与附图2所示的小任务量与小节点数实验的存储节约情况进行比较可知,大任务数与大节点数实验的存储节约情况更加稳定,存储节约率也有所提高。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1.基于禁忌搜索优化算法的全比较数据分发方法,其特征在于,包括以下步骤:
步骤1:采集待测序生物序列的原始数据;
步骤2:建立全比较计算数据分发模型;具体操作步骤为:
步骤21:使用具有n个节点的分布式系统来计算任意两个文件的相似度,将全比较计算的形式化表述为:
Mi,j={C(i,j)|i<j,i∈[1,m-1],j∈[2,m]} (1),
其中,m为数据文件个数,Mi,j为任务C(i,j)的计算结果,i和j是文件编号,所有的Mi,j组成了全比较计算的解;
步骤22:构建m个序列数据文件在由n个节点组成的同构分布式系统中进行比对的全比较计算负载均衡模型,且该模型的表达式为:
步骤22所述的全比较计算负载均衡模型构建步骤为:
步骤221:基于输入的m个基因序列文件S={s1,s2,…,sm},将此m个基因序列文件在分布式系统中进行两两文件的比对时的比对总任务数记为k,则根据组合数计算公式可得:
步骤222:令ct表示由文件i与文件j组成的任务t的任务量,且第i个文件的大小为si,则可得:
ct=si+sj,t={1,2,…,k},i<j,i=1,2,…m-1,j=2,3,…,m (3);
步骤224:将节点p所需承担的计算量wp形式化描述为:
步骤225:利用公式(2)和公式(3)以及节点个数n来得到本次全比较计算时,分布式系统中的节点平均计算量wavg,其计算公式为:
步骤226:通过累加wp与wavg差值的绝对值来表征负载均衡状态,当完全负载均衡时,该绝对值为0,不断缩小该绝对值来进行寻优,并得出负载均衡模型目标函数的形式化描述为:
步骤227:考虑硬盘资源,让所有节点都能存储全部的数据文件,令同构分布式系统中节点的硬盘剩余容量为U,则负载均衡模型的存储约束可形式化描述为:
步骤228:根据公式(2)-公式(4)和公式(6)-公式(9)得出m个序列数据文件在由n个节点组成的同构分布式系统中的全比较计算负载均衡模型;
步骤23:为确保每个节点所承担的任务量都不超过最大计算量Nmax,得到存储优化过程的目标函数为:
步骤23中所述的最大计算量Nmax的计算公式为:
步骤24:基于公式(2)-公式(4)和公式(6)-公式(9)得到m个序列数据文件在由n个节点组成的同构分布式系统中进行全比较计算,同时满足负载均衡和最小化存储的全比较计算数据分发模型为:
步骤3:将采集到的m个生物序列数据文件输入到构建好的全比较计算数据分发模型中;
步骤4:通过使用基于禁忌搜索优化实现负载均衡的全比较数据分发算法求解全比较计算负载均衡模型,得到满足负载均衡状态的全比较计算的文件分发策略和任务调度策略;步骤4中所述的基于禁忌搜索优化实现负载均衡的全比较数据分发算法的具体操作步骤为:
步骤41:根据公式(9)对输入的序列文件大小列表和节点剩余存储容量进行计算,确保各个节点分发到各节点的文件大小在节点的存储能力范围内,利用公式(3)构建任务矩阵tasks,并计算任务个数tc;
步骤44:当节点数小于最大迭代次数时,遍历任务矩阵,从负载超标的节点上选取一个任务调度到负载过少的节点上进行计算,当计算的负载超标节点数量为0时则终止寻优迭代并输出当前最优状态对应的编码bestsofarlb;否则构建一个待选择任务的集合X并找出所有负载过少的节点集合Y,从X取出一个任务xi调度到Y中的节点yi上,组成邻域结构A;
步骤46:判断是否优于当前的bestsofarlb,若优于则直接更新tabu1、bestsofarlb等参数,否则根据Cabest对tabu1中的禁忌对象进行特赦,找出优于禁忌对象的候选解对应的编码作为下一次迭代的并对tabu1等参数进行更新,直至迭代结束;
步骤5:通过基于禁忌搜索优化实现最优化存储的全比较数据分发算法求解同时满足负载均衡和最小化存储的全比较计算数据分发模型,得到同时满足负载均衡和最小化存储状态的全比较计算的文件分发策略和任务调度策略;
步骤6:根据得到的全比较计算任务调度策略和最优化存储数据文件分发策略完成生物序列比对,得到生物序列比对结果。
2.根据权利要求1所述的基于禁忌搜索优化算法的全比较数据分发方法,其特征在于,步骤5中所述的基于禁忌搜索优化的最小化存储全比较数据分发算法的具体操作步骤为:
步骤51:对输入的序列文件列表进行解析,得到序列文件个数m;
步骤52:根据公式(3)构建任务矩阵tasks并计算任务个数tc;
步骤56:判断和上一次迭代过程中求得的所需存储空间Rms大小,若小于Rms则更新Rms并将和bestsofarms均更新为中的编码状态;同时更新tabu2中的元素,所有禁忌长度L2大于0的禁忌对象的长度减1,否则取Cabest中不在禁忌表中的首个元素作为禁忌对象将对应的编码设为并更新tabu2;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110530699.2A CN113407336B (zh) | 2021-05-15 | 2021-05-15 | 基于禁忌搜索优化算法的全比较数据分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110530699.2A CN113407336B (zh) | 2021-05-15 | 2021-05-15 | 基于禁忌搜索优化算法的全比较数据分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113407336A CN113407336A (zh) | 2021-09-17 |
CN113407336B true CN113407336B (zh) | 2022-08-19 |
Family
ID=77678644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110530699.2A Active CN113407336B (zh) | 2021-05-15 | 2021-05-15 | 基于禁忌搜索优化算法的全比较数据分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113407336B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707745B (zh) * | 2024-02-05 | 2024-04-30 | 国网湖北省电力有限公司信息通信公司 | 一种基于自适应禁忌搜索算法的计量任务同步调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833295A (zh) * | 2018-06-25 | 2018-11-16 | 西安交通大学 | 面向sdn的基于禁忌搜索的虚拟网络重配置方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100146518A1 (en) * | 2008-12-08 | 2010-06-10 | International Business Machines Corporation | All-To-All Comparisons on Architectures Having Limited Storage Space |
CN104683405B (zh) * | 2013-11-29 | 2018-04-17 | 国际商业机器公司 | 在车联网中集群服务器分发地图匹配任务的方法和装置 |
US10674313B2 (en) * | 2016-03-17 | 2020-06-02 | Viavi Solutions Uk Limited | Automatic optimization procedure termination using a smoothing-based technique |
CN107329815B (zh) * | 2017-06-26 | 2020-08-04 | 浙江工业大学 | 一种基于BP-Tabu搜索的云任务负载均衡调度方法 |
CN107846308A (zh) * | 2017-10-19 | 2018-03-27 | 北京科东电力控制系统有限责任公司 | 一种规划电力通信网onu的方法及装置 |
CN111966495B (zh) * | 2020-08-21 | 2022-02-01 | 内蒙古工业大学 | 数据处理方法和装置 |
-
2021
- 2021-05-15 CN CN202110530699.2A patent/CN113407336B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833295A (zh) * | 2018-06-25 | 2018-11-16 | 西安交通大学 | 面向sdn的基于禁忌搜索的虚拟网络重配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113407336A (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111517B (zh) | 针对归约器任务的虚拟机优化分配和/或生成 | |
EP1564638B1 (en) | A method of reassigning objects to processing units | |
WO2015196911A1 (zh) | 数据挖掘方法和节点 | |
CN108320059B (zh) | 一种工作流调度进化寻优方法及终端设备 | |
CN111966495B (zh) | 数据处理方法和装置 | |
CN108418858B (zh) | 一种面向Geo-distributed云存储的数据副本放置方法 | |
CN108055292B (zh) | 一种虚拟机向物理机映射的优化方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN113407336B (zh) | 基于禁忌搜索优化算法的全比较数据分发方法 | |
CN114327811A (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
CN115237580A (zh) | 面向智能计算的流水并行训练自适应调整系统、方法 | |
CN111522885A (zh) | 一种基于动态规划的分布式数据库系统协同优化方法 | |
CN114675953A (zh) | 资源动态调度方法、装置、设备及计算机可读存储介质 | |
CN115016938A (zh) | 一种基于强化学习的计算图自动划分方法 | |
CN112884368B (zh) | 高端装备交货时间与延迟最小的多目标调度方法及系统 | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
CN111736959B (zh) | 异构集群下考虑数据亲和性的Spark任务调度方法 | |
CN108108242B (zh) | 基于大数据的存储层智能分发控制方法 | |
EP1524599B1 (en) | A method of reassigning objects to processing units | |
CN110308965A (zh) | 云数据中心的基于规则的启发式虚拟机分配方法及系统 | |
Zhang et al. | A distributed computing framework for All-to-All comparison problems | |
CN114980216A (zh) | 基于移动边缘计算的依赖型任务卸载系统及方法 | |
CN109684602B (zh) | 一种批处理方法和装置及计算机可读存储介质 | |
CN110073321A (zh) | 一种存储控制器及io请求处理方法 |
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 |