Redian新闻
>
本地BLAST的效率问题
avatar
本地BLAST的效率问题# Biology - 生物学
d*o
1
最近因为处理自己的一些琐事没有炒股,也没有来这里,刚刚听人说又吵架了,过来看
完了这几天的帖子。特别是很多人一窝蜂的攻击hq。我在这里谈一点我的看法。
总体上觉得hq说的还是比较理性的。他说的看牛兼[email protected]。并不是让大家马上全仓buy
call。而是说接下来一个2-5年的牛市可期。大家在做判断的时候可以作为大方向的前
提。
再看事实上,spy在88附近有support & 20sma support。几次都没有击穿。说明市场在
这一带有比较强的买盘欲望。这可能是[email protected]的位置。
唯一的问题在于,qq喊bull market的时机早了点,正好是市场over bought的时机。所
以这周200点左右的回调让很多人不满。如果是买call的人损失可能很大。以后注意喊
的时机就更完美了。
前几天qq喊的cme&ice是很好的一个例子,大家可以看这次拉起的前兆几天的交易量,
加上突破200ma几天的走势。我记得07年的nmx,08年的nyx都有类似的先兆。
ps:本版最后一贴,以后不会再来了。谢谢大家,谢谢qq。
avatar
D*r
2
还是自己找contractor做就可以了。
avatar
m*w
3
升级会继续买带笔平板。
avatar
t*z
4
我在搞大规模BLAST以确定基因组测序片段的物种归属等问题,现在的NCBI nr数据库已
经有40GB以上,在自家电脑上做BLAST效率很低。我经过反复摸索,发现了一条诀窍:
把数据库放在SSD上,效率会提高一个数量级!但是即便如此,因为要测的序列多,整
体效率还是不理想。所以我想向大家求助,有什么更快的方法:
目前想到几个:
1)有没有可能把整个BLAST数据库都读到内存里?我观察BLAST时的内存占用率,似乎
远远没有占满,看来程序(ncbi-blast+)并没有充分利用内存?
2)一次提交多个查询序列,会比较快吧?
3)找BLAST的替代品。我已经试过GPU-BLAST,花了两天终于测试成功了。但是速度比
原始BLAST还要低!我的显卡已经超高级了,不该这样啊。还有些BLAST以外的算法,比
如Usearch,不知道业界认可程度怎样。
4)利用学校里的超算。我不知道这样能否加速,超算固然CPU核心多,但是如果BLAST
的瓶颈在于I/O,那么超算恐怕也不如我的装备了SSD的家用电脑快。
各位有什么想法呢?多谢!
avatar
m*y
5
Definitely needs a permit.
avatar
m*w
6
笔比手指省力也卫生。平板上手指移动范围大,笔优势明显。

【在 m**********w 的大作中提到】
: 升级会继续买带笔平板。
avatar
a*s
7
用超算,把query序列分成许多份(根据你能quote的CPU数,一般至少能有几
十上百吧),然后分别提交。多任务同时独立运行。最后再将结果整合。
avatar
D*r
8
where to get the permit?
HOA or city?
thanks.

【在 m***y 的大作中提到】
: Definitely needs a permit.
avatar
t*z
9
谢谢!我在学校超算上跑了一个单节点的,果然快,虽然还不如装SSD的家用机,但是
比装HDD的顶配家用机快多了。正在联系网管帮我设置MPI-BLAST,看看会有什么样的提
高。

【在 a*******s 的大作中提到】
: 用超算,把query序列分成许多份(根据你能quote的CPU数,一般至少能有几
: 十上百吧),然后分别提交。多任务同时独立运行。最后再将结果整合。

avatar
f*i
10
probably both

【在 D****r 的大作中提到】
: where to get the permit?
: HOA or city?
: thanks.

avatar
j*7
11
Mark
avatar
a*s
12
我的经验是mpi-blast速度不如我前面提到的方法。也就是将query序列分成许多份,以
不同的任务形式提交,完全独立地运行。
比如你可以同时在超算上运行100个任务,虽然每个任务只有一个cpu在算,速度不快,
介于SSD跟普通台式机之间,但乘以100就很可观了。

【在 t*****z 的大作中提到】
: 谢谢!我在学校超算上跑了一个单节点的,果然快,虽然还不如装SSD的家用机,但是
: 比装HDD的顶配家用机快多了。正在联系网管帮我设置MPI-BLAST,看看会有什么样的提
: 高。

avatar
m*c
13
amphioxus 的方法是正解,100个CPU,分分钟搞定。不由整啥MPI的幺蛾子。
avatar
t*z
14
谢谢你分享的经验!我今天就去试试看。果然多开比分布式更有效率,可以不受Amdahl
定律的制约。

【在 a*******s 的大作中提到】
: 我的经验是mpi-blast速度不如我前面提到的方法。也就是将query序列分成许多份,以
: 不同的任务形式提交,完全独立地运行。
: 比如你可以同时在超算上运行100个任务,虽然每个任务只有一个cpu在算,速度不快,
: 介于SSD跟普通台式机之间,但乘以100就很可观了。

avatar
w*w
15
我以前在组里的几个server上跑impute,2千不到一点的样本,一个core一天可跑2段,
一千多段50个core同时跑要两个礼拜。后来外面关系户有免费超算时间,16小时左右跑
一段,256段同时跑,3天跑完。现在免费的时间没了,正好前段时间组里的十几台
Desktop都换成了i5,我装上VM后,一个core跑一段只要2小时左右。我一台机器用2到3
个core在后台impute,他们前台该做啥还做啥,基本感觉不到。不到3天,一千多段全跑
完,现在浪费的计算力可见一斑。
avatar
w*w
16
我的没有瓶颈,你的数据库是瓶颈的话得到处装数据库。
avatar
a*k
17
ramdisk?

【在 t*****z 的大作中提到】
: 我在搞大规模BLAST以确定基因组测序片段的物种归属等问题,现在的NCBI nr数据库已
: 经有40GB以上,在自家电脑上做BLAST效率很低。我经过反复摸索,发现了一条诀窍:
: 把数据库放在SSD上,效率会提高一个数量级!但是即便如此,因为要测的序列多,整
: 体效率还是不理想。所以我想向大家求助,有什么更快的方法:
: 目前想到几个:
: 1)有没有可能把整个BLAST数据库都读到内存里?我观察BLAST时的内存占用率,似乎
: 远远没有占满,看来程序(ncbi-blast+)并没有充分利用内存?
: 2)一次提交多个查询序列,会比较快吧?
: 3)找BLAST的替代品。我已经试过GPU-BLAST,花了两天终于测试成功了。但是速度比
: 原始BLAST还要低!我的显卡已经超高级了,不该这样啊。还有些BLAST以外的算法,比

avatar
t*z
18
我觉得这是个好主意。可是我内存没这么多。所有能插的内存总共64GB。

【在 a******k 的大作中提到】
: ramdisk?
avatar
t*z
19
各位,我已经尝试了在超算上跑多个BLAST。确实每个节点都不算快,但是多个任务一
起跑效果明显。同时我发现,装备了四路E7处理器共32核心的节点跑BLAST飞快,速度
10倍于我的个人电脑。我也不知道为什么。推测内存数据读取的速率可能是个重要的瓶
颈。四路E7节点装备了4x4=16通道DDR3内存,远高于一般个人电脑的2-4通道,所以有
如此显著的效果。这个节点全校只有个位数,很难轮到,所以也无法指望。
我也在自己实验室的工作站上试验。该机器硬盘速率很低,但是内存速率较高(2x3=6
通道)。如果每次只输入一个待查询的序列,那么速度很慢;但是如果每次输入二三十
个序列,速度立马就上去了,抵得过装备了SSD的个人电脑。同时,在个人电脑上尝试
这一招,是没有明显效果的。这进一步支持了我关于I/O是BLAST效率瓶颈的推测。

【在 a*******s 的大作中提到】
: 用超算,把query序列分成许多份(根据你能quote的CPU数,一般至少能有几
: 十上百吧),然后分别提交。多任务同时独立运行。最后再将结果整合。

avatar
c*d
20
你们学校没有cluster?这个computation intensive的,要用平行计算啊。
你把job分割成小部分,用平行计算,同时在cluster的不同node上run,效率要高很多
avatar
t*z
21
我就是这么搞的啊,已经写了自动分配任务的script在超算上运行了。问题是公用的计
算资源可遇不可求,大节点少而快,小节点多而慢,现在我是用20个小节点一起计算。
其中有些开始了,但是剩下的还在排队。

【在 c******d 的大作中提到】
: 你们学校没有cluster?这个computation intensive的,要用平行计算啊。
: 你把job分割成小部分,用平行计算,同时在cluster的不同node上run,效率要高很多
: 。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。