论文部分内容阅读
二代测序相比较它的上一代,显著的特征是测序的通量高,因此也叫高通量测序,它使得成本成倍地降低,基因数据量呈几何式的翻倍增长。世界范围内,百万人基因组计划的相继推出,十万人,甚至百万人规模的全基因组关联研究有望在常见病和复杂性状的研究上取得突破。基因数据分析面临着如何高效组织和访问PB甚至ZB级数据的问题,海量数据的基因大数据分析遭遇了存储墙的问题,目前并行访问这些PB级的基因数据,存在着比较严重的性能瓶颈,这其中存在着数据存放和计算作业访问方式之间的矛盾,大数据量的数据访问带来的网络带宽和内存带宽压力,海量数目的文件读写带来的元数据拥堵等。本文提出面向全基因组关联分析的海量数据并行框架,它基于在高性能环境中有多年成熟使用经验的HDF5的数据格式,支持关联分析的多任务并行,使用了数据分片、数据超转置、数据过滤、数据高通量编码压缩以及结合天河二号环境的数据对齐、聚合访问及缓存优化等技术,缓解了计算作业访问数据的局部性差的矛盾,避免了计算作业并行访问时的数据竞争,并行文件系统元数据服务器(MDS)的压力得到释放。紧贴基因关联分析类计算作业的特点开展研究,分析了数据特性,运用数据过滤、类型转换、列存储压缩等减少了数据量和访存带宽方面的开销,而且这些处理的开销在生产环境中都可以隐藏在数据由生产环节到数据分析环节的传输开销中,而HDF5的虚拟数据集特性允许我们将不同批次数据处理后存储在不同文件中,而计算作业同时又能以连续数据集的视角来访问这些文件。本文数据框架Gwasin中的数据分片和数据超转置是对VariantDB中数据标注过滤思想的延伸,VariantDB通过建立数据域的标注,然后利用数据库对标注进行查询和过滤,减少计算作业的数据访问量,本文基于HDF5灵活性的特点,实现了并行任务作业的数据重组织,重组织后计算作业连续访问与计算直接相关的数据。数据块转置将一个基因文件中,与单个计算相关的数据块看作是矩阵中的一个元素,对这个超大矩阵进行转置操作,实现同一计算作业的连续聚合,提高了访问数据访问连续性,并将多个文件的数据组织在HDF5的一个数据集中,这样由于HDF5的自述性,即HDF5中数据对象的元数据存储在HDF5内部,因此,降低了对并行文件系统的元数据访问,从而缓解了并行文件系统在处理元数据时的压力。本文同时结合基因数据分析计算任务特点对基因数据进行了数据过滤和高通量编码压缩操作,将与计算作业无关的数据在数据预处理阶段清洗掉,能够提高数据密度,减轻网络和内存带宽压力,结果显示数据过滤能实现51.8倍的数据减少效果,结合数据编码压缩能实现579倍的减少效果。结合天河二号的优化,运用的是HDF5在Lustre系统上的调优方法,改变HDF5库对存放数据对象的特性设置,对数据集进行在分块对齐、压缩、聚合访问和元数据缓存挤出等方面的设置,实现了并行IO的同时,降低了与IO服务器交互的计算节点数量,减少了数据访问的拥塞,也提高了元数据的处理效率,计算作业在提高扩展性的同时,数据访问速度提升了10倍以上。