服务器 频道

北大陈一峯:软件为桥 连接计算与应用

  【IT168 专稿】“蛋白质折叠”听上去是个挺玄的名词,这个话题可是“21世纪的生物物理学”的重要课题。简单来说,蛋白质的结构决定了蛋白质的功能,因此,蛋白质在一定的细胞环境下,如何凭借相互之间的作用力自己组装自己,这种自我组装的过程就被称为蛋白质折叠。

北大陈一峯:软件为桥 连接计算与应用
“蛋白质折叠”在高性能计算机下的运算效果

  “蛋白质折叠”号称是破译生命奥秘的第二套遗传密码,对我们搞清楚很多遗传性疾病的成因都有非常重要的意义。不过这个过程不仅仅非常复杂,而且在微观状态下也很难观察,因此,一套高性能计算系统,就成为“蛋白质折叠”研究人员的必备装备。

  微观研究的另一台显微镜

  “高性能计算机就是我们的另一台显微镜,”北京大学信息学院计算机系副系主任,百人计划特聘研究员及博士生导师陈一峯现场向我们解释:“我们通过建立合理的数学模型,就可以利用高性能计算机来模拟蛋白质的折叠过程,得到一个近似的蛋白质折叠的过程。这时候计算就成为我们观察和了解微观世界的手段,而且,传统的电子显微镜下,我们实际上很难看到蛋白质折叠的中间过程。”

北大陈一峯:软件为桥 连接计算与应用
▲北京大学信息学院计算机系副系主任,百人计划特聘研究员,博士生导师陈一峯

  研究蛋白质折叠在生物学、遗传学、医药学领域都有着极其重要的学术意义,同时也有着巨大的、显著的商业价值,不过,陈一峯之所以选这个课题作为示范算例,对于高性能计算本身来说也非常重要。

  现在整个高性能计算领域都在向百亿亿次进发,也就是我们通常说的“E”级别,Exascale的计算能力。要达到E级别的计算能力,以往我们都更关注计算机硬件系统的挑战,例如能耗、计算、存储、IO等等,其实应用本身,哪些应用真正需要百亿亿次的计算能力,这些应用在百亿亿次并发的系统上,是否能真正利用好这些庞大的计算资源,也都是摆在面前的难题。

  “大家都知道高性能计算的应用都工作在多节点状态下,芯片在并行工作,但是当计算机节点超过一定数量后,我们会发现一些应用的性能并不能显著增加,这就需要我们针对应用进行优化,使得应用能够充分的利用E级别计算系统的大量的并行节点资源。”

  北京大学选择“蛋白质折叠”作为研究方向,不仅仅是因为这个话题在生物、物理学科的研究学术价值,以及背后潜在的商业经济价值,同时也充分考虑到了“蛋白质折叠”对计算力的需求,是极有可能扩展到E级计算系统的应用。

  多学科交叉的桥梁

  北京大学采用了英特尔MIC众核系统来搭建计算平台,并且将一套“蛋白质折叠”的一套应用软件成功移植过去,验证了MIC众核计算方案对“蛋白质折叠”计算的可行性。陈一峯所在的软件小组则负责开发用于模拟蛋白质折叠过程的软件工具。

  陈一峯所在的软件小组在整个项目中的角色格外特殊。一方面,软件开发人员需要了解计算机硬件系统的更新迭代,“他们造什么机器我们就用什么,想办法把它用好”,另一方面,还需要随时与应用端的科研人员不断交流,了解科研人员对应用软件的需求。

  “高性能计算从来都是多学科交叉的课题,”陈一峯显然深有感触,在这个问题上,陈一峯认为北京大学作为一个文理工综合大学,有很大的优势。“北大在学科布局上非常完整,比如生物、化学、物理、天文、工学等等,而且这些学科都需要高性能计算,所以在多学科交叉的问题上是有一些优势的。”

  不过陈一峯同时也谈到了软件开发人员的苦恼,“现在的计算系统发展太快了,”陈一峯谈到:“很多时候不是我们软件技术开发或者编程经验这方面发展太慢,而是硬件发展太快。”

  实际上,在摩尔定律推动下,目前处理器技术正在不断改进和提升,面向高性能计算的架构也在不断改进。新的架构往往在旧的产品基础上带来显著的性能提升,但同时也有着独特的技术特点。“这需要我们对新的产品的特点有所了解,才能根据硬件系统的特点开发新的软件,充分利用这种新的硬件平台的特点。”陈一峯补充:“这些都需要有一个过程,需要软件开发人员不断的学习。”

  “硬件发展速度过快,软件跟不上。”已经成为高性能计算领域的一个通行问题,从单核到双核到四核到多核,甚至到现在的众核,每处理器的核数在不断增加,每个核芯的复杂度也在不断提升。与此同时,处理器内部的“VPU”,也就是向量执行单元,也在不断的“长胖”,还有很多内存,以及跟内存打交道的计算、存储部件,都变得越来越复杂。

  不过英特尔中国公司软件与服务集团客户响应团队经理乔楠认为,英特尔也在从很多方面,逐步改善硬件和软件之间的鸿沟,尽可能弥补硬件发展过快导致的软件问题。

北大陈一峯:软件为桥 连接计算与应用
▲英特尔公司软件与服务集团客户响应团队经理乔楠

  首先,在人才培养层面,英特尔大学合作部,每年都会联合国家教育部组织面向大学的老师的培训,提供多核的基本的培训内容和材料。同时也会编撰书籍,甚至会成为一些大学的选修课甚至必修课。除了通用的人才培养计划,还有一些专才培养的课程,例如一些商业领域的应用以及地震资料处理,或者在一些DCC动漫渲染应用。

  其次,英特尔还提供了大量的工具来帮助开发者降低开发成本,提升开发效率。“这一点有英特尔的很多传统大家耳闻能详的工具,像VTune、Thread Profiler等多线程的工具、多进程的工具,集群工具。而且英特尔在MIC上的工具和在CPU上的工具是统一的,这样能够打通所有的环节。”

  同时,英特尔也在从硬件的角度也尽可能让产品线实现融合,例如指令集现在已经部分兼容,未来会完全兼容,不同型号、不同平台将来会达到完全融合的程度。在目前未完全统一的状况下,也能够从编译器的角度把指令集的不同给屏蔽掉。

  此外,英特尔还在和高性能计算领域的不同应用人员或组织一起,在进行一些呼吁和宣传工作,包括和一些高校开展一些竞赛,努力的让大家了解、培养软件方面的人才。

  “高性能计算有一点阳春白雪,适用面比较就比较窄,这方面困难会一直存在下去,因为整个世界是在发展的,计算速度是在发展的,问题永远会存在,我们只能说不断地推着它往前走。”乔楠谈到。

8
相关文章