百度智能云 CHPC: 使用 BtuneAK对基因测序软件进行加速

背景

本文主要介绍在 CHPC 平台使用 BtuneAK 自动化加速组件,可以直接对BWA、FastQC、Picard、Trimmomatic等业务端到端时长加速。

Btune 简单介绍

BtunePK介绍

BtunePK 是百度自研的一款性能分析和调优工具,兼容Intel、AMD、ARM三个CPU平台,从底层到上层覆盖CPU微架构、内核、runtime和基础库、业务应用等,对业务进行全栈性能分析和优化,快速定位并解决性能瓶颈,实现业务性能最优。

Btune功能上分为两个部分:

(1)指标采集和分析展示:采集各种指标(整机配置、整机资源、进程热点、进程资源等),进行分析展示,初步确定异常点

(2)性能瓶颈定位和优化建议:Btune 提供的诊断报告中包含两部分:分析摘要和详细报告。其中,分析摘要展示了业务性能瓶颈点和相应的优化建议,可以满足绝大部分的场景的需求。详细报告提供了更详细的性能分析数据,从系统配置、系统性能、进程线程模型、函数指令热点等多个维度呈现负载的资源分布、耗时分布、线程关系等运行特性,满足用户做更细粒度度性能优化。

详情可参见:应用性能诊断工具Btune

BtuneAK介绍

BtuneAK可以根据加速锦囊或者负载类别一键使能对应加速策略,无需改造用户程序实现透明加速。其中加速锦囊是由BtunePK一键分析生成,负载类别由用户执行BtuneAK时指定。两种方式可根据情况任选其一。 

image.png

加速套件安装后成为一个系统工具,以命令行的形式执行,一键使能加速策略。

  • 加速套件执行前的输入: CHPC 生科类用户输入的BtuneAK支持的负载名称或者类别。
  • 加速套件执行过程(包含使能/回滚两种执行): 加速套件使能执行后,返回使能结果。

加速套件回滚执行后,返回回滚成功失败的结果。

适用软件

注:优化效果为软件在测试基准版本运行结果。

image.png

在百度智能云 CHPC 使用 BtuneAK 对基因测序软件加速

准备工作

1、创建 CHPC 集群,具体操作,请参见 创建公共云标准集群

推荐配置参数

image.png

2、登录集群 :参考 登录集群,并切换到 work 用户

ssh root@<登录节点EIP>
su work
mkdir -p /home/work/local && cd /home/work/local

3、安装 BtuneAK 工具

在 /home/work 下载 BtuneAK 工具包并解压

cd /home/work/local && wget https://chpc-online.bj.bcebos.com/hic/release/output.tar.gz
tar zxvf output.tar.gz && mv output btuneAK

BtuneAK 加速使能

BtuneAK安装完成后,共 2 个文件夹,3 个文件,文件树如下:

[work@instance-xx ~]$ tree
.
├── btuneAK
│   ├── bin
│   │   └── btuneAK
│   └── conf
│       ├── accdata.conf
│       └── ak.conf
└── output.tar.gz

3 directories, 4 files

加速使能方法

image.png

这里以 Trimmomatic 使能为例

1)下载依赖软件及基因组数据信息

cd /home/work && mkdir -p /home/work/local
cd /home/work/local
wget https://chpc-online.bj.bcebos.com/hic/btuneak-example-files/software/jdk-17_linux-x64_bin.tar.gz && tar -zxf jdk-17_linux-x64_bin.tar.gz
wget https://chpc-online.bj.bcebos.com/hic/btuneak-example-files/software/Trimmomatic-0.39.zip && unzip Trimmomatic-0.39.zip

cd /home/work && mkdir -p /home/work/testjob/input && mkdir -p /home/work/testjob/output && cd /home/work/testjob/input
wget https://chpc-online.bj.bcebos.com/hic/btuneak-example-files/data/ctDNAFilter_node2.filtered_fq1.fastq
wget https://chpc-online.bj.bcebos.com/hic/btuneak-example-files/data/ctDNAFilter_node2.filtered_fq2.fastq
cp /home/work/local/Trimmomatic-0.39/adapters/TruSeq3-PE.fa /home/work/testjob

2)编写作业提交脚本

cd /home/work/testjob
#!/bin/bash
#SBATCH -n 1
#SBATCH -c 2
#SBATCH --mem 4g

enableBtuneAK=0
inputDir=/home/work/testjob/input
outputDir=/home/work/testjob/output

# 使能 BtuneAK 加速
if [[ $enableBtuneAK -eq 1 ]]; then
    /home/work/local/btuneAK/bin/btuneAK -enable -workload=zip
    source /home/work/local/btuneAK/common/lib/env_setup.sh 
fi

/home/work/local/jdk-17.0.12/bin/java -jar /home/work/local/Trimmomatic-0.39/trimmomatic-0.39.jar PE -threads 1 ${inputDir}/ctDNAFilter_node2.filtered_fq1.fastq ${inputDir}/ctDNAFilter_node2.filtered_fq2.fastq ${outputDir}/output_for_input1_paired.gz ${outputDir}/output_for_input1_unpaired.fq.gz ${outputDir}/output_for_input2_paired.gz ${outputDir}/output_for_input2_unpaired.fq.gz ILLUMINACLIP:TruSeq3-PE.fa:2:40:15

# 回滚 BtuneAK 加速
if [[ $enableBtuneAK -eq 1 ]]; then
    /home/work/local/btuneAK/bin/btuneAK -disable -workload=zip
fi
  1. 提交未启用 btuneak 优化的任务
sbatch trimmomatic.sbatch

通过查看 slurm-.out,可看到运行结果:
 

image.png


通过 slurm 命令可看到运行时长

sacct -l -j <jobid>

image.png


根据返回结果运行时长为51 分 57 秒

  1. 提交启用 btuneak 优化的任务

修改脚本启用加速

#!/bin/bash
#SBATCH -n 1
#SBATCH -c 2
#SBATCH --mem 4g

enableBtuneAK=1
inputDir=/home/work/testjob/input
outputDir=/home/work/testjob/output

# 使能 BtuneAK 加速
if [[ $enableBtuneAK -eq 1 ]]; then
    /home/work/local/btuneAK/bin/btuneAK -enable -workload=zip
    source /home/work/local/btuneAK/common/lib/env_setup.sh 
fi

/home/work/local/jdk-17.0.12/bin/java -jar /home/work/local/Trimmomatic-0.39/trimmomatic-0.39.jar PE -threads 1 ${inputDir}/ctDNAFilter_node2.filtered_fq1.fastq ${inputDir}/ctDNAFilter_node2.filtered_fq2.fastq ${outputDir}/output_for_input1_paired.gz ${outputDir}/output_for_input1_unpaired.fq.gz ${outputDir}/output_for_input2_paired.gz ${outputDir}/output_for_input2_unpaired.fq.gz ILLUMINACLIP:TruSeq3-PE.fa:2:40:15

# 回滚 BtuneAK 加速
if [[ $enableBtuneAK -eq 1 ]]; then
    /home/work/local/btuneAK/bin/btuneAK -disable -workload=zip
fi
sbatch trimmomatic.sbatch

通过查看 slurm-.out,可看到加速后的结果

image.png

通过 slurm 命令可看到运行时长

sacct -l -j <jobid>

image.png

根据返回结果,相同执行方式下,运行时长为 23 分 12 秒,对比未加速前的51 分 57 秒,端到端运行时长缩短 55%左右。


 

附:

安装生科类软件方式

  • 安装BWA。具体请参见 BWA
  • 安装FastQC。具体请参见 FastQC
  • 安装Picard。具体请参见 Picard
  • 安装Trimmomatic。具体参见 Trimmomatic

欢迎了解百度智能云 CHPC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值