You are on page 1of 36

毕业设 计答辩

hiyijian@gmail.com
Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
课题 背景
 BLAST 是生物信息学领域使用最为广泛的
软件
 随着生物信息的爆炸式增长,个人电脑或单
个工作站已经无法满足当今生物信息学研究
的迫切需求
 做好生物信息学研究离不开超级计算机或计
算集群提供的高性能计算能力
However…
课题 背景
 新的问题接踵而至,正确地操作超级计算机
或集群难度大,学习周期长,需要专家级知

 另一方面,在集群上进行并行化计算的复杂
性更增加了传统生物学家甚至生物信息学专
家获得高性能计算能力的难度
 What’s the Solution?
搭建生 物学专 家和 计算机 专家 之
间的桥 梁
Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
研究 目的 与意义
 生物学专家所面临的问题不仅仅是正确操作
超级计算机或集群,更加头疼的是在集群之
上进行并行化计算的一系列复杂性
 我们无法期望生物学家来解决这些复杂性,
同样也无法期望计算机专家去了解生物信息
学的方方面面
所以我们的 研究目标就 是…
研究 目的 与意义
 开发介于二者的中间件
 一方面,为生物学家透明化一切集群操作和
并行化计算的技术细节,使得他们能够如使
用电力一样方便地使用集群输出的计算能力
 另一方面,计算机专家在开发、实施、改进
并行化策略以及调整集群结构等时,也不必
考虑生物信息学软件实现的技术细节
Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
国内 外概 况及 讨论
1. 数据库 文件分解

3. 查询文 件分解

5. 小结和 讨论:两种 策略对比

7. 功能分 解
数据 库文 件分解 :优 点
 随数据库文件的增大, BLAST 的运行速度
会因主存的限制而变得无法忍受 [9]
 该方法不仅在一定程度上消除了主存的限制
,更重要的是使硬盘串行化 I/O 方式变为并
行化,从而获得超线性加速比

但一些研 究也表明…
数据 库文 件分 解:缺 点
 在考虑了数据库 预处理时间 的情况下,分
割份数 或使用资源 越多 ,总执行时间反而
越长,加速比甚至可能远离线性加速比。该
现象称为“性能反转” [7,8]
 虽然在最好情况下, mpiBlast 可以获得超
线性加速比,但在考虑了数据库预处理时间
的情况下,加大硬件投入反而有“性能反转
”的风险
Why? 加速比 or 硬件使用率 ?
数据 库文 件分 解:讨 论
 一方面,从获得超线性加速比的角度考虑,
忽略 mpiFormatdb 的时间意味着数据库是
事先划分好的,这样就可以以很小的开销实
现并行化 I/O
固定但与此同时,并行度已经事先确定,纵使当
 硬件 投入, 可以 获得可 观的 加速比 ,避 免“性 能反
转”前集群有大量空闲结点,也无法利用。总之
;但 大量的 可利 用资源 闲置 …
,获得了超线性加速比的同时也牺牲了硬件
用户体验 来自 于计算 时间 ,而不 是加 速比!
利用率
数据 库文 件分解 :讨 论
 另一方面,从获得较高的硬件利用率的角度
考虑,每次都需要根据空闲结点的数量重新
划分数据库,以获得硬件利用率
 但划分数据库的开销有时候非常昂贵,以至
以问 题规 模和当 前空 闲资源 为依 据,灵 活分 配资源 ,可
以缩于导致所谓的“性能反转”。总之,获得了
短计 算时间 ,提 高用户 体验 。但数 据库 预处理 的开
销导 致“ 性能反 转” ,加速 比远 离线性 加速 比,这 可能
硬件利用率的同时,也牺牲了加速比
导致 硬件 提供机 构、 集群其 他用 户的不 满…
硬件提供 机构 期望:
E=speed-up/No.of resources 接近或 超过 1
数据 库文 件分解 :结 论


硬件 提供机
用户体验 构期望 : 高
:快速拿 水平的 硬件
到计算结 Efficiency

 通过讨论,我们看到该方案在用户体验和硬
件提供机构的期望之间存在难以调和的矛盾
查询 文件 分解: 优点
 一般而言,查询文件的体积远远小于数据库
文件,因此划分查询文件的开销也同样远小
于后者
 如果说可以忽略查询文件预处理开销,那么
这里的额外开销仅是数据库串行 I/0 时间。
而这个 开销是固定 的,不随并 行度的加
大而加 大。有效地避免了“性能反转”
但与此同时

查询 文件 分解: 缺点
 虽然“性能反转”得以避免,但单就加速比
而言,该方法始终 难以得到线性或超线性加
速比。而数据库文件分解的方法,在使用资
源数较少的情况下,可以达到超线性加速比
( 这时“性能反转”的条件还不成立 )
小结 和讨 论: 两种策 略对 比
2 、预处
3 、预 1
处理 1
理开 时2、数 据库 I/0 3时间是 主要 开销, 预处 理开
销开间超过数
始不 能 据库 销还不突 出。这 时数 据库文 件分 解占优 势,
忽略I/O
,因
45 时间
此 成为且获得超 线性加 速比 ; 而查 询文 件分解 只能
40 解 。这 查询文件分解
数据主要开销
库分 接近于线 性加速 比
35 数据库文件分解
方式时,虽然
的加
30 速 查询
加速比

比已文件分解
经达
25 不 始终
20
到线达不到线
性加
15
速 性加
比。速比,但
但它
10 还 已占
是高优势。而
于查5 询 数据
0
文件库分解方
分解0方 式到20 40 60 80
式的最后出现
加速 比 了“ 资源数
性能反转 ”现
图示 :非实验数 据

功能 分解 :概述
 Chen 等人 [1] 总结了 NCBI BLAST 比对的两个
步骤:
 1 、生成种子单词列表
 2 、寻找种子的 hot spot 并以 hot spot 为中心向
两边扩展寻找 HSP ( high-scoring pairs )
 他们粗略地提出了功能分解方案:由一个 master
完成第一步的种子分发任务,再由众多的 slaves
完成第二步的计算任务
 遗憾的是,该算法的实现细节没有文章报道,也没
有相应的软件问世
功能 分解 :优点
 最彻底的并行化方案 , 粒度最小
 可以解决 : 单序列查询 VS. 单序列数据库
的比对问题
 负载平衡、资源利用率,资源利用效率、加
速比都被放大到最大值
Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
主要 研究 工作
充分研究…
 HUST SCTS/CGCL HPCC Cluster 的硬件特点
 NCBI BLAST 的软件特点
 并行化方案
 自适应负载平衡方案
 异常处理方案
 开发出介于计算集群和生物信息科研人员之间的中
间件原型
Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
系统 设计 方案研 究
 Cluster 的硬件特点:共享式内存
 NCBI BLAST 的软件特点:容错性好
 并行化方案:查询文件分解到做小粒度
 异常处理方案:重新提交
 自适应负载平衡方案
系统 设计 方案研 究: MM 占用 率
60

50

40
DB=240.5MB
MEM%

30
DB=476.8MB
20

10

0
0 10 20 30 40 50 60 70
序列大小(KB)
系统 设计 方案 研究: MM 占用 率
DB=240.5Mb

80
70
60
50
MEM%

40 系列1
30
20
10
0
0 20000 40000 60000 80000
序列大小(bp)
系统 设计 方案研 究
 采集 MEM%=10% 、 20% 、 40% 所对
应问题规模( bp )的大小
 把子查询按照 a 、 b 、 c 、 d 四类进行分类
,它们的期望内存占用率分别是 0-10% ,
10-20% , 20-40% , 40- 100%
 分配的 CPU 资源数分别是 1 、 2 、 4 、 8

Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
系统 的实 现
Split Fasta File
Fault Dependancy
listener Listener
Analyse the open open
size of each
N N
sub job
All
Fault? clear
Y
?
Assign CPU for
Y
each sub job
resubmit
Combine
results
Submit to
cluster
Send
Email
Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
总结 与展 望:预 处理
 目前的预处理方法基于静态的经验参数确定资源分
配数量
 而事实上对于不同的数据,如 EST 、 Gene 、蛋
白质数据,经验数据可能会大相径庭
 即使是对于一种数据源,实际投入运行后,经验参
数也可能会随集群结构变化、硬件升级、资源管理
系统、操作系统或芯片温度、闲忙状态等不定因素
而发生改变
改进点 1 :动态调 整参数
总结 与展 望:子 作业 重组 算法
 目前采用的作业部署策略是依照原查询序列
的顺序,顺次提交
 每个子作业已经是最小粒度,可以开发重组
子作业的算法,使得部署在同一结点上的子
作业问题规模近似相等,结点间的问题规模
总量也近似相等。得到更大的负载平衡

改进点 2 :开发重组 子作业算法


总结 与展 望:异 常处 理
 需要长期的试运行,不断发现新的异常,快
速添加针对新异常的处理模块

改进 点 3 :添加 异常处理 模块
总结 与展 望: 软件架 构
 目前系统基于 Perl,UNIX/Linux SHELL 脚
本语言开发,可扩展性和可读性不佳
 这降低了系统的可维护性,更加妨碍了快速
加入新异常处理模块的基本要求

改进点 4 :
采用现 代软件工程 思想和语言 工

Outline
 课题背景
 研究目的与意义
 国内外概况及讨论
 主要研究工作
 系统设计方案研究
 系统的实现
 总结与展望
 致谢
致谢
 在论文完成之际,我首先要向我的指导老师陆枫老师表示最真
诚的感谢。在研究期间,陆枫老师每天都抽出宝贵的时间耐心
地指导我的研究中工作,教授我学习方法和研究思路。陆枫老
师诙谐幽默,平易近人,使我感觉不到丝毫的距离感。同时她
严谨的治学态度,让我受益匪浅。在生活方面陆老师对大家关
爱有佳,在精神上时常用轻松的方式鼓舞我攻克研究难点。这
一切使我在陆老师的实验室里渡过了一个快乐而有意义的暑假

 我还要特别感谢实验室里的所有师兄师弟,正是在你们的鼓励
和鼎力支持之下,我才得以顺利的完成论文
Thank you

You might also like