基因組學(xué)已經(jīng)徹底改變了公共衛(wèi)生,并繼續(xù)為我們所有人帶來好處。為了實現(xiàn)其眾多成果,需要在云計算、on-prem數(shù)據(jù)中心、研究中心、醫(yī)院和更廣泛的生命科學(xué)行業(yè)中進(jìn)行大量且不斷增長的計算投入。
Reference-guided assembly是該領(lǐng)域許多工作流中的一個重要階段。對于一個典型的患者,拭子會導(dǎo)致樣本在測序機中測序。這臺機器的輸出是千兆字節(jié)的片段(A、C、G和T DNA堿基的子串)。這些讀數(shù)與來自(標(biāo)準(zhǔn))參考個體的完整人類基因組“對齊”,以確定讀數(shù)“適合”的位置,并組成患者基因組的大部分。
完成reference-guided assembly的三個最著名的應(yīng)用程序是BWA(https://github.com/lh3/bwa)、BWA-mem2(https://github.com/bwa-mem2/bwa-mem2)和minimap2(https://github.com/lh3/minimap2)。由于應(yīng)用如此廣泛,這些應(yīng)用程序的價格和性能對行業(yè)至關(guān)重要。
在之前的博客(優(yōu)化Arm服務(wù)器的BWA aligner:https://community.arm.com/arm-community-blogs/b/high-performance-computing-blog/posts/optimizing-genomics-and-the-bwa-aligner-for-arm-servers)中,我們展示了如何在AWS Graviton2上運行BWA及其性能,以對比2021早期流行的x86_64服務(wù)器。
在本博客中,我們現(xiàn)在可以展示三種主要aligners在Arm架構(gòu)AWS Graviton3上的性能。AWS Gravaton3是AWS 服務(wù)器系列中最新的基于Arm的服務(wù)器,也是AWS Gratiton2的后續(xù)型號。
我們證明,與AWS Graviton2相比,AWS Gravaton3的性能提高了12%到31%。與目前最好的x86_64系統(tǒng)相比,Graviton3的績效提高了10%和23%。與同類x86_64系統(tǒng)相比,此結(jié)果可節(jié)省20-30%的成本。
應(yīng)用程序和測試用例
我們使用1000 Genomes項目中的human_g1k_v37引用和NIST檔案中的NA12878引用。這些測試用例都反映在AWS S3上,并使用以下方法獲?。?/p>
aws s3 cp –no-sign-request s3://1000genomes/technical/reference/human_g1k_v37.fasta.gz . aws s3 cp –no-sign-request s3://giab/data/NA12878/Garvan_NA12878_HG001_HiSeq_Exome/NIST7035_TAAGGCGA_L001_R1_001.fastq.gz .
在每種測試案例下,我們都使用gcc-10編譯器進(jìn)行平臺比較。這些測試用例中的每一個都可以通過普通的構(gòu)建腳本在Arm上輕松構(gòu)建,要么在主存儲庫中,要么在等待合并的公共分支中。
https://github.com/lh3/bwa https://github.com/dslarm/bwa-mem2 https://github.com/dslarm/minimap2
這些應(yīng)用程序都是多線程的,具有可配置數(shù)量的工作線程。我們使用32個工作線程演示了8xlarge實例上的基準(zhǔn)測試,這些實例有32個vCPU。
在運行時,我們使用Cloudflare zlib包替換系統(tǒng)zlib,這有助于aligners 更快地解壓縮輸入數(shù)據(jù)文件。在進(jìn)一步的優(yōu)化中,對于bwa,我們預(yù)加載了jemalloc庫,這對于多線程代碼中的標(biāo)準(zhǔn)內(nèi)存分配函數(shù)來說更加有效。
我們的Github上提供了每個應(yīng)用程序的構(gòu)建腳本和獲取數(shù)據(jù)集的腳本,網(wǎng)址是https://github.com/arm-hpc/genomics-blog
AWS Graviton2到AWS Graviton3 --能力的飛躍
AWS Graviton3使用Arm Neoverse V1內(nèi)核,相比之下,AWS Gravaton2使用Arm Nioverse N1內(nèi)核。
Neoverse V1帶來了顯著的變化,尤其是它的內(nèi)核更寬了許多,能夠在每個周期執(zhí)行更多指令,比其前一代處理器能提升更多指令級并行性。
使用perf-stat,我們可以獲取兩個平臺的每周期指令數(shù)(IPC)。
可以看出,IPC的改進(jìn)在每個應(yīng)用程序中都有所不同,minimap2 最多可在每個周期多增加26%的指令。此結(jié)果適用于整個工作負(fù)載,還包括I/O所花費的時間。
AWS Graviton3也是AWS系列中的第一個DDR5系統(tǒng),其DDR帶寬比其前一代處理器多50%。
此外,AWS Graviton3的執(zhí)行頻率為2.6GHz,而Graviton2為2.5GHz。
較高的IPC和頻率的綜合影響直接轉(zhuǎn)化為運行時效率,我們將在下面進(jìn)一步討論。
哪種體系結(jié)構(gòu)提供了最高的性能和最低的成本?
與上一代AWS Graviton2(c6g.8xlarge)相比,性能提高了12%至31%。
同時,AWS Graviton3的性能也比Intel Icelake(c6i.8xlarge)高出10%至23%,比AMD Milan(c6a.8xlage)高出11%至21%。
總結(jié)
AWS Graviton3為所有三個基因組學(xué)應(yīng)用程序提供了性價比最高的平臺。在AMD Milan上運行相同的應(yīng)用,每個樣本集的成本高出27%,在Intel Ice Lake上高出45%。這一結(jié)果意味著AWS Graviton3比AMD Milan節(jié)省了20%,比Intel Ice Lake節(jié)省了30%。
-
ARM
+關(guān)注
關(guān)注
134文章
9143瀏覽量
368379 -
云計算
+關(guān)注
關(guān)注
39文章
7848瀏覽量
137648 -
數(shù)據(jù)中心
關(guān)注
16文章
4836瀏覽量
72272
原文標(biāo)題:使用Arm服務(wù)器減少基因組學(xué)的時間和成本
文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論