在飞秒时间步上与肉毒杆菌拼杀

【字体: 时间:2005年05月17日 来源:中国计算机报

编辑推荐:

  

          HPC要不要做?

  现在看,显然是毋庸置疑的。但HPC做出来应该怎么用?

  答案就见仁见智了。

  以往,HPC被神秘的光环笼罩着,普通用户对其用途所知泛泛,为此我们特约此系列专题以飨读者。

   本篇是《中国计算机报》2005 HPC系列专题的第二篇(李国杰院士撰写的第一篇《条条大路通罗马》已经刊登在本报4月4日第23期上),随后我们将陆续奉上两个同样精彩的专题。

  作者介绍

  邓越凡

  1989年获得美国哥伦比亚大学理论物理博士学位。在纽约大学科朗数学研究所做了短暂的博士后后,加入纽约州立石溪大学的应用数学系,于1998年晋升为该校应用数学教授。1999年以访问研究员的身份在IBM T. J. Watson研究中心工作一年。2002年被特聘为南开大学教授及该校科学计算研究所所长。他的主要研究领域包括并行计算、分子动力学及其在生物和物理学中的应用。

  彼得·瑞斯兰(Peter Rissland)

  美国纽约州立石溪大学应用数学和统计系的一名博士研究生。他于2001年分别在石溪大学计算机科学和应用数学系取得学士学位。目前,从事分子动力学和其他QCDOC并行算法的研究。

  谁为HPC“买单”?

  超级计算技术高速发展,一日千里。目前最快的超级计算机每秒可进行70万亿次浮点运算。2004年11月,在匹兹堡召开的超级计算大会,宣布了最新一期超级计算机TOP500的排名。IBM公司的“蓝基因L型”(Blue Gene/L)超级计算机的部分雏型目前暂居TOP500榜首,其运算速度是在此之前曾位居“两年冠”的“地球模拟器”(Earth Simulator)超级计算机运算速度的两倍。“地球模拟器”是日本NEC公司研制的,主要应用于气候模拟。

  蓝基因的开发成本估计为一亿美元,仅为地球模拟器开发成本的四分之一。不仅如此,蓝基因的占地面积也仅为地球模拟器的十五分之一。而且在进行相同运算量时,蓝基因的能耗是地球模拟器的十四分之一。所以,超级计算机与其它消费电子产品一样,产品质量不断提高,而成本日益降低。根据2004年11月的超级计算机TOP500排名,80%的上榜者都达到了每秒一万亿次的运算速度。事实上,TOP500中有358台超级计算机是2004年新建造的, 95台是2003年建造的。两年前建造的不到50台。

  然而,超级计算机的发展还有更漫长的路要走。在一些领域,比如气候或等离子物理模拟中,科学家们一致认为,“超级计算机性能需要提高七个数量级才有可能达到比较理想的计算目标。”(源引自《美国“国家研究委员会”(NRC)2004关于超级计算前途之报告》,The NRC Report on the Future of Supercomputing,2004,以下简称《NRC报告》)。这场关于性能提高的竞赛也导致了一定程度上的“言过其实”,时而有意误导系统的真正商业可用性的时间表,时而又有意混淆理论峰值和实测性能。阿德·范德斯迪恩(Aad van der Steen)认为:事实上,使用通用测速程序而得到的所谓“实测性能”,通常明显高于用户使用自己应用程序所能得到的运算性能。

  另外一个问题是,超级计算机总是“你方唱罢我登场”地来去匆匆。根据《NRC报告》的概要声称:“以研发超级计算技术为宗旨的公司,如克雷,总在惨淡经营……总资产不到十亿美元……(和)销售额年浮动率不超过百分之二十。这是一个几乎完全依赖政府采购的市场。”而政府又是反复无常,例如究竟何时能得到预算的经费等问题,完全不能预知。这使得发展特制型的超级计算机变得更困难。因此,通用超级计算机制造商成为超级计算机市场的弄潮儿。在最新TOP500计算机中,IBM的销售份额超过40%,HP占了大约35%。所以,《NRC报告》建议美国主要政府机构,如能源部和国防部(包括国土安全局),有责任加强和发展超级计算研究的基础设施。该报告指出:“由于超级计算越来越多地被应用到生命医学领域中,所以国家卫生研究院(NIH)应该也增加到(这些与超级计算相关的政府机构)名单中去。”

  HPC应用在哪些领域?

  根据TOP500的报告,大约300台超级计算机的体系结构是所谓的集群系统。《NRC报告》指出:“对许多应用而言,集群技术帮助用户以PC机的消费去得到超级计算的性能。”对大多数用户来讲,“集群技术为以前使用定制矢量系统的用户实现了物有所值。”集群的成功使用,大大缩小了依靠政府资助来定制超级计算机的需求。

  超级计算机已经遍布世界各地。但是,在超级计算机TOP500中,美国拥有267台,占压倒性优势。其他拥有超过十台超级计算机的国家分别是:英国42台、德国35台、日本30台、中国17台、法国和意大利各有15台、韩国11台。在这些超级计算机上运行着哪些应用程序呢?不论是在学术界、工业界,还是研究院所,大部分从表面上都看不出来,因为报告列出的那些超级计算机中有232台的应用领域都不详。但是,根据《NRC报告》,从那些也给出一星半点信息的研究单位可以看出:51台超级计算机应用在地球物理学、38台在半导体技术方面、31台在电讯、21台在数据库、18台在数字内容创作、15台在汽车领域,还有13台在金融领域。

  根据IDC的统计,超过半数的超级计算机主要用于“公益事业”,比如政府资助的基础和实用研究。

  名词解释

  超高扩展计算机

  一个高性能计算领域的新词,对于它的定义是仁者见仁,智者见智。简单地说,一个并行计算机可以扩展到好几万个处理器就称之为超高扩展。

  从模拟肉毒杆菌开始

  显然,挑战更高的计算速度并不是建造超级计算机的惟一动力。有效地完成有挑战性的科学、工程和社会问题的综合计算能力远比获得计算速度更有意义。

  由此可知,分子动力学也是一个从超级计算机获益颇丰的领域。分子动力学是对由很多相互作用的原子组成的系统长期演化过程的研究,如纳米材料和生物大分子。对较小的生物分子模拟,一般只需要对几微微秒的演化过程进行运算即可,然而对更大更复杂的蛋白质模拟,就需要运算长达几百毫微秒到几微秒的演化过程。在分子动力学模拟中,大部分计算机资源都要用在对其相互作用力的计算上,超级计算机则是求解这类带有高时间和空间分辨率的复杂系统,并能产生正确可信结果的惟一可行方式。

  运用超级计算机在分子级别上建模的方法,既允许对分子结构以及他们的动力学进行逐条动态测试,又可以对高分子相互关系进行测试。这种方法对研究生化武器及其防御非常有效。除了比目前繁重的实验室试验更有经济优势外,这种对生化毒素的模拟技术还可以大大减少对研究者以及公众的污染所带来的风险。

  肉毒杆菌(图1)是一种已被关注的蛋白质。美国民用生物国防战略研究中心指出:“肉毒杆菌毒素由于其极大的威力和致命性已使其成为一个主要的生化武器威胁,除此之外,该毒素还具有易生产、易运输、易滥用的特性,并能致使中毒病人需要旷日持久的特别护理。该毒素是目前惟一已知的最毒的物质。”

  虽然目前美国有该毒素的疫苗,但该疫苗的供应非常有限。因此,这种疫苗仅用于实验室人员以及部署到高危险区的军队。不但如此,该疫苗也并非对毒素的所有形态都有效。此外,对已感染毒素的人来说,不存在解毒剂。这种生体毒素三个功能域是:催化、胶合和置换、合作攻击人体神经元。这个过程仍然难以捉摸。肉毒杆菌究竟“为什么”且“如何”在不同温度不同pH值条件下改变它们的结构,目前对科学界来讲还是一个谜。现在,由于使用超级计算机,我们可以通过研究毒素的1277个残基(residues)或者两万多个原子来揭示它的一些秘密。

  我们借助与布鲁克海文国家实验室(Brookheaven National Laboratory) 的X射线检晶科学家(crystallographer)和生物学家的合作,开始通过把从蛋白质数据库(PDB)中获取的有初始构造的肉毒杆菌浸泡在一个有将近八万个水分子、不同温度、不同pH值的水盒子(Water Box)里来进行模拟。对于那样一个拥有多于十二万原子的系统,使用含有几百个处理器的超级计算机,每天可以演进1~5毫微秒,对蛋白质的全部过程的了解则需要一微秒或者更长的时间级。

  算法:有效地缩短计算时间

  在分子动力学并行运算的算法中,一种最自然和直观的方法叫“作用力分解法”。作用力分解法允许任意分离在处理器中平等分离的粒子间的相互作用。在每一个时间步中,所有的处理器都参与到对每个粒子的作用力矢量求和。既然每个处理器都可以访问作用在所有粒子上的作用力,所有粒子的位置和速度都会在每一个处理器上更新。作用力分解法的优点是所有处理器的负载和工作量是平衡的。它的主要缺陷是要重复新位置和速度的计算,由于每个处理器都要对位置和速度作N次精确的更新,这对数量众多的节点来说,其非并行成份就成为性能提高的限制。

  另外一种分解方法需要分解空间,使每个处理器含有一块很小的区域或者是模拟空间的子域,这种方法常被称为“域分解法”。由于每个处理器只需要考虑一个小的子域中的粒子,所以只需要计算这个处理器域内的粒子。同样也只需更新处理器域内的粒子的位置和速度。域分解法的优点是使作用力计算和综合都能够并行化。它的缺点则是处理器上的负载将不平衡,比如处理器1可能含有200个原子,而处理器2可能含有5个原子,当处理器1还在对作用力进行大量计算时,处理器2已经在闲置等待了。域分解法的另外一个缺点是,当粒子从一个子域运动到另一个子域时,要求两个子域的处理器要通讯。

  不管使用作用力分解法还是域分解法,处理器之间的通讯都是必不可少的。这也是为什么带宽和处理器间的通讯延迟是这类计算的大问题。如果带宽很低同时又有很高的延迟,大部分的CPU时间将用在等待完成通讯而不是计算上。分解法应该降低复杂性到处理器数量的因数。由此,我们假设对一个大的蛋白质进行模拟,比如对含有大约十万个原子的肉毒杆菌在一个有一万个处理器的机器上进行模拟。每个处理器将会理想地含有相同的十个原子并且对每个作用力计算作最小数量的通讯。由此,计算时间将缩短至万分之一。 

     QCDoC:为量子色动力学模拟而建造

  “芯片上的量子色动力学”(QCDoC)是“蓝基因”的始祖。它采用了一些创新的“系统芯片”(SoC)技术,这种技术能够方便地把成品器件和一些需要专门设计的器件,比如浮点单元,集成在一起。由此,它是一种大多数机构既负担得起也可以灵活升级的超级计算机,而且这种计算机还能够在一个处理器至一两万个处理器之间缩放自如而不影响性能。

  对于像“蓝基因”和“芯片上的量子色动力学”这样的定制型的超级计算机,在硬件设计中要尽量减少总的通讯要求。对于“芯片上的量子色动力学”来说,其主要的硬件设计特点就是全局操作。它使用SCU(Serial Communication Unit)做成部分的存储转发功能。由此,定制机器能够扩大到数千个处理器,而不被带宽和延迟限制。与PC集群相比,它们的能耗很小、体积小、价格低、性能高。尽管像QCDoC和“蓝基因”这样的机器有很好的性能,但是它们也有很高的开发成本且不易使用。

  QCDoC是为量子色动力学模拟而建造并优化的,这是对亚核级物质行为的模拟。QCDoC超级计算机起源于哥伦比亚大学(美国纽约市),它是由供职于布鲁克海文国家实验室、IBM、日本的RIKEN和英国的爱丁堡大学的物理学家和其他专业科学家进行的国际性合作的产物。

  QCDoC的设计者运用的方法是,集合很多有适度主频的计算和通讯原件,构造一个在处理器节点间有高带宽通讯通道的大机器。专用集成电路(ASIC)(图2)是QCDoC的心脏。它含有一个主频为0.5GHz的PowerPC 440处理器内核,以及一个4MB的内置动态随机存储器(DRAM)和一个双频宽(DDR)存储管理器。

  最终的QCDoC的网络拓扑允许一个CPU和其相邻的12个处理器在双向通讯链接(用于芯片外通讯的24个通讯通道)上进行通讯。每个处理器和相邻处理器的通讯通道有125MB/s的带宽,使得每个节点芯片的总带宽为3GB/s。每个计算节点运行一个扩张的轻量级Linux操作系统。计算节点的最初目的是,要非常有效地运行一小批大强度的科学浮点应用程序。

  蛋白质模拟引出超高扩展计算机

  超级计算机如何能帮助我们?通常,生物分子被水分子所包围,而水分子对最终结果又起着很重要的影响。一些备受研究者们关注的大蛋白质,如肉毒杆菌、艾滋病病毒以及其他有害病毒都包含在总共几十万个原子(包括水分子在内)的系统中。模拟中的水分子需求量远远超出蛋白质本身的原子数量,模拟这样的蛋白质造成了内存短缺。通常,一个大蛋白质需要毫微秒(10-9秒)到微秒(10-6秒)的模拟时间来逼近到最满意状态,这就意味着在模拟过程中,作用力的计算至少要做一百万到十亿次——假设时间步为一飞秒(10-15秒)。这样的计算量需求对一个单处理器的机器来讲非常之大,以至于不可能完成模拟任务。于是就引出了所谓超高扩展计算机。

  超高扩展计算机是一个高性能计算领域的新词,对于它的定义是仁者见仁,智者见智。简单地说,一个并行计算机可以扩展到好几万个处理器就称之为超高扩展。这些由很多相对慢的处理器组成,有袖珍型分布网络结构的超高扩展体系结构,完全不同于仅需要把成品器件堆砌在一起的Beowulf集群结构。大部分集群系统拥有强大的处理器,加以简单的以太网,Myrinet或者无限带宽网络(InfiniBand)进行连接,而这些网络只能提供相对低的带宽(1Gbps)、高延迟(10~100微秒)以及单星或胖树拓扑。超高扩展系统也不同于传统的向量存储共享超级计算机,那种传统的超级计算机含有少数已不可能增加的快速总线为网络的高速处理器。

  QCDoC上研究 分子动力学

  布鲁克海文国家实验室和石溪大学为QCDoC建立了一套分子动力学模拟包。IBM为“蓝基因”建立了一个更大的分子动力学模拟包,称为“蓝物质”。两个模拟包都对PowerPC和独特网络拓扑进行了有效的利用。这些专门的分子动力学模拟包还包括执行基于模拟的快速富利叶变换(FFT)。粒子格点的 Ewald算法通过在网点上的离散卷积来近似计算远距离静电相互作用。这个卷积可以通过一个三维快速富利叶变换有效地计算,缩放比例为Nlog(N)等价于N2。这个特性又允许对周期性静电模拟作快速模拟。当在大量的处理器上进行模拟时,快速富利叶变换在通讯的时候,由于发送数据量变得很小而受到延迟的束缚。虽然快速富利叶变换在大概4000个处理器时,开始失去可测量性,但是它们也可以执行一个基于较少通讯束缚和能够扩大到一万个处理器的非快速富利叶变换方法。结果是可以在数量可观的节点上,实现更快的模拟。另外一个在QCDoC的分子动力学模拟中开发出的重要特性是,快速内置动态随机存储器。由于在数千个处理器上模拟不会有较高的粒子与处理器的比例,所有的重要数据(位置、速度、作用力)都存储在与其他处理器的带宽界面为8GB/s的快速内置动态随机存储器内。

  最后的说明是,现在还有很多对细胞进行模拟的研究,但这些模拟都不是在分子级别上的。如果我们想要对整个细胞进行分子级模拟的话,系统就要变得很大。当今世界的计算能力距离模拟全部细胞结构还相差很远。

  (本文原发于《IEEE Potentials》(2005年4/5月号,P9~P12),本报经作者特许刊发。未经作者授权,谢绝转载。)

●相关链接●

  蛋白质的分子动力学基础

  分子动力学(MD)是模拟相互作用粒子运动的研究领域,其应用范围从模拟简单水分子相变到模拟蛋白质与蛋白质之间的相互作用。只要已知相互作用势函数,分子动力学可以应用于从对简单星系的模拟到复杂生物分子的多体相互作用模拟。研究粒子的运动为分析生物现象的功能提供线索,比如蛋白质对接点、相互动力学及热力学特性。

  在对粒子的作用力做出计算后,每个模拟需要求解高度非线性耦合的由牛顿第二定律推出的常微分方程。由于系统的非线性性,得到运动方程的解析解基本不可能。对生物大分子来说,能量函数中的参量的确定取决于对不同类型原子的实验室研究,而这些实验室研究可以改变成另外一种模拟(图3)。

  通常地,X射线晶体结构或者核磁共振仪(NMR)测出的蛋白质分子结构被用作粒子的初始位置,并根据麦柯斯韦-玻尔兹曼分布任意给定这些粒子的初始速度和初始温度,然后就开始了分子动力学模拟。首先,用先前给出的势函数的微商来计算作用在原子i上的力Fi。根据牛顿方程Fi=miai计算每个原子的加速度。计算作用力的总时间取决于作用力计算算法,有些算法的总时间与原子数目N呈线性关系O(N),有些为近线性O(NlogN),有些为多项式O(N3/2)。

  每种方法都有它的优点和缺陷。一般说来,算法越快,计算的精度越差。多项式时间算法产生的结果与实际相比有更高的保真性,但是它比线性算法的运算时间要长将近N1/2,这对包含非常多原子的蛋白质来说是很可观的。

  在对作用力的计算完成后,可以对加速度和速度用数值积分算法进行积分来确定新的位置。数值积分方法基于很小的时间步△t。△t的合理值为一飞秒(10-15秒)。

  在这些方程中,下一个时间步的位置基于t时间的位置、速度和作用力。然后,根据t+△t时刻的位置,重新计算t+△t时刻的作用力向量。最后,每个粒子的速度根据t+△t时刻的作用力以及前一个时间步t时刻的作用力来修正。由于这些是数值方法,所以在计算粒子的位置以及速度时存在一个类似于△t3量级的误差,即O(△t3)。

  把这些运动方程连续起来就形成了一个原子运动速度时间函数。在模拟中,蛋白质将通过或者尝试不同的构象形态(configuration)来移动,这些不同的构象形态偏离了原始构造。一个可以很方便想像这种情况的方式就是“折叠漏斗”(图4)。它通过漏斗边缘许多不折叠的或者是变性的状态描绘势能面的折叠路径。这个单球形最小自然折叠结构是以漏斗为基础的。直观地,有很多方式可以从漏斗边缘到底部,每种路径都有可能达到不同的局部最小及最大点。分子动力学所要模拟的用哪条路线或者哪种路线折叠得最快,是无法保证的。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热搜:肉毒杆菌|

  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号