|
本帖最后由 panzerkiller 于 2010-4-17 02:47 编辑
老生长谈了
无意中从equn.com链到mdbbs.org,进去逛了一圈,发现一个问题:论坛挺热闹,说明国内做分子动力学的研究人员,对计算量的需求很大;遗憾的是,没看到一篇贴子涉及分布式计算。与此同时,equn上大把的热心人在算FAH(斯坦福大学潘德研究小组的分布式计算项目,目前世界最大的项目)。于是,一个想法产生了:肥水不流外人田,给自己人算!
首先,对几个问题做一些简单分析
国内的研究人员为什么不用分布式计算?
a. 不知道分布式计算之存在
b. 知道,也了解运作方式,但因为某些原因不愿意采用
b1: 担心安全性,自己辛辛苦苦开发的课题,一行行写好的程序,万一被别人拿去发了paper,自己只有傻眼的份。
b2: 担心计算资源不稳定,因为程序的运行和调试需要大量的精力和时间,志愿计算这种可能连7x24都没办法保证的方式,怎么让人放心?万一到期拿不出结果耽误事情,找谁?
b3: 家用机器太低端,不屑一用
以上这几点是我能想得出的原因,下面就来说说我的想法,为什么分布式计算可以用。
首先,安全问题不必太担心,以我的研究经历,你自己的数据,出了实验室,基本上没人能看懂;即使能够费尽周折反向了你的课题,也还要考虑一下费这么大劲偷别人课题值不值得;其实相对于自己课题被网络上某人偷去,你的第一作者被师兄/老板拿去的机会更大。
其次,来说说分布式计算的优点。
以我的理解,模拟计算,除了在乎计算速度,对结果的稳定性也有一定要求,通常都需要不少于两次的验算。所以评估一个模型的计算耗时应该把验算时间加进去。这时候,分布式计算的优势就显示出来了,简单算一笔小帐:
假设有一个程序,需要验算3次,
一台双CPU至强运行一次耗时24小时;
一台单CPUi7运行一次耗时48小时;
方案一
单独用一台双CPU至强,完成整套运算耗时24x3=72小时;
方案二
用双 CPU至强运算的同时,交给N台i7验算,这样,理想情况下,48小时后,将得到N+1个结果,N>2的话就算超额完成任务。
方案二的另一大优势是其天然的相对稳定性:即使在最不理想的情况下,如遇机器罢工,停电等人力不可抗拒之因素,方案一只能顺延耗时,方案二却能占概率的便宜,按时完成:毕竟全国停电的几率不是很大。
最后,方案二还有个非常诱人的优势:省钱. 这个对一些经费不充足的组还是有意义的,现在研究生的工资也要从老板经费里扣了
啰唆了这么多,相信各位跟我一样,一定在考虑同一个问题:怎么运作?我有一个大概的构思,在这里提出来,希望大家拍砖的同时,能够集思广益, 完善这个想法。
第一阶段,依托论坛,手动发包。(这里把需要计算资源的研究人员简称为雇主,志愿提供计算能力的叫短工)
雇主发贴招聘,说明计算需求--->短工报名,展示机器配置,可运行情况-->雇主统计,邮件发包,或者干脆上论坛附件,随便下载-->。。。-->短工提交结果-->雇主发工资(伪币,评分,任意一种可满足虚荣心的方式)
第二阶段,在吸引足够多的眼球,雇主短工达到一定规模,反映良好的情况下,开始考虑搭建自动发包的服务器,可以直接用BOINC的,我就不多说了。
第三阶段, 有偿计算,这个太远了,暂不考虑。
这个构思中,第一阶段是其核心,就象电子商务一样,本质还是商业,网页啊,平台啊只是实现的手段。推广分布式计算,人气是第一位的,眼下在国内推广,上游研究人员的认同比我们下游志愿者的人数更重要。
以上这些,纯数闭门造车,希望大家指正 |
|