今天给大家介绍来自佛罗里达国际大学团队发表在Nature Computational Science上的文章,文章提出了一个名为HiCOPS的高性能计算(HPC)框架,可在分布式超级计算机上有效加速肽数据库搜索算法(从质谱数据中推导出肽),与现有的几个HPC框架相比,HiCOPS的搜索速度平均提高了十倍以上;并且HiCOPS中提出的核并行架构、技术和优化与搜索算法无关,可以进行扩展,从而加速现有和未来的肽数据库搜索算法。
1
研究背景
现代质谱技术可以在几个小时内生成数以千计的光谱数据。肽数据库搜索是在理论光谱数据库(计算机模拟构建出来的蛋白质序列数据库)中搜索最佳匹配的实验光谱。随着理论光谱数据库在空间上呈现指数级扩增,肽数据库搜索算法由于内存争用、核外处理等出现性能不佳。如其他科学领域所证明的那样,可以有效利用HPC架构来加速肽数据库搜索算法。然而,大多数现有的HPC架构的肽数据库搜索算法采用未优化的并行化技术,导致性能欠佳并限制了在该领域的应用。
2
主要贡献
该论文提出了一个HPC框架,可以在大规模对称多处理器分布式内存超级计算机上加速肽数据库搜索算法,比现有的共享和分布式内存肽数据库搜索工具在速度上表现出数量级的提高。
3
模型
HiCOPS通过四个单程多数(SPMD)批量同步并行(BSP)超级步构建并行肽数据库搜索工作流程(任务图)。在BSP中,超级步是由所有并行进程异步执行的一组算法和数据通信块,并根据需要在每个超级步结束时执行进程之间的同步。在第一个超级步(图1 a)中,大量理论数据库以负载平衡的方式跨并行进程进行分区并进行本地索引。在第二个超级步(图1 b)中,将实验数据分成批次并进行预处理。在第三个超级步(图1 c)中,并行进程执行本地肽数据库搜索,产生中间结果。在最后的超级步(图1 d)中,中间结果被反序列化并组装成完整的结果。
目前的HiCOPS设计允许核内处理,因此所需的最小节点数(Pmin)必须大于等于D/M,其中D是数据库索引大小,M是每个节点的可用主内存。HiCOPS的总用时()等于上述四个超级步执行时间之后,即:
每一个超级步(j)的执行时间是任何并行任务()完成该超级步所需的最长时间,即:
故HiCOPS的总运行时间为:
图1 HiCOPS框架
4
实验
4.1 正确性分析
该论文使用两个步骤来评估HiCOPS的正确性。在第一步中,从蛋白质序列数据库中搜索5个数据集来验证并行结构的一致性,根据确定的肽序列和相应的超分值(hyperscores)和预期值(expectscores)评估正确性;如图2(a)(b)中表示串行(x轴)和并行(y轴)之间的hyperscores和expectscores的比较,结果表示分数一致性超过99.5%。在第二步中,通过比较HiCOPS和MSFragger分别计算的hyperscores来验证所实现的搜索算法质量,设计并执行了六个实验,即三个受限搜索实验和三个开放搜索实验。图3(c-e)展示了受限搜索实验中由两种工具计算的hpyerscores之间的强相关性(R0.90),对于开放搜索实验,hyperscores之间的相关性在0.70R0.90之间略有下降(如图4f-h)。
图2 串、并行的hyperscores和expectscores对比结果
图3 受限搜索实验中HiCOPS和MSFragger分别计算的hyperscores结果
图4开放搜索实验中HiCOPS和MSFragger分别计算的hyperscores结果
4.2 速度对比实验
该论文将HiCOPS与许多现有的共享和分布式肽数据库搜索算法在速度上进行了比较,包括Tide/Crux v3.2, Comet v.2020.01, MSFragger v3.0, X!Tandem v.17.2.1, X!!Tandem v.10.12.1 和SW-Tandem。该论文设计了6个搜索实验,按照实验工作负载大小的升序排列为a-f。实验结果如图5(a-f),结果表明HiCOPS在速度上比所有其他工具平均高出10倍以上,并且随着实验工作负载规模的增加,HiCOPS表现出比其他工具更好的大规模并行效率。
图5 六个搜索实验的对比结果
4.3 在兆级实验中的应用
该论文还进行了HiCOPS应用在兆级别数据库搜索的实验。在第一个实验中,在780GB的数据库中搜索S3数据集;在第二个实验中,在1.7TB的数据库中搜索S4数据集;在第四个实验中,在4TB的数据库中搜索S2数据集。HiCOPS在14.55分钟(64个节点)、103.5分钟(72个节点)和27.3分钟(64个节点)内完成了这三个实验。而MSFragger在158.8分钟(64个节点)完成第一个实验,在18小时内(72个节点)和35.5天(1个节点)完成第二个实验,HiCOPS在速度上比MSFragger分别快了10倍、10.3倍和494倍。实验结果如表1所示。
表1 使用HiCOPS和MSFragger进行大规模数据库搜索实验对比结果
5
总结
HPC的趋势已转向异构架构,多台超级计算机将CPU与GPU和FPGA结合起来,以提供千万亿级计算能力,并且在不久的将来,将达到百亿亿级计算能力。然而,提出的基于SPMD-BSP的HiCOPS框架只能应有在超级计算机中的同构(仅限CPU)并行节点上。HPC的技术转变推动了对HiCOPS框架的改进方向,即针对GPU加速。该工作未来的改进重点是实现几种算法的异构高性能计算版本,以及HiCOPS中的机器学习模型。
参考资料
Haseeb, M., Saeed, F. High performance computing framework for tera-scale database search of mass spectrometry data. Nat Comput Sci 1, 550–561 (2021).
https://doi.org/10.1038/s43588-021-00113-z
代码链接:
https://github.com/hicops/hicops