最新消息:华育范文展示优秀的文章,范文,工作日记!

基于CUDA的蛋白质翻译后修饰鉴定MS-Alignment算法加速研究

外语翻译admin44浏览0评论

hitori是什么意思ori在线翻译读音例句-辛普森一家24季


2023年10月10日发(作者:x疾病)

第27卷第9期

2010年9月

Application Research of Computers

V01.27 No.9

Sep.2010

基于CU DA的蛋白质翻译后修饰鉴定

MS・Algnment 算法加速研究

翟艳堂 ,涂强 ,郎显宇 ,陆忠华 ,迟学斌

(1.中国科学院计算机网络信息中心超级计算中心,北京100190;2.中国科学院研究生院,北京100049)

要:对MS—Algnment算法进行分析得出该算法很难满足大规模数据对鉴定速度的要求,而且具有的一个特

点是相同的任务在不同的数据上重复计算,为数据划分提供了基础。基于CUDA编程模型使用图形处理器

(GPU)对步骤数据库检索及候选肽段生成进行加速优化,设计了该步骤在单GPU上的实现方法。测试结果表

明,此方法平均加速比为30倍以上,效果良好,可以满足蛋白质翻译后修饰鉴定中大规模数据快速计算的需求。

关键词:蛋白质翻译后修饰鉴定;MS—Algnment;图形处理器;统一计算设备架构

中图分类号:TP312 文献标志码:A 文章编号:1001—3695(2010)09—3409 06

doi:10.3969/j.in.1001—3695.2010.09.056

Research of CUDA.based acceleration of MS.Alignment for

identifcation of post—translational modications

ZHAI Yan—ang ,TU Qiang ,LANG Xin—yu ,LU Zhong—hua ,CHI Xue bi

(1.Supercomputing Center,Computer NetworInformation Center,Chinese Academy fScience,Beijing 100190,China;2.Graduate Universi

Chinese Academy ofScience,Bering 100049,China)

Abstract:This paper firstly analyzed MS—Alignment.It could not well meethe chalenge of large scale data.One of its lea—

tures was the same computing operations repeat on diferent data.This feature provided base for data partition.This paper then

used GPU(graphics processing unis)tacceleratheep o databaseearch and candidateneaton.And presented an

optmized method based on CUDA(computunied devce arhiecture)progamming model on singl GPU.The expermen—

tal results show thathe average speedup ratio is more than 30,and the method efectvely improves identication speed and is

applicable fr large scale data requiring for high—speed processing.

Key words:identcaon of postnsatona modicatons;MS—Algnment;graphics processing unis(GPU);comput

unifed device archiecture(CUDA)

在生物信息学领域逐渐成为发展趋势,一些研究工作取得了全

0 引言

研究蛋白质翻译后修饰(posansatonal modicatons)是

新进展,产生了一些基于GPU的软件 ’

由于从基本的图形设备发展到高度并行化的多线程多核

处理器,GPU主要用于数据处理而非数据缓存和流控制,非常

适合于计算密集型、高度数据并行化的计算 ” 。本文对

理解各种细胞调节过程的关键,对阐明蛋白质的功能具有重要

作用 。MS—Algnment算法是一种非限制性的蛋白质翻译后

修饰鉴定算法,其优点在于卣搜索:在不知道样本中存在哪些

MS—Algnment算法进行分析,得出该算法的一个特点是相同的

计算任务在大量数据上重复计算,其为数据并行提供了基础。

NVIDIA公司发布的CUDA(compute unid device arhiecure,

统一计算设备架构)是一种并行编程模型,能促使GPU发挥并

行计算的优势,CUDA是C编程语言的扩展,编程简单,入门容

川。本文选择CUDA编程模型设计该算法的关键步骤

翻译后修饰类型的情况下利用串联质谱检索蛋白质序列数据

库,还可以发现一些未知的翻译后修饰 “。。但是MS—Algn—

ment鉴定速度较慢,很难满足快速增长的实验质谱数据和蛋

白质数据库 对提高鉴定速度的要求 。

高性能计算的发展对提升速度做出了巨大贡献。从2003

即数据库检索及候选肽段生成在GPU上的实现方法,并总结

年开始,GPU(graphics procesng unis)就在浮点运算性能和存

储器带宽上将 ̄CPU抛在其后 ̄7, 3,在功耗和成本上也优势明

显 ,而且随着GPU上可编程性的增强,GPU突破仅用于图形

领域的局限,开始用于一些通用计算 ’ 。GPU高性能计算

收稿日期:2010.03.11;修回日期:2010.04—12 基金项目:中国科学院知识创新工程重大项目基金资助项目(KGGX1一Yw-13);CNIC主

些GPU优化技巧,最终对其结果进行分析。将GPU计算技

术应用于MS—Algnment算法的提速是可行的,取得了30倍以

上的加速比。

CUDA是NVIDIA公司发布的用于NVIDIA GPU上的通用

任基金资助项目(CNIC—ZR 09005);财政部国家重大科研装备研制项目(ZDYZ2008-2);中国科学皖院长奖获得者科研专项基金资助

作者简介:翟艳堂(1984.),男,江苏徐州人,硕士,主要研究方向为并行计算(zyt0303@163.cn);涂强(1984一),男,工程师,硕士,主要研究方向

为并行计算;郎显宇(1979.),女,助研,博士,主要研究方向为生物信息与并行计算;陆忠华(1965一),女,研究员,博士,主要研究方向为生物数学与

并行计算;迟学斌(1963一),男,研究员,博士,主要研究方向为网格计算、并行计算与软件.

3410・ 机应用研第27卷

并行编程模型,是C编程语言的扩展 川。使用CUDA编程

时,CPU被作为主机(host),GPU被作为主机的协处理器(CO—

procesor),被看做执行高度线程化并行处理任务的计算设备

(device)。运行在GPU上的CUDA并行计算函数称为内核

情况(简称Mod=3+)。不同的情况计算匹配的方法有所不

同。

本文主要研究的是Mod=2的情况,对于其他情况亦可借

鉴本文GPU加速方法,本文暂不讨论。

输入:一张实验质谱

预处理

Tag2 ̄成

(kerne1),以线程栅格( d)的形式组织,线程栅格由若干个线

程块(block)组成,每个线程块又由若干个线程(thread)组成。

使用nvcc编译器编译CUDA源文件,kemel将被编译成设备端

指令。在实际运行中,线程块会被分割为更小的线程束

(warp),线程束作为真正的执行单位。线程束的大小由硬件的

取数据库中一条蛋白质序列

计算该蛋白质序列的任意候选

肽段与实验质谱的匹配分数

输入:一个蛋自质数据库

数据库检索及候选肽段生成 若该分数大于最优匹配分数

还有蛋白质

则更新最优匹配

计算能力版本决定,在采用Tesa架构的GPU中,一个线程束

由连续的32个线程组成。GPU有自己的存储器,称为设备存

储器(device memo ̄),相对于CPU的主机存储器(hos memo—

y)。CUDA规定了如下的存储器模型:每个线程拥有自己的

P埴计算

寄存器(regier)和局部存储器(1oca memo ̄);每个线程块拥

有一块共享存储器(shaed memo ̄);线程栅格中的所有线程

均可以访问全局存储器(global memo ̄);所有线程可只读访问

的两种存储器,即常数存储器(cons memo ̄)和纹理存储器

(texur memo ̄)。

否还有实验

输出:最优修饰肽段

J输出最优修饰肽段j

肽段生成主要流程

图1 MS—Alignment主要流程

图2数据库检索及候选

Mod=2的计算匹配方法定义一个IPI X fNodesI的矩

MS—Algnment算法

1.1 修饰肽段鉴定问题

阵D7。其中:P是蛋白质数据库中某条蛋白质序列,Nodes是

质谱谱峰的集合。

矩阵中每个元素看做是一个节点(node),沿矩阵准对角

线方向构建有向路径,路径上的节点是矩阵的元素( ),边的

起点(i, )和终点(,)满足i≤ 且 ≤,,某个节点处的分数

符号定义1 A={a 一,。}代表20种氨基酸的集合,

mass(a )代表氨基酸的分子质量。

符号定义2 P=p。…P 代表肽段序列,P ∈A,其质量为

mass(P)= mass(P )

代表到达该节点路径的分数。对于矩阵中尚未计算分数的某

点(i ),以一条最佳(分数最高)的边与已计算分数的某点

(i…,L )建立联系而拓展路径,该边的起点和终点分别是

(i…,Jp )和(i, )。

P在氨基酸P 处发生修饰变成修饰肽段P,质量变为mass

(P)+△,△是质量差。

矩阵中某条路径的分数加上某个后缀的分数及位点处的

修饰分数即为某肽段与质谱的匹配分数,当此分数满足一定的

条件时,该路径上的氨基酸和该后缀及位点处的修饰构成的肽

段即为候选肽段。

符号定义3 S代表实验质谱,其母离子质量PM等于产

生该质谱的肽段的质量。

符号定义4 prefxseore(P , )(i≤ )是肽段前缀P …P

打分函数,ufxscoe(p p )(i ≤ )是肽段后缀P …p,打分

函数,ptmscore(A,P )是氨基酸P 位点处发生修饰△打分函

数,score()代表其他打分函数。

符号定义5 DB代表蛋白质数据库,其中肽段最多发生

次修饰产生的任意修饰肽段称为候选肽段p,具有最佳匹配分

数的候选肽段称为最优修饰肽段P 。

修饰肽段鉴定问题(modid peptdedentaton prob—

em)L J输入:蛋白质数据库DB,实验质谱S,修饰发生的次数

候选肽段P …Pj(i ≤ < )与质谱的匹配分数为

D:D P , )+sufxscore(p +1,p ) ptmseom(A,P +1) (1)

其中:P ∈P,n ∈Nodes;min ̄≤△≤ma】△,rnin ̄、maxA分别为修

饰质量差的最小值和最大值。

矩阵中某点的分数:

DT(p ,n )=score(mass(n^))+bestcore (2)

其中:

bestscore=max{

初始值:startcore(p );

输出:最优修饰肽段 。

1.2 MS—AlgnmentMod=2)算法描述

MS—Alnment算法主要由预处理(preprocessing)、Tag生成

(Tag geneaton)、数据库检索及候选肽段生成(database search

&candidatgeneraton)和P值计算(P—value computon)几个

nax{D P ,edge.tonode)+score(edge)I edge∈{n 向后跨度

mass( )的边}};

max{DT(pH,edgedouble.tonode)+score(1/2mass(edged0uble))+

score(edgedouble)I edgedouble∈{ 向后跨度mass(pHPr)的边}l;

ma{Dr(p 一3,edgetiple.tonode)+score(I/3mass(edgetriple))+

步骤组成,如图1所示。数据库检索及候选肽段生成是其关键

步骤,如图2。计算蛋白质序列的任意候选肽段与实验质谱的

匹配分数(简称计算匹配,下同)是数据库检索部分的重要部

。Ms-Algnment依据限定修饰发生的次数分成三个模

块,即最多有一个翻译后修饰情况(简称Mod=1)、最多有两

score(2/3mass(edgetple))+SCOID(edgetriple)l edgetple∈{ 向后跨

度mass(p 2P P )的边}};

max{D P ,,n0)+prefxscore(p P )10<i ≤i};

ma{DT(p ,,Ho)+prefxscore(p 一,P )+ptmseore(A,P )10<i ≤i,

minA≤△≤ma)△}:

1.3 MS—AlgnmentMod=2)算法性能分析

对MS—Algnment(Mod=2)算法进行分析得出其计算时间

个翻译后修饰情况(简称Mod=2)和最多有多个翻译后修饰 复杂度为0( ・m ・m ・Mj)。其中: 为实验质谱的

第9期 翟艳堂,等:基于CUDA的蛋白质翻译后修饰鉴定MS—Algnment算法加速研究 ・3411・

2.1.2使用GPU加速的可行性

数量, 为蛋白质数据库中蛋白质序列条数,m 是蛋白质序

列长度,即构成该蛋白质的氨基酸个数,m 是质谱谱峰数,

是修饰质量差跨度。然后进行实际数据测试,测试使用的实验

质谱由中国科学院上海生命科学研究院盛泉虎博士提供;蛋白 个特点是相同的计算任务在不同的数据上重复计算,此特点

质数据库采用ipi.MOUSE.v3.29.REVERSED(107 962条蛋白

质序列)由盛泉虎博士提供,uniprot—sprot(466 739条蛋白质序 质序列划分成一个个小肽段,是一种细粒度的数据划分。

列)来源于EMBL—EBI(European Molecul Biogy Laboratory— MS—Algnment(Mod=2)移植到GPU上之后,GPU上不同

Eurpean Bioinfmatcs nsute,欧洲分子生物学实验室暨欧洲

生物信息学中心)。

对MS—Algnment(Mod=2)算法分析可得其计算任务在不

同的实验质谱、不同的蛋白质序列上重复计算,因此该算法的

为数据并行提供了基础。对蛋白质数据库进行划分,是将蛋白

的线程采用相同的任务处理不同的数据,之间数据相关性比较

小而且不复杂,可以采取CUDA提供的通信机制 和编程者

采取其他方法有效解决。

2.2 DCGPUM 2算法描述

在表1所列的环境1下,统计了该算法在输入不同质谱数

量和不同规模蛋白质数据库的情况下的计算时间,如图3所

示;采用文献[6]的程序统计了在环境3集群上的计算时间如

图4所示。

表l硬件环境

环境 硬件配置

CPU:AMD Phenom 9850 2.5 GHz;Memory:8 GB

CPU:Intel Xe。“E5410 2・33 GH ;M m。r:8 GB;

GPU:NVIDIA Tes C1060 1.44 GHz:Compier:nvcc 2 2

Cluster:18个计算节点,每个节点配置一颗lntel Xeon

E5410四核处理器,2 33 GHz,8 GB内存

=1

pectra searched spectrsearched

图3 MS—Alignment(Mod:2) 图4 Ms—A1ignment(M0d=2)

CPU串行执行时间 在cluster上的执行时间

进一步对算法各步骤计算时间占整个计算时间的比重进

行统计分析,得到步骤数据库检索及候选肽段生成的计算时间

占99.9%以上。因此,如果能降低此部分的计算时问,则整个

流程的计算时间就能有效地减少。

2 GPU加速算法DCGPUM 2

2.1 MS—AlgnmentMod=2)使用GPU加速的原因和可行性

2.1.1 使用GPU加速的原因

GPU的设计能使更多晶体管用于数据处理而非数据缓存

和流控制,特别适合于计算密集型、高度数据并行化的计

。众多的处理核心(如NVIDIA Tes C1060有240个处

理核心)使数据细粒度并行化更高。

MS.Algnment需要两种数据,即实验质谱和蛋白质数据

库。而且数据量较大、计算时间长。根据图3的增长趋势,当

实验质谱有50 000张、蛋白质数据库采用ipi.MOUSE.v3.29.

REVERSED时 鉴定时间可达26 715 h(3年左右);蛋白质数

据库采用uniprt—sprot时,鉴定时间可达94 432 h(10年左

右),在集群上也可达2 770 h(3.85个月左右)。当质谱数量

和数据库规模较大时,算法不能很好地满足鉴定速度的要求,

需要采用高性能计算加速鉴定过程。可对上述两种数据进行

划分,即实验质谱是粗粒度数据并行;蛋白质数据库是细粒度

数据并行。在划分质谱的基础上进一步对蛋白质数据库进行

划分可带来更高的加速效果,而对蛋白质数据库的细粒度数据

并行适合采用GPU处理。

借鉴加利福尼亚大学圣地亚哥分校计算质谱中心(Center

for Computational Mass Spectrometry,University of California,San

Diego)实现MS—Algnment算法的代码,设计数据库检索及候选

肽段生成在单GPU上实现的算法DCGPUM2(database seach

and candidate genern usng GPU for Mod=2)。数据划分的

方法如下:将数据库中所有的蛋白质序列看成一整条序列;将

该序列划分成等长的序列段依次用GPU处理;在GPU内,将

序列段划分到多个线程块上;在线程块内,将序列段划分成更

小的序列段分配到多个线程,线程之间共享一部分小序列片

段,具体如图5所示。DCGPUM2主要流程如图6所示。将蛋

¨

白质数据库中的所有序列看成一条序列PW。

_

GPU GPU GPU GPU

_

hread htead

图5 DCGPUM2数据划分方式 图6 DCGPUM2主要流程

第一个内核:kernell。每个线程计算以序列PW的氨基

酸P 开始长度为32的肽段P=P …P 中每个前缀PⅢ 的质

量和分数,并且P。 也是以P 作为开始氨基酸。其结果存储

在全局存储器空间。

第二个内核:keme ̄。每个线程计算以序列PW的氨基酸

结束长度为32的肽段P:p …P 中每个后缀P 的质量

和分数,并且P 也是以P 作为结束氨基酸。其结果存储在

全局存储器空间。

第三个内核:kerel3。采用式(2)动态规划地填充表D

每个线程填充一列,在计算表中每个元素值时,考虑前缀处发

生一次修饰,而且与DT左上角的某些值具有数据相关性,

图7所示。因为不同线程之间具有数据相关性,在填充一个元

素之后需要全局同步,如图8所示。

第四个内核:kernel4。遍历DT表,查找候选肽段。每个

线程遍历一列,遍历到表中每个元素时,考虑后缀处发生一次

修饰。

2.算法实现优似

存储器带宽是计算机性能的瓶颈之一,在以运算为主的

CUDA程序中,应尽量避免让存储器访问和通信成为性能瓶

颈;而在以存储器访问为主的应用中,应尽可能增大程序的可

3412・ 用研第27卷

用带宽 。每种存储器的高效带宽较大程度地依赖于存储器

(coalesced access),而且使用共享存储器不出现存储体冲突,

不出现使用共享存储器过多而造成线程块并发性降低或ker

的访问模式 ”, ],实现存储器的最大可用带宽是CUDA程序

优化的重要任务之一 ne】启动失败 等等。如果不出现存储体冲突,访问共享存储

图7填充D 表数据相关性 图8全局同步

1)全局同步(global synchroniaton)

2.2节中提到采用动态规划的方式填充表DT,在计算表

中每个元素值时,与DT左上角的某些值具有数据相关性。这

样不同的线程之间具有数据相关性,而且跨线程块的线程之间

具有数据相关性,因此在填充一个元素之后需要全局同步。

CUDA提供的kernel函数内同步指令有:syncthreads()、

hreadfenee

blck()、一threadfence(),前两者是线程块内同步,

后者可用于全局同步” ;启动kenel也可以作为全局同步

点 』。两种方法均可以用于本文:kernel函数内循环运算,

用一threadfence()函数全局同步;kernel函数外循环运算,采用

启动kernel作为全局同步点。经比较,后者比前者性能提升

8.46%左右(图9)。

2)使用分页锁定存储器(page—ocked memo ̄)

NVIDITes C1060通过PCI E总线与主机端连接,一条

PCI2.0 16x总线的理论带宽是双向每向8 GBps,远小于显

存和GPU片上存储器带宽。PCIE总线带宽很容易成为整个

程序性能提升的瓶颈。使用分页锁定存储器的优势之一是主

机端与设备端之间的存储带宽较高 。使用分页锁定存储器

产生32.37%左右的性能提升(图9),性能提升在于主机端和

设备端数据传输部分。 不使用分页锁定存储器时,主机端向设

备端数据传输带宽为1.63 GBps,设备端向主机端数据传输带

宽为1.94 GBps;使用分页锁定存储器后,两者分别增至2.47

GBps和5.11 GBps。

3)使用纹理存储器(texur memo ̄)

纹理存储器有缓存且对二维空间局域性缓存有优化,因此

访存性能较高 』,而且其空问比常数存储器空间大得多:在通用

计算中非常适合用于图像处理或查找表,对大量数据的随机访

问或非对齐访问也有良好的加速效果… 。本文kernel函数中

要随机地查找一些表,而且只读,适合采用纹理存储器存储这些

表。质谱节点向后跨度一个氨基酸的表,在host端代码中用链

表存储结构,使用指针数据类型,而在device端代码kernel函数

中不能再使用这种结构,而且在kenel函数中对其只读。观察

此表,其具有稀疏矩阵的形态,采用行压缩格式存储在纹理存储

器空间,一些具有同样特点的表也采用这种方式存储。采用行

压缩存储格式能节省存储空间,采用纹理存储器是缘其优点。

使用纹理存储器带来约3O.94%的性能提升(图9)。

4)使用共享存储器(shared memory)及避免存储体冲突

(bank confct)

使用共享存储器或充分使用共享存储器不是提高性能的

充要条件,但是如果kernel函数的特点适合采用共享存储器则

可用之。例如,线程块内线程共享数据或通信,线程需要对全

局存储器空间多次访问或全局存储器访问不能构成联合访问

器几乎和访问寄存器一样快。本文的kel函数中不同的线

程共享一部分数据,而且这些数据存储在全局存储器中,因此

本文采用共享存储器在不同的线程之间共享数据而减少重复

频繁地访问全局存储器。共享存储器的元素类型占4 Byte,访

存索引与线程号对应,避免存储体冲突。使用共享存储器产生

4.9%左右的性能提升,如图9所示。

spectrum:histoneFT

1.10003 10003.2 J日增加时间

12O

datah _ninrot snrnt 1矗优化后时间

10O

8O

_ ]1

4.9%

60

40

74.87

20

优化后k… l内循环 未使用分页 未使用 未使用

锁定存储器纹理存储器共享存储器

图9 GPU优化性能提升

5)全局存储器联合访问(coalsced access)

全局存储器访问延时是400~600时钟周期(clock cycle),

而且不会被缓存,经常成为性能提升的障碍,因此采用正确的

访问模式来实现最大化的存储器带宽尤为重要。全局存储器

联合访问,即半warp块中的线程进行的全局存储器访问可结

合成一个存储器事务时,全局存储器带宽的使用效率将达到最

高 。本文具体采用以下方式:

a)将氨基酸以字符(char)的形式存储,在全局存储器中占

8 bit;蛋白质的氨基酸序列顺序存储,不同的线程顺序访问序

列中的氨基酸,这样可构成全局存储器的联合访问。

b)使用内嵌的数据类型int2存储质量和分数,使用uint

类型存储地址值,使不同的线程按顺序访问全局存储器。

c)如果将申请的全局存储器空间看成逻辑二维表,则每

个线程按列访问,不同线程按行顺序访问 如图l0所示。

性能分析

采用1.3节中同样的实验质谱和蛋白质数据库;GPU计

算环境为表1中的环境2,与其对比的是环境l和3;环境3上

的并行程序采用文献[6]中的程序。

3.1加速比分析

统计了GPU加速后整个流程的计算时间,如图11所示。

根据图11的增长趋势,当实验质谱有50 000张、蛋白质数据

库采用ipi.MOUSE.v3.29.REVERSED时,鉴定时间约需750 h

(31天左右),蛋白质数据库采用uniprot—sprot时,鉴定时间约

需2 525 h(3.51个月左右)。

甲 甲甲

_

[[圈….口图

;;;; ;;;;

第9期 翟艳堂,等:基于CUDA的蛋白质翻译后修饰鉴定MS—Algnment算法加速研究 ・3413・

GPU相对于集群18个节点(72颗处理器)的加速比分别如图 次传输的数据量。本文申请的全局存储器空间量约为77

2~15。由图可见,输入不同质谱数量和不同蛋白质数据库规

模的情况下,单GPU相对于单CPU的加速比略有不同,核心 储器空间,循环处理DCGPUM2流程,每次使用不同块空问,

函数的加速比略高于整个流程的加速比,但性能提升均在30

倍以上,而且当数据库规模较大时,加速比在41倍以上。

:!: !:翌 !12:!=! :!1

-4o

_髫 3 _

30

晏2o

10

spectra searched

图12数据库检索及候选肽段生成单GPU相对于

单CPU的加速比

墓50

olefloSE.v329.EVERSED

HKqi

MOU

Dun

pr ̄t-pr ̄

4l 35 4l 91 42.1

,1 55 4l 37

}40

30

姜20

10

0 I _L_. i. _i。

10 50 100

spectra searched

图1 整个流程单GPU相对于单CPU的加速比

7l l42 2】3 284 355 426 497

spectra searched

图14整个流程单GPU计算 图15整个流程单GPU相对于

时间与集群计算时间的比较 集群的加速比

DCGPUM2是对蛋白质数据库而不是质谱数据进行划分,

虽然不同质谱计算时问不一定相同,但当质谱数量较大时,整

个流程单GPU计算时间与质谱数量大致呈正比关系,因此在

图11和14中,整个流程单GPU计算时问增长方式大致呈线

性。由1.3节可知,整个流程单CPU计算时间与质谱数量也

大致呈正比关系;数据库检索及候选肽段生成步骤的计算时间

与质谱数量也呈正比关系。因此,整个流程单GPU相对于单

CPU的加速比和数据库检索及候选肽段生成单GPU相对于单

CPU的加速比基本稳定,与质谱数量没有关系。

在图4和l4中,整个流程在集群上的计算时间随质谱数

量的增加而增加,但不是正比关系。输入质谱数量不同的情况

下,负载平衡效率不同,最优情况是负载平衡效率为100%,但

往往负载平衡效率不高。。J。之所以在图15中,质谱数量为

426处所对应的加速比仅为0.97,比图中其他值都小,是因为

质谱数量为426时,集群处理器负载平衡效率比其他处高,

成集群计算时间与质谱数量的比率较低。

本文在算法实现上采用多种优化方法,得到了较高的加速

比,但笔者认为尚有进一步性能提升的空间,可以在以下方面

作进一步优化:

a)主机与设备之间的数据传输。主机与设备之间的数据

传输时间占DCGPUM2执行时间的3l%以上,如图16所示,减

少此部分时间对性能提升是有效的。可采用下面两种优化

途径:

(a)采用流操作,以期达到数据传输与内核执行之间异

步,减少程序执行时间。

(b)整块数据传输而不是多次分小块传输 ,并且增大

MB,远小于Tes C1060显存量。可以一次申请较大的全局存

后将整块数据一次传输。

b)控制流指令。控制流指令一般会影响有效指令吞吐

量,降低GPU程序执行性能 ,但是文献[17]中提出:如果只

需要少量线程进行操作,使用类似“i hreadldx<N”的方式避

免多个线程同时运行占用更长时问。可采用下面两种优化

途径:

(a)修改控制条件,尽量避免在warp内发生分支,如使控

制条件依赖于threadldx/warpSie(其中threadldx为线程ID,

warpSie为warp大小)

(b)循环展开,使用#pragma unroll指令,或者编写程序时

不使用循环语句而直接将循环展开。

e)GPU加速算法。如果能在GPU并行算法上进一步优

化,则性能提升空间将更大。

40

g 30

量20

奎10

结束语

本文在深入分析MS—Algnment(Mod=2)算法的基础上,

总结该算法的特点,提出了该算法核心计算模块数据库检索及

候选肽段生成的单GPU加速实现方法,总结了一些优化技巧,

针对不同情况采取相应的优化措施。测试结果表明,基于

GPU的算法比CPU上的串行算法提速明显,相对于集群也有

加速,可以满足大规模数据对鉴定速度的要求,GPU高性能计

算在蛋白质翻译后修饰鉴定中的应用对计算蛋白质组学海量

数据处理提供了一种新的思路。GPU用于并行计算及CUDA

编程具有优势,但也具有一些缺点。本文利用GPU并行计算

的思想和优化的技巧可以被借鉴于蛋白质翻译后修饰鉴定其

他算法的加速优化和GPU集群机器上的加速优化。MS—

Algnment算法是用实验质谱查询蛋白质数据库,鉴于此,可以

3414・ 机应用研第27卷

将GPU加速MS—Algnment的思想推广到基于质谱技术的计算

蛋白质组学的其他研究方面,如蛋白质鉴定(protein identca—

n)、氨基酸序列分析(amino acid sequence analysis)等,还可

[11]NVIDIA Corpoon.Tes BIO Workbench一助力新型科学[EB/

OL].[2010 03-11].htp://www.nvidia.en/objeet/tesa_bio_work—

m1 cn.ht

bench

以推广到其他领域,如蛋白质序列比对(prot sequence algn—

ment)、基因序列比对(geneequence algnment)等。

参考文献:

[1]NA S J,JEONG J H,PARK H J,et a1.Unrestictve dentication of

multiple post.ranslatonal modicationsom tandem mass speetome—

y using an error—tolerant algorhm based on fn extended sequence

[12]NVID1A Cororaton.Tesla Bio Workbench帮助科学家在生物科学

领域取得全新突破[EB/OL].[2010—03-1 1].htp://www.nvidia.

cn/object/io—1264405248416.htm1.

[13]SCHATZ M C,TRAPNELL C,DELCHER A L,et a1.High-thmu ̄-

put sequence aliment using graphics processing unis[J].BMC

Bioinformatcs,2007,8(1):474.

[14]IJU Yong—chao,MASKELL D L,SCHMIDT B.CUDASW++:0p-

timizing Smih-Waterman sequence database searched for CUDA—ena-

ag approach[J].Molecular and Celular Proteomics,2008,7

(12):2452—2463.

bled graphics processing unis[J].BMC Research Notes,2009,2

(J):73.

[2]TSUR D,TANNER S。ZANDI E,et a1.Identification of post—tansla—

onal modicatons via blnd search of mass specta[J].Nature Bio—

echnology,2005,23:1562-1567.

[1 5]LIGOWSKI L,RUDNICKI W.An efcientmplementation of smit

waterman agorihm on GPU using CUDA.f0r masivelparlel sca

[3]谢靖宇,谢深泉.一种鉴定蛋白质突变和翻译后修饰的算法

[J].计算机工程与应用,2007,43(28):61.64.

[4]FRANK A M.Algorhms for tandem mass spectometry—based pro.

eomies[D].San Diego:Universiy of Caora,2008.

[5]MANAVSKI S A,VALLE G.CUDA compatble GPU cards as ef

cient hardware accelerators fr Smih-Waterman sequence alignment

ning of sequence databases[C]//Proc ofEEE Interatona w0rk—

shop Ol High Perforance Computational Biology.2009:l一8.

[16]KIRK D,HWUWen-mei.ECE 498AL:appled parel progamming

[EB/OL].(2010)[2010—03-1 1].htp://courses.ece.ilinois.

edu/ece498/aL/.

[17]张舒,褚艳利.GPU高性能运算之CUDA[M].北京:中国水利

水电出版社,2009:14,44,58,143,152,166.

[J].BMC Bioinformatcs,2008,9(Suppl 2):S10.

[6]涂强.蛋白质翻译后修饰鉴定软件InsPecT的并行及优化研究

[D].北京:中国科学院研究生院,2009.

[7]NVIDIA Corporaton.NVIDIA CUDA Programming Guide version 2.

3.1[R].2009.

[8]FESTER T,SCHREIBER F,STRICKERT M.CUDA based mul

cole implementaton of MDS—based bioinformatcs algorhms[C]//

[18]TANNER S,SHU Hong-jun,FRANK A,et a1.Inspect:fast and ac—

curate identcaton of post-tanslatonally modied peptdes fom tan-

dem mass spectra[J].Anaiytcal Chemisty,2005,77(14):4626—

4639.

[19]UENG S Z,LATHARA M,BAGHSORKHI S S,et a1.CUDA—le:re.

ducing GPU programming complexiy:guagesd compier or pa

Pre of German Conference on Bioinformatcs.2009:67.79.

el computng[C]//Proc of he 2hh Interatonal Workshop.2008:

1—15.

[9]李博,刘国峰,刘洪.地震叠前时间偏移的一种图形处理器提速

实现方法[J].地球物理学报,2009,52(1):245.252.

[10]张庆丹,戴正华,冯圣中,等.基于GPU的串匹配算法研究[J].

计算机应用,2006,26(7):1735—1737.

[2O]邓仰东.NVIDIA CUDA超大规模并行程序设计训练课程:性能

提升[EB/OL].(2009)[2010・03—11].http://euda.esdn.net

Client/CUDA lecture.rar.

(上接第3405页)加,系统Top—n查准率均不断下降,反映了结果

havior:Google mobie search[c]//Prc of SIGCHI Conference on

Human Factors in Computing Systems.New York:ACM Press。20o6:

7O1.709.

的紧前趋势。个性化系统具有相对更高的查准率,表明本系统

相关结果排名更趋于靠前,实现了系统设计的目标。

[2]HAVELIWALA T H_Topic—sensive page rank[C]//Proc of he llt

Internatonal Conferenee on Word Wide Web.New York:ACM Press,

2002 5l7-526.

得O

霸0

[3]吴晓,李丹宁,林洁.个性化搜索引擎中用户兴趣模型的研究

[c]//g三届全国信息检索与内容安全学术会议论文集.2007:

829—832.

_标准-十性化

◆ 标准一个性化

图3平均查准率

图4 Top一 查准率

[4]LIU F,Yu C,MENG Weiyi.Peronalied Web search formprving

eteval effectveness[J].IEEE Tran¥on Knowledge and Dat

Engineerng,2004,16(1):28—40.

结束语

由于移动用户的应用特点,对信息的精确获取和排序成为

了一个需要重点解决的问题。本文设计了一个个性化的移动

搜索模型,与其他模型相比,它有两方面的优势:更细粒度的兴

趣映射和基于反馈机制的本体概念描述。最后设计了相应的

实验,其结果表明,本文的系统在查全率和查准率上都有较大

的提升。

参考文献:

[1]KAMVAR M,BALUJA S.A large scale study of wireless search be—

[5]VARMA V,SRIHARSHA N,PINGALI P,et a1.Peronazed Web

search engine for mobie devices[C]//Pre fnterationa Workshop

on Intellgent Inforaton Access.2oo6.

[6]SIEG A,MOBASHER B,BURKE R.Ontologica user profles f

peronalized Web search[C]//Proc ofhe 5th Workshop ou Intel

gent Techniques Web Pemonazaton.2007.

[7]GAUCH S,CHAFFEE J,PRETSCHNER A.Ontologbased perona.

zed seach and browsing[J].Web Intelgence and Agent Sys-

erns,2oo3,1(3—4):219-234.

常温干燥的英文燥翻译燥英语怎么说-a couple of


hitori是什么意思ori在线翻译读音例句-辛普森一家24季


2023年10月10日发(作者:x疾病)

第27卷第9期

2010年9月

Application Research of Computers

V01.27 No.9

Sep.2010

基于CU DA的蛋白质翻译后修饰鉴定

MS・Algnment 算法加速研究

翟艳堂 ,涂强 ,郎显宇 ,陆忠华 ,迟学斌

(1.中国科学院计算机网络信息中心超级计算中心,北京100190;2.中国科学院研究生院,北京100049)

要:对MS—Algnment算法进行分析得出该算法很难满足大规模数据对鉴定速度的要求,而且具有的一个特

点是相同的任务在不同的数据上重复计算,为数据划分提供了基础。基于CUDA编程模型使用图形处理器

(GPU)对步骤数据库检索及候选肽段生成进行加速优化,设计了该步骤在单GPU上的实现方法。测试结果表

明,此方法平均加速比为30倍以上,效果良好,可以满足蛋白质翻译后修饰鉴定中大规模数据快速计算的需求。

关键词:蛋白质翻译后修饰鉴定;MS—Algnment;图形处理器;统一计算设备架构

中图分类号:TP312 文献标志码:A 文章编号:1001—3695(2010)09—3409 06

doi:10.3969/j.in.1001—3695.2010.09.056

Research of CUDA.based acceleration of MS.Alignment for

identifcation of post—translational modications

ZHAI Yan—ang ,TU Qiang ,LANG Xin—yu ,LU Zhong—hua ,CHI Xue bi

(1.Supercomputing Center,Computer NetworInformation Center,Chinese Academy fScience,Beijing 100190,China;2.Graduate Universi

Chinese Academy ofScience,Bering 100049,China)

Abstract:This paper firstly analyzed MS—Alignment.It could not well meethe chalenge of large scale data.One of its lea—

tures was the same computing operations repeat on diferent data.This feature provided base for data partition.This paper then

used GPU(graphics processing unis)tacceleratheep o databaseearch and candidateneaton.And presented an

optmized method based on CUDA(computunied devce arhiecture)progamming model on singl GPU.The expermen—

tal results show thathe average speedup ratio is more than 30,and the method efectvely improves identication speed and is

applicable fr large scale data requiring for high—speed processing.

Key words:identcaon of postnsatona modicatons;MS—Algnment;graphics processing unis(GPU);comput

unifed device archiecture(CUDA)

在生物信息学领域逐渐成为发展趋势,一些研究工作取得了全

0 引言

研究蛋白质翻译后修饰(posansatonal modicatons)是

新进展,产生了一些基于GPU的软件 ’

由于从基本的图形设备发展到高度并行化的多线程多核

处理器,GPU主要用于数据处理而非数据缓存和流控制,非常

适合于计算密集型、高度数据并行化的计算 ” 。本文对

理解各种细胞调节过程的关键,对阐明蛋白质的功能具有重要

作用 。MS—Algnment算法是一种非限制性的蛋白质翻译后

修饰鉴定算法,其优点在于卣搜索:在不知道样本中存在哪些

MS—Algnment算法进行分析,得出该算法的一个特点是相同的

计算任务在大量数据上重复计算,其为数据并行提供了基础。

NVIDIA公司发布的CUDA(compute unid device arhiecure,

统一计算设备架构)是一种并行编程模型,能促使GPU发挥并

行计算的优势,CUDA是C编程语言的扩展,编程简单,入门容

川。本文选择CUDA编程模型设计该算法的关键步骤

翻译后修饰类型的情况下利用串联质谱检索蛋白质序列数据

库,还可以发现一些未知的翻译后修饰 “。。但是MS—Algn—

ment鉴定速度较慢,很难满足快速增长的实验质谱数据和蛋

白质数据库 对提高鉴定速度的要求 。

高性能计算的发展对提升速度做出了巨大贡献。从2003

即数据库检索及候选肽段生成在GPU上的实现方法,并总结

年开始,GPU(graphics procesng unis)就在浮点运算性能和存

储器带宽上将 ̄CPU抛在其后 ̄7, 3,在功耗和成本上也优势明

显 ,而且随着GPU上可编程性的增强,GPU突破仅用于图形

领域的局限,开始用于一些通用计算 ’ 。GPU高性能计算

收稿日期:2010.03.11;修回日期:2010.04—12 基金项目:中国科学院知识创新工程重大项目基金资助项目(KGGX1一Yw-13);CNIC主

些GPU优化技巧,最终对其结果进行分析。将GPU计算技

术应用于MS—Algnment算法的提速是可行的,取得了30倍以

上的加速比。

CUDA是NVIDIA公司发布的用于NVIDIA GPU上的通用

任基金资助项目(CNIC—ZR 09005);财政部国家重大科研装备研制项目(ZDYZ2008-2);中国科学皖院长奖获得者科研专项基金资助

作者简介:翟艳堂(1984.),男,江苏徐州人,硕士,主要研究方向为并行计算(zyt0303@163.cn);涂强(1984一),男,工程师,硕士,主要研究方向

为并行计算;郎显宇(1979.),女,助研,博士,主要研究方向为生物信息与并行计算;陆忠华(1965一),女,研究员,博士,主要研究方向为生物数学与

并行计算;迟学斌(1963一),男,研究员,博士,主要研究方向为网格计算、并行计算与软件.

3410・ 机应用研第27卷

并行编程模型,是C编程语言的扩展 川。使用CUDA编程

时,CPU被作为主机(host),GPU被作为主机的协处理器(CO—

procesor),被看做执行高度线程化并行处理任务的计算设备

(device)。运行在GPU上的CUDA并行计算函数称为内核

情况(简称Mod=3+)。不同的情况计算匹配的方法有所不

同。

本文主要研究的是Mod=2的情况,对于其他情况亦可借

鉴本文GPU加速方法,本文暂不讨论。

输入:一张实验质谱

预处理

Tag2 ̄成

(kerne1),以线程栅格( d)的形式组织,线程栅格由若干个线

程块(block)组成,每个线程块又由若干个线程(thread)组成。

使用nvcc编译器编译CUDA源文件,kemel将被编译成设备端

指令。在实际运行中,线程块会被分割为更小的线程束

(warp),线程束作为真正的执行单位。线程束的大小由硬件的

取数据库中一条蛋白质序列

计算该蛋白质序列的任意候选

肽段与实验质谱的匹配分数

输入:一个蛋自质数据库

数据库检索及候选肽段生成 若该分数大于最优匹配分数

还有蛋白质

则更新最优匹配

计算能力版本决定,在采用Tesa架构的GPU中,一个线程束

由连续的32个线程组成。GPU有自己的存储器,称为设备存

储器(device memo ̄),相对于CPU的主机存储器(hos memo—

y)。CUDA规定了如下的存储器模型:每个线程拥有自己的

P埴计算

寄存器(regier)和局部存储器(1oca memo ̄);每个线程块拥

有一块共享存储器(shaed memo ̄);线程栅格中的所有线程

均可以访问全局存储器(global memo ̄);所有线程可只读访问

的两种存储器,即常数存储器(cons memo ̄)和纹理存储器

(texur memo ̄)。

否还有实验

输出:最优修饰肽段

J输出最优修饰肽段j

肽段生成主要流程

图1 MS—Alignment主要流程

图2数据库检索及候选

Mod=2的计算匹配方法定义一个IPI X fNodesI的矩

MS—Algnment算法

1.1 修饰肽段鉴定问题

阵D7。其中:P是蛋白质数据库中某条蛋白质序列,Nodes是

质谱谱峰的集合。

矩阵中每个元素看做是一个节点(node),沿矩阵准对角

线方向构建有向路径,路径上的节点是矩阵的元素( ),边的

起点(i, )和终点(,)满足i≤ 且 ≤,,某个节点处的分数

符号定义1 A={a 一,。}代表20种氨基酸的集合,

mass(a )代表氨基酸的分子质量。

符号定义2 P=p。…P 代表肽段序列,P ∈A,其质量为

mass(P)= mass(P )

代表到达该节点路径的分数。对于矩阵中尚未计算分数的某

点(i ),以一条最佳(分数最高)的边与已计算分数的某点

(i…,L )建立联系而拓展路径,该边的起点和终点分别是

(i…,Jp )和(i, )。

P在氨基酸P 处发生修饰变成修饰肽段P,质量变为mass

(P)+△,△是质量差。

矩阵中某条路径的分数加上某个后缀的分数及位点处的

修饰分数即为某肽段与质谱的匹配分数,当此分数满足一定的

条件时,该路径上的氨基酸和该后缀及位点处的修饰构成的肽

段即为候选肽段。

符号定义3 S代表实验质谱,其母离子质量PM等于产

生该质谱的肽段的质量。

符号定义4 prefxseore(P , )(i≤ )是肽段前缀P …P

打分函数,ufxscoe(p p )(i ≤ )是肽段后缀P …p,打分

函数,ptmscore(A,P )是氨基酸P 位点处发生修饰△打分函

数,score()代表其他打分函数。

符号定义5 DB代表蛋白质数据库,其中肽段最多发生

次修饰产生的任意修饰肽段称为候选肽段p,具有最佳匹配分

数的候选肽段称为最优修饰肽段P 。

修饰肽段鉴定问题(modid peptdedentaton prob—

em)L J输入:蛋白质数据库DB,实验质谱S,修饰发生的次数

候选肽段P …Pj(i ≤ < )与质谱的匹配分数为

D:D P , )+sufxscore(p +1,p ) ptmseom(A,P +1) (1)

其中:P ∈P,n ∈Nodes;min ̄≤△≤ma】△,rnin ̄、maxA分别为修

饰质量差的最小值和最大值。

矩阵中某点的分数:

DT(p ,n )=score(mass(n^))+bestcore (2)

其中:

bestscore=max{

初始值:startcore(p );

输出:最优修饰肽段 。

1.2 MS—AlgnmentMod=2)算法描述

MS—Alnment算法主要由预处理(preprocessing)、Tag生成

(Tag geneaton)、数据库检索及候选肽段生成(database search

&candidatgeneraton)和P值计算(P—value computon)几个

nax{D P ,edge.tonode)+score(edge)I edge∈{n 向后跨度

mass( )的边}};

max{DT(pH,edgedouble.tonode)+score(1/2mass(edged0uble))+

score(edgedouble)I edgedouble∈{ 向后跨度mass(pHPr)的边}l;

ma{Dr(p 一3,edgetiple.tonode)+score(I/3mass(edgetriple))+

步骤组成,如图1所示。数据库检索及候选肽段生成是其关键

步骤,如图2。计算蛋白质序列的任意候选肽段与实验质谱的

匹配分数(简称计算匹配,下同)是数据库检索部分的重要部

。Ms-Algnment依据限定修饰发生的次数分成三个模

块,即最多有一个翻译后修饰情况(简称Mod=1)、最多有两

score(2/3mass(edgetple))+SCOID(edgetriple)l edgetple∈{ 向后跨

度mass(p 2P P )的边}};

max{D P ,,n0)+prefxscore(p P )10<i ≤i};

ma{DT(p ,,Ho)+prefxscore(p 一,P )+ptmseore(A,P )10<i ≤i,

minA≤△≤ma)△}:

1.3 MS—AlgnmentMod=2)算法性能分析

对MS—Algnment(Mod=2)算法进行分析得出其计算时间

个翻译后修饰情况(简称Mod=2)和最多有多个翻译后修饰 复杂度为0( ・m ・m ・Mj)。其中: 为实验质谱的

第9期 翟艳堂,等:基于CUDA的蛋白质翻译后修饰鉴定MS—Algnment算法加速研究 ・3411・

2.1.2使用GPU加速的可行性

数量, 为蛋白质数据库中蛋白质序列条数,m 是蛋白质序

列长度,即构成该蛋白质的氨基酸个数,m 是质谱谱峰数,

是修饰质量差跨度。然后进行实际数据测试,测试使用的实验

质谱由中国科学院上海生命科学研究院盛泉虎博士提供;蛋白 个特点是相同的计算任务在不同的数据上重复计算,此特点

质数据库采用ipi.MOUSE.v3.29.REVERSED(107 962条蛋白

质序列)由盛泉虎博士提供,uniprot—sprot(466 739条蛋白质序 质序列划分成一个个小肽段,是一种细粒度的数据划分。

列)来源于EMBL—EBI(European Molecul Biogy Laboratory— MS—Algnment(Mod=2)移植到GPU上之后,GPU上不同

Eurpean Bioinfmatcs nsute,欧洲分子生物学实验室暨欧洲

生物信息学中心)。

对MS—Algnment(Mod=2)算法分析可得其计算任务在不

同的实验质谱、不同的蛋白质序列上重复计算,因此该算法的

为数据并行提供了基础。对蛋白质数据库进行划分,是将蛋白

的线程采用相同的任务处理不同的数据,之间数据相关性比较

小而且不复杂,可以采取CUDA提供的通信机制 和编程者

采取其他方法有效解决。

2.2 DCGPUM 2算法描述

在表1所列的环境1下,统计了该算法在输入不同质谱数

量和不同规模蛋白质数据库的情况下的计算时间,如图3所

示;采用文献[6]的程序统计了在环境3集群上的计算时间如

图4所示。

表l硬件环境

环境 硬件配置

CPU:AMD Phenom 9850 2.5 GHz;Memory:8 GB

CPU:Intel Xe。“E5410 2・33 GH ;M m。r:8 GB;

GPU:NVIDIA Tes C1060 1.44 GHz:Compier:nvcc 2 2

Cluster:18个计算节点,每个节点配置一颗lntel Xeon

E5410四核处理器,2 33 GHz,8 GB内存

=1

pectra searched spectrsearched

图3 MS—Alignment(Mod:2) 图4 Ms—A1ignment(M0d=2)

CPU串行执行时间 在cluster上的执行时间

进一步对算法各步骤计算时间占整个计算时间的比重进

行统计分析,得到步骤数据库检索及候选肽段生成的计算时间

占99.9%以上。因此,如果能降低此部分的计算时问,则整个

流程的计算时间就能有效地减少。

2 GPU加速算法DCGPUM 2

2.1 MS—AlgnmentMod=2)使用GPU加速的原因和可行性

2.1.1 使用GPU加速的原因

GPU的设计能使更多晶体管用于数据处理而非数据缓存

和流控制,特别适合于计算密集型、高度数据并行化的计

。众多的处理核心(如NVIDIA Tes C1060有240个处

理核心)使数据细粒度并行化更高。

MS.Algnment需要两种数据,即实验质谱和蛋白质数据

库。而且数据量较大、计算时间长。根据图3的增长趋势,当

实验质谱有50 000张、蛋白质数据库采用ipi.MOUSE.v3.29.

REVERSED时 鉴定时间可达26 715 h(3年左右);蛋白质数

据库采用uniprt—sprot时,鉴定时间可达94 432 h(10年左

右),在集群上也可达2 770 h(3.85个月左右)。当质谱数量

和数据库规模较大时,算法不能很好地满足鉴定速度的要求,

需要采用高性能计算加速鉴定过程。可对上述两种数据进行

划分,即实验质谱是粗粒度数据并行;蛋白质数据库是细粒度

数据并行。在划分质谱的基础上进一步对蛋白质数据库进行

划分可带来更高的加速效果,而对蛋白质数据库的细粒度数据

并行适合采用GPU处理。

借鉴加利福尼亚大学圣地亚哥分校计算质谱中心(Center

for Computational Mass Spectrometry,University of California,San

Diego)实现MS—Algnment算法的代码,设计数据库检索及候选

肽段生成在单GPU上实现的算法DCGPUM2(database seach

and candidate genern usng GPU for Mod=2)。数据划分的

方法如下:将数据库中所有的蛋白质序列看成一整条序列;将

该序列划分成等长的序列段依次用GPU处理;在GPU内,将

序列段划分到多个线程块上;在线程块内,将序列段划分成更

小的序列段分配到多个线程,线程之间共享一部分小序列片

段,具体如图5所示。DCGPUM2主要流程如图6所示。将蛋

¨

白质数据库中的所有序列看成一条序列PW。

_

GPU GPU GPU GPU

_

hread htead

图5 DCGPUM2数据划分方式 图6 DCGPUM2主要流程

第一个内核:kernell。每个线程计算以序列PW的氨基

酸P 开始长度为32的肽段P=P …P 中每个前缀PⅢ 的质

量和分数,并且P。 也是以P 作为开始氨基酸。其结果存储

在全局存储器空间。

第二个内核:keme ̄。每个线程计算以序列PW的氨基酸

结束长度为32的肽段P:p …P 中每个后缀P 的质量

和分数,并且P 也是以P 作为结束氨基酸。其结果存储在

全局存储器空间。

第三个内核:kerel3。采用式(2)动态规划地填充表D

每个线程填充一列,在计算表中每个元素值时,考虑前缀处发

生一次修饰,而且与DT左上角的某些值具有数据相关性,

图7所示。因为不同线程之间具有数据相关性,在填充一个元

素之后需要全局同步,如图8所示。

第四个内核:kernel4。遍历DT表,查找候选肽段。每个

线程遍历一列,遍历到表中每个元素时,考虑后缀处发生一次

修饰。

2.算法实现优似

存储器带宽是计算机性能的瓶颈之一,在以运算为主的

CUDA程序中,应尽量避免让存储器访问和通信成为性能瓶

颈;而在以存储器访问为主的应用中,应尽可能增大程序的可

3412・ 用研第27卷

用带宽 。每种存储器的高效带宽较大程度地依赖于存储器

(coalesced access),而且使用共享存储器不出现存储体冲突,

不出现使用共享存储器过多而造成线程块并发性降低或ker

的访问模式 ”, ],实现存储器的最大可用带宽是CUDA程序

优化的重要任务之一 ne】启动失败 等等。如果不出现存储体冲突,访问共享存储

图7填充D 表数据相关性 图8全局同步

1)全局同步(global synchroniaton)

2.2节中提到采用动态规划的方式填充表DT,在计算表

中每个元素值时,与DT左上角的某些值具有数据相关性。这

样不同的线程之间具有数据相关性,而且跨线程块的线程之间

具有数据相关性,因此在填充一个元素之后需要全局同步。

CUDA提供的kernel函数内同步指令有:syncthreads()、

hreadfenee

blck()、一threadfence(),前两者是线程块内同步,

后者可用于全局同步” ;启动kenel也可以作为全局同步

点 』。两种方法均可以用于本文:kernel函数内循环运算,

用一threadfence()函数全局同步;kernel函数外循环运算,采用

启动kernel作为全局同步点。经比较,后者比前者性能提升

8.46%左右(图9)。

2)使用分页锁定存储器(page—ocked memo ̄)

NVIDITes C1060通过PCI E总线与主机端连接,一条

PCI2.0 16x总线的理论带宽是双向每向8 GBps,远小于显

存和GPU片上存储器带宽。PCIE总线带宽很容易成为整个

程序性能提升的瓶颈。使用分页锁定存储器的优势之一是主

机端与设备端之间的存储带宽较高 。使用分页锁定存储器

产生32.37%左右的性能提升(图9),性能提升在于主机端和

设备端数据传输部分。 不使用分页锁定存储器时,主机端向设

备端数据传输带宽为1.63 GBps,设备端向主机端数据传输带

宽为1.94 GBps;使用分页锁定存储器后,两者分别增至2.47

GBps和5.11 GBps。

3)使用纹理存储器(texur memo ̄)

纹理存储器有缓存且对二维空间局域性缓存有优化,因此

访存性能较高 』,而且其空问比常数存储器空间大得多:在通用

计算中非常适合用于图像处理或查找表,对大量数据的随机访

问或非对齐访问也有良好的加速效果… 。本文kernel函数中

要随机地查找一些表,而且只读,适合采用纹理存储器存储这些

表。质谱节点向后跨度一个氨基酸的表,在host端代码中用链

表存储结构,使用指针数据类型,而在device端代码kernel函数

中不能再使用这种结构,而且在kenel函数中对其只读。观察

此表,其具有稀疏矩阵的形态,采用行压缩格式存储在纹理存储

器空间,一些具有同样特点的表也采用这种方式存储。采用行

压缩存储格式能节省存储空间,采用纹理存储器是缘其优点。

使用纹理存储器带来约3O.94%的性能提升(图9)。

4)使用共享存储器(shared memory)及避免存储体冲突

(bank confct)

使用共享存储器或充分使用共享存储器不是提高性能的

充要条件,但是如果kernel函数的特点适合采用共享存储器则

可用之。例如,线程块内线程共享数据或通信,线程需要对全

局存储器空间多次访问或全局存储器访问不能构成联合访问

器几乎和访问寄存器一样快。本文的kel函数中不同的线

程共享一部分数据,而且这些数据存储在全局存储器中,因此

本文采用共享存储器在不同的线程之间共享数据而减少重复

频繁地访问全局存储器。共享存储器的元素类型占4 Byte,访

存索引与线程号对应,避免存储体冲突。使用共享存储器产生

4.9%左右的性能提升,如图9所示。

spectrum:histoneFT

1.10003 10003.2 J日增加时间

12O

datah _ninrot snrnt 1矗优化后时间

10O

8O

_ ]1

4.9%

60

40

74.87

20

优化后k… l内循环 未使用分页 未使用 未使用

锁定存储器纹理存储器共享存储器

图9 GPU优化性能提升

5)全局存储器联合访问(coalsced access)

全局存储器访问延时是400~600时钟周期(clock cycle),

而且不会被缓存,经常成为性能提升的障碍,因此采用正确的

访问模式来实现最大化的存储器带宽尤为重要。全局存储器

联合访问,即半warp块中的线程进行的全局存储器访问可结

合成一个存储器事务时,全局存储器带宽的使用效率将达到最

高 。本文具体采用以下方式:

a)将氨基酸以字符(char)的形式存储,在全局存储器中占

8 bit;蛋白质的氨基酸序列顺序存储,不同的线程顺序访问序

列中的氨基酸,这样可构成全局存储器的联合访问。

b)使用内嵌的数据类型int2存储质量和分数,使用uint

类型存储地址值,使不同的线程按顺序访问全局存储器。

c)如果将申请的全局存储器空间看成逻辑二维表,则每

个线程按列访问,不同线程按行顺序访问 如图l0所示。

性能分析

采用1.3节中同样的实验质谱和蛋白质数据库;GPU计

算环境为表1中的环境2,与其对比的是环境l和3;环境3上

的并行程序采用文献[6]中的程序。

3.1加速比分析

统计了GPU加速后整个流程的计算时间,如图11所示。

根据图11的增长趋势,当实验质谱有50 000张、蛋白质数据

库采用ipi.MOUSE.v3.29.REVERSED时,鉴定时间约需750 h

(31天左右),蛋白质数据库采用uniprot—sprot时,鉴定时间约

需2 525 h(3.51个月左右)。

甲 甲甲

_

[[圈….口图

;;;; ;;;;

第9期 翟艳堂,等:基于CUDA的蛋白质翻译后修饰鉴定MS—Algnment算法加速研究 ・3413・

GPU相对于集群18个节点(72颗处理器)的加速比分别如图 次传输的数据量。本文申请的全局存储器空间量约为77

2~15。由图可见,输入不同质谱数量和不同蛋白质数据库规

模的情况下,单GPU相对于单CPU的加速比略有不同,核心 储器空间,循环处理DCGPUM2流程,每次使用不同块空问,

函数的加速比略高于整个流程的加速比,但性能提升均在30

倍以上,而且当数据库规模较大时,加速比在41倍以上。

:!: !:翌 !12:!=! :!1

-4o

_髫 3 _

30

晏2o

10

spectra searched

图12数据库检索及候选肽段生成单GPU相对于

单CPU的加速比

墓50

olefloSE.v329.EVERSED

HKqi

MOU

Dun

pr ̄t-pr ̄

4l 35 4l 91 42.1

,1 55 4l 37

}40

30

姜20

10

0 I _L_. i. _i。

10 50 100

spectra searched

图1 整个流程单GPU相对于单CPU的加速比

7l l42 2】3 284 355 426 497

spectra searched

图14整个流程单GPU计算 图15整个流程单GPU相对于

时间与集群计算时间的比较 集群的加速比

DCGPUM2是对蛋白质数据库而不是质谱数据进行划分,

虽然不同质谱计算时问不一定相同,但当质谱数量较大时,整

个流程单GPU计算时间与质谱数量大致呈正比关系,因此在

图11和14中,整个流程单GPU计算时问增长方式大致呈线

性。由1.3节可知,整个流程单CPU计算时间与质谱数量也

大致呈正比关系;数据库检索及候选肽段生成步骤的计算时间

与质谱数量也呈正比关系。因此,整个流程单GPU相对于单

CPU的加速比和数据库检索及候选肽段生成单GPU相对于单

CPU的加速比基本稳定,与质谱数量没有关系。

在图4和l4中,整个流程在集群上的计算时间随质谱数

量的增加而增加,但不是正比关系。输入质谱数量不同的情况

下,负载平衡效率不同,最优情况是负载平衡效率为100%,但

往往负载平衡效率不高。。J。之所以在图15中,质谱数量为

426处所对应的加速比仅为0.97,比图中其他值都小,是因为

质谱数量为426时,集群处理器负载平衡效率比其他处高,

成集群计算时间与质谱数量的比率较低。

本文在算法实现上采用多种优化方法,得到了较高的加速

比,但笔者认为尚有进一步性能提升的空间,可以在以下方面

作进一步优化:

a)主机与设备之间的数据传输。主机与设备之间的数据

传输时间占DCGPUM2执行时间的3l%以上,如图16所示,减

少此部分时间对性能提升是有效的。可采用下面两种优化

途径:

(a)采用流操作,以期达到数据传输与内核执行之间异

步,减少程序执行时间。

(b)整块数据传输而不是多次分小块传输 ,并且增大

MB,远小于Tes C1060显存量。可以一次申请较大的全局存

后将整块数据一次传输。

b)控制流指令。控制流指令一般会影响有效指令吞吐

量,降低GPU程序执行性能 ,但是文献[17]中提出:如果只

需要少量线程进行操作,使用类似“i hreadldx<N”的方式避

免多个线程同时运行占用更长时问。可采用下面两种优化

途径:

(a)修改控制条件,尽量避免在warp内发生分支,如使控

制条件依赖于threadldx/warpSie(其中threadldx为线程ID,

warpSie为warp大小)

(b)循环展开,使用#pragma unroll指令,或者编写程序时

不使用循环语句而直接将循环展开。

e)GPU加速算法。如果能在GPU并行算法上进一步优

化,则性能提升空间将更大。

40

g 30

量20

奎10

结束语

本文在深入分析MS—Algnment(Mod=2)算法的基础上,

总结该算法的特点,提出了该算法核心计算模块数据库检索及

候选肽段生成的单GPU加速实现方法,总结了一些优化技巧,

针对不同情况采取相应的优化措施。测试结果表明,基于

GPU的算法比CPU上的串行算法提速明显,相对于集群也有

加速,可以满足大规模数据对鉴定速度的要求,GPU高性能计

算在蛋白质翻译后修饰鉴定中的应用对计算蛋白质组学海量

数据处理提供了一种新的思路。GPU用于并行计算及CUDA

编程具有优势,但也具有一些缺点。本文利用GPU并行计算

的思想和优化的技巧可以被借鉴于蛋白质翻译后修饰鉴定其

他算法的加速优化和GPU集群机器上的加速优化。MS—

Algnment算法是用实验质谱查询蛋白质数据库,鉴于此,可以

3414・ 机应用研第27卷

将GPU加速MS—Algnment的思想推广到基于质谱技术的计算

蛋白质组学的其他研究方面,如蛋白质鉴定(protein identca—

n)、氨基酸序列分析(amino acid sequence analysis)等,还可

[11]NVIDIA Corpoon.Tes BIO Workbench一助力新型科学[EB/

OL].[2010 03-11].htp://www.nvidia.en/objeet/tesa_bio_work—

m1 cn.ht

bench

以推广到其他领域,如蛋白质序列比对(prot sequence algn—

ment)、基因序列比对(geneequence algnment)等。

参考文献:

[1]NA S J,JEONG J H,PARK H J,et a1.Unrestictve dentication of

multiple post.ranslatonal modicationsom tandem mass speetome—

y using an error—tolerant algorhm based on fn extended sequence

[12]NVID1A Cororaton.Tesla Bio Workbench帮助科学家在生物科学

领域取得全新突破[EB/OL].[2010—03-1 1].htp://www.nvidia.

cn/object/io—1264405248416.htm1.

[13]SCHATZ M C,TRAPNELL C,DELCHER A L,et a1.High-thmu ̄-

put sequence aliment using graphics processing unis[J].BMC

Bioinformatcs,2007,8(1):474.

[14]IJU Yong—chao,MASKELL D L,SCHMIDT B.CUDASW++:0p-

timizing Smih-Waterman sequence database searched for CUDA—ena-

ag approach[J].Molecular and Celular Proteomics,2008,7

(12):2452—2463.

bled graphics processing unis[J].BMC Research Notes,2009,2

(J):73.

[2]TSUR D,TANNER S。ZANDI E,et a1.Identification of post—tansla—

onal modicatons via blnd search of mass specta[J].Nature Bio—

echnology,2005,23:1562-1567.

[1 5]LIGOWSKI L,RUDNICKI W.An efcientmplementation of smit

waterman agorihm on GPU using CUDA.f0r masivelparlel sca

[3]谢靖宇,谢深泉.一种鉴定蛋白质突变和翻译后修饰的算法

[J].计算机工程与应用,2007,43(28):61.64.

[4]FRANK A M.Algorhms for tandem mass spectometry—based pro.

eomies[D].San Diego:Universiy of Caora,2008.

[5]MANAVSKI S A,VALLE G.CUDA compatble GPU cards as ef

cient hardware accelerators fr Smih-Waterman sequence alignment

ning of sequence databases[C]//Proc ofEEE Interatona w0rk—

shop Ol High Perforance Computational Biology.2009:l一8.

[16]KIRK D,HWUWen-mei.ECE 498AL:appled parel progamming

[EB/OL].(2010)[2010—03-1 1].htp://courses.ece.ilinois.

edu/ece498/aL/.

[17]张舒,褚艳利.GPU高性能运算之CUDA[M].北京:中国水利

水电出版社,2009:14,44,58,143,152,166.

[J].BMC Bioinformatcs,2008,9(Suppl 2):S10.

[6]涂强.蛋白质翻译后修饰鉴定软件InsPecT的并行及优化研究

[D].北京:中国科学院研究生院,2009.

[7]NVIDIA Corporaton.NVIDIA CUDA Programming Guide version 2.

3.1[R].2009.

[8]FESTER T,SCHREIBER F,STRICKERT M.CUDA based mul

cole implementaton of MDS—based bioinformatcs algorhms[C]//

[18]TANNER S,SHU Hong-jun,FRANK A,et a1.Inspect:fast and ac—

curate identcaton of post-tanslatonally modied peptdes fom tan-

dem mass spectra[J].Anaiytcal Chemisty,2005,77(14):4626—

4639.

[19]UENG S Z,LATHARA M,BAGHSORKHI S S,et a1.CUDA—le:re.

ducing GPU programming complexiy:guagesd compier or pa

Pre of German Conference on Bioinformatcs.2009:67.79.

el computng[C]//Proc of he 2hh Interatonal Workshop.2008:

1—15.

[9]李博,刘国峰,刘洪.地震叠前时间偏移的一种图形处理器提速

实现方法[J].地球物理学报,2009,52(1):245.252.

[10]张庆丹,戴正华,冯圣中,等.基于GPU的串匹配算法研究[J].

计算机应用,2006,26(7):1735—1737.

[2O]邓仰东.NVIDIA CUDA超大规模并行程序设计训练课程:性能

提升[EB/OL].(2009)[2010・03—11].http://euda.esdn.net

Client/CUDA lecture.rar.

(上接第3405页)加,系统Top—n查准率均不断下降,反映了结果

havior:Google mobie search[c]//Prc of SIGCHI Conference on

Human Factors in Computing Systems.New York:ACM Press。20o6:

7O1.709.

的紧前趋势。个性化系统具有相对更高的查准率,表明本系统

相关结果排名更趋于靠前,实现了系统设计的目标。

[2]HAVELIWALA T H_Topic—sensive page rank[C]//Proc of he llt

Internatonal Conferenee on Word Wide Web.New York:ACM Press,

2002 5l7-526.

得O

霸0

[3]吴晓,李丹宁,林洁.个性化搜索引擎中用户兴趣模型的研究

[c]//g三届全国信息检索与内容安全学术会议论文集.2007:

829—832.

_标准-十性化

◆ 标准一个性化

图3平均查准率

图4 Top一 查准率

[4]LIU F,Yu C,MENG Weiyi.Peronalied Web search formprving

eteval effectveness[J].IEEE Tran¥on Knowledge and Dat

Engineerng,2004,16(1):28—40.

结束语

由于移动用户的应用特点,对信息的精确获取和排序成为

了一个需要重点解决的问题。本文设计了一个个性化的移动

搜索模型,与其他模型相比,它有两方面的优势:更细粒度的兴

趣映射和基于反馈机制的本体概念描述。最后设计了相应的

实验,其结果表明,本文的系统在查全率和查准率上都有较大

的提升。

参考文献:

[1]KAMVAR M,BALUJA S.A large scale study of wireless search be—

[5]VARMA V,SRIHARSHA N,PINGALI P,et a1.Peronazed Web

search engine for mobie devices[C]//Pre fnterationa Workshop

on Intellgent Inforaton Access.2oo6.

[6]SIEG A,MOBASHER B,BURKE R.Ontologica user profles f

peronalized Web search[C]//Proc ofhe 5th Workshop ou Intel

gent Techniques Web Pemonazaton.2007.

[7]GAUCH S,CHAFFEE J,PRETSCHNER A.Ontologbased perona.

zed seach and browsing[J].Web Intelgence and Agent Sys-

erns,2oo3,1(3—4):219-234.

常温干燥的英文燥翻译燥英语怎么说-a couple of


发布评论

评论列表(0)

  1. 暂无评论