CN114550833B - 一种基于大数据的基因分析方法及系统 - Google Patents

一种基于大数据的基因分析方法及系统 Download PDF

Info

Publication number
CN114550833B
CN114550833B CN202210137231.1A CN202210137231A CN114550833B CN 114550833 B CN114550833 B CN 114550833B CN 202210137231 A CN202210137231 A CN 202210137231A CN 114550833 B CN114550833 B CN 114550833B
Authority
CN
China
Prior art keywords
spill
kvbuffer
size
data
determining
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
CN202210137231.1A
Other languages
English (en)
Other versions
CN114550833A (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.)
Zhengzhou University
Original Assignee
Zhengzhou 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 Zhengzhou University filed Critical Zhengzhou University
Priority to CN202210137231.1A priority Critical patent/CN114550833B/zh
Publication of CN114550833A publication Critical patent/CN114550833A/zh
Application granted granted Critical
Publication of CN114550833B publication Critical patent/CN114550833B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B45/00ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
    • 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

Abstract

本发明提供了一种基于大数据的基因分析方法及系统,在将基因分析任务提交到大数据平台Hadoop的Yarn后,根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果。本发明避免了频繁在内存和磁盘间复制数据导致基因分析时间过程的问题,有效降低了基因分析的用时。

Description

一种基于大数据的基因分析方法及系统
技术领域
本申请涉及基因分析领域,尤其涉及基于大数据的基因分析方法及系统。
背景技术
基因承载了生物体的遗传信息,其能够通过蛋白质控制生物体的性状,而且研究发现基因还和很多疾病相关,例如癌症就是由于基因突变导致细胞无休止的增长产生的。虽然在DNA测序技术出现后,人们一直在寻找基因和疾病之间的关联关系,例如识别基因中导致某种疾病的变异,但是由于人体的DNA大约含有30亿个碱基对,再加上需要对大量患病和健康的人的基因进行分析,这就形成了海量数据,从海量数据中寻找事物的关联关系并不是一件简单的事情。随着计算机技术的发展,计算机的存储能力和计算能力都有了大幅提升,但是面对TB、PB级别的数据还是无能为力。
大数据技术的出现,为基因分析提出了一种新的解决方案。所谓大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。现在应用最为广泛的大数据技术是Hadoop,Hadoop框架包括三个核心组件,分别为Yarn和HDFS、MapReduce等,其中HDFS是分布式文件存储系统,用于分布式存储文件,Yarn是Hadoop的资源管理和调度系统,负责集群的资源管理,MapReduce作为计算引擎,完成数据的计算任务。由于MapReduce在Map阶段和Reduce阶段需要在内存和磁盘间频繁的读写数据,其效率并不高,而且在MapReduce中缓存结果的Kvbuffer的大小是根据经验设置的,带有很大的主观性,如何提高利用大数据技术分析基因的速度是本领域亟待解决的问题。
发明内容
为了解决上述问题,一方面,本发明提供了一种基于大数据的基因分析方法,所述方法包括以下步骤:
S1,通过客户端将基因分析任务提交到Yarn,根据分布式文件系统存储的基因组数据量确定开启的Map和Reduce个数,并向各个计算节点分发MapReduce计算任务;
S2,根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;
S3,在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果。
优选地,所述根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小,具体为:
按照公式
Figure GDA0003855114050000021
计算Kvbuffer的大小,其中Memoryidle表示所述计算节点的空闲内存大小,Kvbuffer'表示配置的默认Kvbuffer大小,rcpu表示所述CPU占用率,Data表示所述Map任务对应的数据量。
优选地,所述在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,具体为:
当达到Spill的触发条件后,计算得到kvindex和原分界点equator之间Kvbuffer大小k1,以及bufindex和原分界点equator之间Kvbuffer大小k2,以及kvindex和bufindex之间空闲Kvbuffer大小k3,将k3按照k1和k2的比值分为两部分,将两部分的界限作为新的分界点equator。
优选地,所述根据Spill触发频率重新确定Spill的阈值,具体为:若所述Spill触发频率f大于第一阈值
Figure GDA0003855114050000031
根据公式
Figure GDA0003855114050000032
计算Spill的阈值thr,并判断根据公式
Figure GDA0003855114050000033
计算Spill的阈值thr是否超过预设上限值,若超过,则取预设上限值作为新确定的Spill的阈值,否则将
Figure GDA0003855114050000034
作为新确定的Spill的阈值;若所述Spill触发频率f小于第二阈值
Figure GDA0003855114050000035
则根据公式thr=thr'*k计算Spill的阈值thr,其中k为减少幅度,0<k<1;若所述Spill触发频率f位于
Figure GDA0003855114050000036
之间,则保持Spill的阈值不变。
优选地,在所述S3后,还包括:将所述基因分析结果以图形化界面显示。
另外一方面,本发明还提供了一种基于大数据的基因分析系统,所述系统包括以下模块:
任务提交模块,用于通过客户端将基因分析任务提交到Yarn,根据分布式文件系统存储的基因组数据量确定开启的Map和Reduce个数,并向各个计算节点分发MapReduce计算任务;
Kvbuffer大小确定模块,用于根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;
计算模块,用于在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果。
优选地,所述根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小,具体为:
按照公式
Figure GDA0003855114050000041
计算Kvbuffer的大小,其中Memoryidle表示所述计算节点的空闲内存大小,Kvbuffer'表示配置的默认Kvbuffer大小,rcpu表示所述CPU占用率,Data表示所述Map任务对应的数据量。
优选地,所述在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,具体为:
当达到Spill的触发条件后,计算得到kvindex和原分界点equator之间Kvbuffer大小k1,以及bufindex和原分界点equator之间Kvbuffer大小k2,以及kvindex和bufindex之间空闲Kvbuffer大小k3,将k3按照k1和k2的比值分为两部分,将两部分的界限作为新的分界点equator。
优选地,所述根据Spill触发频率重新确定Spill的阈值,具体为:若所述Spill触发频率f大于第一阈值
Figure GDA0003855114050000051
根据公式
Figure GDA0003855114050000052
计算Spill的阈值thr,并判断根据公式
Figure GDA0003855114050000053
计算Spill的阈值thr是否超过预设上限值,若超过,则取预设上限值作为新确定的Spill的阈值,否则将
Figure GDA0003855114050000054
作为新确定的Spill的阈值;若所述Spill触发频率f小于第二阈值
Figure GDA0003855114050000055
则根据公式thr=thr'*k计算Spill的阈值thr,其中k为减少幅度,0<k<1;若所述Spill触发频率f位于
Figure GDA0003855114050000056
之间,则保持Spill的阈值不变。
优选地,所述系统还包括显示模块,所述显示模块用于将所述基因分析结果以图形化界面显示。
由于MapReduce在进行大数据处理时,需要频繁在内存和磁盘间传输数据,导致MapReduce的执行效率较低,这也是MapReduce一直被诟病的地方。本发明针对在利用大数据进行基因分析时,MapReduce阶段Kvbuffer无法动态调整的问题,采用动态调整的方式调整Kvbuffer的大小,而且在每次Spill到磁盘后,重新确定Kvbuffer的分界点equator,并根据Spill触发频率重新确定Spill的阈值,提高了内存的利用率,降低了Map阶段内存向磁盘Spill的次数,提高了利用MapReduce进行基因分析的速度和效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为碱基对的示意图;
图2为Kvbuffer结构示意图;
图3为本发明的一个实施例的流程图;
图4为shuffle阶段示意图。
具体实施方式
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
一方面,本发明提供了一种基于大数据的基因分析方法,如图3所示,所述方法包括以下步骤:
S1,通过客户端将基因分析任务提交到Yarn,根据分布式文件系统存储的基因组数据量确定开启的Map和Reduce个数,并向各个计算节点分发MapReduce计算任务;
人类的遗传物质有约30亿个碱基对,大概有3GB,随着测序技术的发展,人类基因库数据量不断增加,很多基因库都是以TB甚至PB为单位。Hadoop的出现为人类基因分析提供了技术支持,Yarn是Hadoop中资源管理组件,当提交计算任务时,向Yarn请求资源。如图1所示,为碱基对的示意图。
通过客户端将基因分析任务提交到Yarn,Yarn会给任务分配资源。基因分析任务包括但不限于基因对比、突变检测等,分布式文件存储系统包括但不限于HDFS或者Google文件系统(GFS)。
MapReduce计算包括两个过程,分别为Map阶段和Reduce阶段,Map和Reduce的个数可以由Hadoop自动确定,也可通过配置文件调整Map和Reduce的个数,Hadoop集群有多个计算节点,计算节点是计算任务执行的主要节点,负责任务的处理、执行。
S2,根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;
一个计算节点执行的基因分析的任务量和该节点上Map个数以及Map对应的数据量相关,Map任务越多,每个Map处理的数据量越大,则节点计算的任务量也越大,相应地,在Map阶段得到的结果也越多,需要将更多的Map结果写入到磁盘或硬盘中。
MapReduce计算过程可以分为三个阶段,第一个阶段是Map,也即执行MapTask,第二个阶段是shuffle,如图4所示,第三个阶段是Reduce,也即执行ReduceTask。shuffle阶段是将MapTask输出的结果分区、排序、聚合等,然后作为Reduce的输入。在shuffle阶段设置有一个Kvbuffer,如图2所示,其用于存储Map的结果,Kvbuffer包括两部分,分别从两个方向存储kvmeta和<k,v>。当Kvbuffer存储到一定限度,会将结果Spill到磁盘或者硬盘中。Kvbuffer的大小和阈值决定了内存向磁盘写入的次数,由于磁盘写入速度较慢,这就容易造成MapReduce性能的瓶颈。现有的技术中,Kvbuffer都是通过配置文件配置的,无法根据计算节点的实时情况进行调整。本发明根据Map任务对应的数据量、空闲内存大小以及CPU占用率实时调整Kvbuffer的大小。其中S2既可以是在Yarn向计算节点分配基因分析的MapReduce任务后执行,也可以周期性执行或者根据任务执行进度执行。
S3,在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果。
在配置文件中可以配置Spill的阈值,在Kvbuffer存储的数据到达Kvbuffer总容量的的比值大于等于配置的Spill的阈值时,会触发Spill操作,Spill操作是将Kvbuffer的内容存储到硬盘或磁盘中。分界点equator是用于分割kvmeta(又称为meta data)和<k,v>(又称为raw data),在每次Spill操作后,会在原来空闲区域生成新的equator。
Kvbuffer的大小不仅和用户配置的默认Kvbuffer相关,由于计算节点的资源是动态变化,而且不同的计算节点的内存资源不同,在有很多台计算节点时,如果根据计算节点的性能一个一个配置将会是一项繁重的工作,例如集群中有1000台节点。
Spill的阈值并不是越大越好,也非越小越好,如果太大,一种极限情况是占满Kvbuffer后才触发向硬盘中写入Kvbuffer数据,这时候map新生成的数据将无法存储,同样地,如果太小,则会频繁触发Spill,影响计算节点的计算性能。本发明会根据Spill的触发频率重新确定Spill的阈值,实现Spill的动态控制。在一个实施例中,所述根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小,具体为:
按照公式
Figure GDA0003855114050000091
计算Kvbuffer的大小,其中Memoryidle表示所述计算节点的空闲内存大小,Kvbuffer'表示配置的默认Kvbuffer大小,rcpu表示所述CPU占用率,Data表示所述Map任务对应的数据量,单位为G。
假设有三个计算节点,空闲内存分别为2G、3G、4G,CPU利用率分别为20%、80%、60%,基因分析的Map任务对应的数据量分别为100G、200G、50G,配置的默认Kvbuffer都是100M,则根据上述公式计算三个计算节点的Kvbuffer分别为:1500M、600M、1400M。可见,本发明提出的Kvbuffer确定方式不仅和系统默认的Kvbuffer相关,还综合考虑了计算节点空闲内存、CPU利用率以及数据量,能够更好的适应不同的计算节点,提高内存的利用率和MapReduce的处理速度。在第一个节点中,虽然空闲内存只有2G,但是CPU利用率为20%,表明计算节点处于空闲状态,为Kvbuffer分配较多的内存,不会影响节点的正常执行。
在Hadoop集群中,由于基因数据量巨大,每个计算节点处理的数据量通常都是大于10G,如果数据量小于10G,则按照设置的默认Kvbuffer作为计算节点的Kvbuffer。在另外一个实施例中,还可以对Kvbuffer设置一个最大上限,若按照上述公式计算得到Kvbuffer大于最大上限,则将Kvbuffer设置为最大上限值。最大上限有多种确定方式,例如将计算节点总内存的一定比例设置为最大上限,本发明对此不作具体限定。
kvmeta是对Kvbuffer存储的<k,v>的描述,例如k开始位置、v开始位置、v的长度等,其数据量一般比Kvbuffer中存储<k,v>的数据量小。本发明中在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,具体为:
当达到Spill的触发条件后,计算得到kvindex和原分界点equator之间Kvbuffer大小k1,以及bufindex和原分界点equator之间Kvbuffer大小k2,以及kvindex和bufindex之间空闲Kvbuffer大小k3,将k3按照k1和k2的比值分为两部分,将两部分的界限作为新的分界点equator。
例如k1的大小为1M,k2的大小为9M,空闲部分k3为5M,则将空闲部分k3分为两部分分别为0.5M和4.5M,将二者的界限处作为新的分界点equator,当触发Spill后,新的kvmeta以新的分界点equator开始向0.5M方向写入数据,新的<k,v>以新的分界点equator开始向4.5M方向写入<k,v>。
Spill触发阈值也会影响MapReduce的性能,为了能够在Map结果写入Kvbuffer和Kvbuffer的Spill之间取得一个平衡,在一个实施例中,所述根据Spill触发频率重新确定Spill的阈值,具体为:若所述Spill触发频率f大于第一阈值
Figure GDA0003855114050000111
根据公式
Figure GDA0003855114050000112
计算Spill的阈值thr,并判断根据公式
Figure GDA0003855114050000113
计算Spill的阈值thr是否超过预设上限值,若超过,则取预设上限值作为新确定的Spill的阈值,否则将
Figure GDA0003855114050000114
作为新确定的Spill的阈值;若所述Spill触发频率f小于第二阈值
Figure GDA0003855114050000115
则根据公式thr=thr'*k计算Spill的阈值thr,其中k为减少幅度,0<k<1;若所述Spill触发频率f位于
Figure GDA0003855114050000116
区间,则保持Spill的阈值不变。
假设第一阈值为10,第二阈值为5,如果当前Spill的触发频率f为15,则
Figure GDA0003855114050000117
并判断新的thr是否超过预设上限值,例如90%,如果超过,则取thr=0.9;若当前Spill的触发频率f为4,若k为0.8,则
Figure GDA0003855114050000118
需要注意的是,上述数据只是为了对本发明的具体实施例进行解释说明,并不代表实际生产中的数据。
利用大数据对基因分析后的结果并不方便查看,图形化显示具有直观等特点,在一个实施例中,在所述S3后,还包括:将所述基因分析结果以图形化界面显示。
另外一方面,本发明还提供了一种基于大数据的基因分析系统,所述系统包括以下模块:
任务提交模块,用于通过客户端将基因分析任务提交到Yarn,根据分布式文件系统存储的基因组数据量确定开启的Map和Reduce个数,并向各个计算节点分发MapReduce计算任务;
Kvbuffer大小确定模块,用于根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;
计算模块,用于在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果。
优选地,所述根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小,具体为:
按照公式
Figure GDA0003855114050000121
计算Kvbuffer的大小,其中Memoryidle表示所述计算节点的空闲内存大小,Kvbuffer'表示配置的默认Kvbuffer大小,rcpu表示所述CPU占用率,Data表示所述Map任务对应的数据量。
优选地,所述在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,具体为:
当达到Spill的触发条件后,计算得到kvindex和原分界点equator之间Kvbuffer大小k1,以及bufindex和原分界点equator之间Kvbuffer大小k2,以及kvindex和bufindex之间空闲Kvbuffer大小k3,将k3按照k1和k2的比值分为两部分,将两部分的界限作为新的分界点equator。
优选地,所述根据Spill触发频率重新确定Spill的阈值,具体为:若所述Spill触发频率f大于第一阈值
Figure GDA0003855114050000131
根据公式
Figure GDA0003855114050000132
计算Spill的阈值thr,并判断根据公式
Figure GDA0003855114050000133
计算Spill的阈值thr是否超过预设上限值,若超过,则取预设上限值作为新确定的Spill的阈值,否则将
Figure GDA0003855114050000134
作为新确定的Spill的阈值;若所述Spill触发频率f小于第二阈值
Figure GDA0003855114050000135
则根据公式thr=thr'*k计算Spill的阈值thr,其中k为减少幅度,0<k<1;若所述Spill触发频率f位于
Figure GDA0003855114050000136
之间,则保持Spill的阈值不变。
优选地,所述系统还包括显示模块,所述显示模块用于将所述基因分析结果以图形化界面显示。
实施例三
本发明还提供了一种计算机可读存储介质,用于存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如实施例一所述的方法。
本发明所述的各个实施例可以进行组合以实现对应的技术方案。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (8)

1.一种基于大数据的基因分析方法,其特征在于,所述方法包括以下步骤:
S1,通过客户端将基因分析任务提交到Yarn,根据分布式文件系统存储的基因组数据量确定开启的Map和Reduce个数,并向各个计算节点分发MapReduce计算任务;
S2,根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;
S3,在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果;
所述根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小,具体为:
按照公式
Figure FDA0003855114040000011
计算Kvbuffer的大小,其中Memoryidle表示所述计算节点的空闲内存大小,Kvbuffer'表示配置的默认Kvbuffer大小,rcpu表示所述CPU占用率,Data表示所述Map任务对应的数据量。
2.如权利要求1所述的方法,其特征在于,所述在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,具体为:
当达到Spill的触发条件后,计算得到kvindex和原分界点equator之间Kvbuffer大小k1,以及bufindex和原分界点equator之间Kvbuffer大小k2,以及kvindex和bufindex之间空闲Kvbuffer大小k3,将k3按照k1和k2的比值分为两部分,将两部分的界限作为新的分界点equator。
3.如权利要求2所述的方法,其特征在于,所述根据Spill触发频率重新确定Spill的阈值,具体为:若所述Spill触发频率f大于第一阈值
Figure FDA0003855114040000021
根据公式
Figure FDA0003855114040000022
计算Spill的阈值thr,并判断根据公式
Figure FDA0003855114040000023
计算Spill的阈值thr是否超过预设上限值,若超过,则取预设上限值作为新确定的Spill的阈值,否则将
Figure FDA0003855114040000024
作为新确定的Spill的阈值;若所述Spill触发频率f小于第二阈值
Figure FDA0003855114040000025
则根据公式thr=thr'*k计算Spill的阈值thr,其中k为减少幅度,0<k<1;若所述Spill触发频率f位于
Figure FDA0003855114040000026
之间,则保持Spill的阈值不变。
4.如权利要求1-3任一项所述的方法,其特征在于,在所述S3后,还包括:将所述基因分析结果以图形化界面显示。
5.一种基于大数据的基因分析系统,其特征在于,所述系统包括以下模块:
任务提交模块,用于通过客户端将基因分析任务提交到Yarn,根据分布式文件系统存储的基因组数据量确定开启的Map和Reduce个数,并向各个计算节点分发MapReduce计算任务;
Kvbuffer大小确定模块,用于根据计算节点上各个Map任务对应的基因组数据的切片大小及数量计算所述计算节点上Map任务对应的数据量,获取计算节点的空闲内存大小以及CPU占用率,根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小;
计算模块,用于在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,并根据Spill触发频率重新确定Spill的阈值,Spill线程将Kvbuffer中的数据输出到磁盘,当Map阶段结束后,运行Reduce阶段,输出基因分析结果;
所述根据所述Map任务对应的数据量、所述空闲内存大小以及所述CPU占用率,确定Kvbuffer大小,具体为:
按照公式
Figure FDA0003855114040000031
计算Kvbuffer的大小,其中Memoryidle表示所述计算节点的空闲内存大小,Kvbuffer'表示配置的默认Kvbuffer大小,rcpu表示所述CPU占用率,Data表示所述Map任务对应的数据量。
6.如权利要求5所述的系统,其特征在于,所述在达到Spill的触发条件后,确定Kvbuffer新的分界点equator,具体为:
当达到Spill的触发条件后,计算得到kvindex和原分界点equator之间Kvbuffer大小k1,以及bufindex和原分界点equator之间Kvbuffer大小k2,以及kvindex和bufindex之间空闲Kvbuffer大小k3,将k3按照k1和k2的比值分为两部分,将两部分的界限作为新的分界点equator。
7.如权利要求6所述的系统,其特征在于,所述根据Spill触发频率重新确定Spill的阈值,具体为:若所述Spill触发频率f大于第一阈值
Figure FDA0003855114040000041
根据公式
Figure FDA0003855114040000042
计算Spill的阈值thr,并判断根据公式
Figure FDA0003855114040000043
计算Spill的阈值thr是否超过预设上限值,若超过,则取预设上限值作为新确定的Spill的阈值,否则将
Figure FDA0003855114040000044
作为新确定的Spill的阈值;若所述Spill触发频率f小于第二阈值
Figure FDA0003855114040000045
则根据公式thr=thr'*k计算Spill的阈值thr,其中k为减少幅度,0<k<1;若所述Spill触发频率f位于
Figure FDA0003855114040000046
之间,则保持Spill的阈值不变。
8.如权利要求5-7任一项所述的系统,其特征在于,所述系统还包括显示模块,所述显示模块用于将所述基因分析结果以图形化界面显示。
CN202210137231.1A 2022-02-15 2022-02-15 一种基于大数据的基因分析方法及系统 Active CN114550833B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210137231.1A CN114550833B (zh) 2022-02-15 2022-02-15 一种基于大数据的基因分析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210137231.1A CN114550833B (zh) 2022-02-15 2022-02-15 一种基于大数据的基因分析方法及系统

Publications (2)

Publication Number Publication Date
CN114550833A CN114550833A (zh) 2022-05-27
CN114550833B true CN114550833B (zh) 2022-10-28

Family

ID=81674954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210137231.1A Active CN114550833B (zh) 2022-02-15 2022-02-15 一种基于大数据的基因分析方法及系统

Country Status (1)

Country Link
CN (1) CN114550833B (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023805A (zh) * 2012-11-22 2013-04-03 北京航空航天大学 一种MapReduce系统
CN103970520B (zh) * 2013-01-31 2017-06-16 国际商业机器公司 MapReduce架构中的资源管理方法、装置和架构系统
US20140236990A1 (en) * 2013-02-19 2014-08-21 International Business Machines Corporation Mapping surprisal data througth hadoop type distributed file systems
WO2016025818A1 (en) * 2014-08-15 2016-02-18 Good Start Genetics, Inc. Systems and methods for genetic analysis
US20160103845A1 (en) * 2014-10-09 2016-04-14 Robin Systems, Inc. Enhanced Handling Of Intermediate Data Generated During Distributed, Parallel Processing
CN105138679B (zh) * 2015-09-14 2018-11-13 桂林电子科技大学 一种基于分布式缓存的数据处理系统及处理方法
CN107885595B (zh) * 2016-09-30 2021-12-14 华为技术有限公司 一种资源分配方法、相关设备及系统
CN110187970A (zh) * 2019-05-30 2019-08-30 北京理工大学 一种基于Hadoop MapReduce的分布式大数据并行计算方法
CN110299187B (zh) * 2019-07-04 2022-03-22 南京邮电大学 一种基于Hadoop的并行化基因数据压缩方法

Also Published As

Publication number Publication date
CN114550833A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN113193984B (zh) 一种空天地一体化网络资源映射方法及系统
CN111045795A (zh) 资源调度方法及装置
Yang et al. Intermediate data caching optimization for multi-stage and parallel big data frameworks
CN112181613B (zh) 异构资源分布式计算平台批量任务调度方法及存储介质
CN103593452A (zh) 一种基于MapReduce机制的数据密集型成本优化方法
CN112162861B (zh) 线程分配方法、装置、计算机设备及存储介质
CN110780991B (zh) 一种基于优先级的深度学习任务调度方法及装置
CN115586961A (zh) 一种ai平台计算资源任务调度方法、装置及介质
CN114550833B (zh) 一种基于大数据的基因分析方法及系统
Perwej The ambient scrutinize of scheduling algorithms in big data territory
CN111767023A (zh) 数据排序方法和数据排序系统
DE102020132469A1 (de) Warteschlangen mit benutzerdefiniert gemessener priorität
CN112685162A (zh) 边缘服务器异构计算资源的高效能调度方法、系统和介质
CN112783803B (zh) 一种计算机cpu-gpu共享缓存控制方法及系统
CN116244085A (zh) Kubernetes集群容器组调度方法、装置及介质
CN112598112B (zh) 一种基于图神经网络的资源调度方法
CN112130977B (zh) 一种任务调度方法、装置、设备及介质
CN115604269A (zh) 一种服务器的负载均衡方法、装置、电子设备及存储介质
CN106155810B (zh) 软件定义混合储存系统中工作负载感知的输入输出调度器
CN112799838A (zh) 任务处理方法、多核处理器及计算机设备
CN111737001A (zh) 一种计算系统负载均衡方法、装置及存储介质
Ghazali et al. CLQLMRS: improving cache locality in MapReduce job scheduling using Q-learning
CN117608863B (zh) 基于智能资源分配的云计算任务跟踪处理方法及系统
Khorasani High performance vertex-centric graph analytics on GPUs
CN113946289B (zh) 基于Spark计算引擎的文件合并方法及装置、存储介质、设备

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