尴尬的人才供给
“美国橡树岭国家实验室使用30,000核以下的应用占50%,30,000核到45,000核的应用占32%,45,000核以上的应用占18%。而根据上海超算中心的统计,在该中心运行的作业中16核以下的应用占了60%,16~160个核的应用占39%,160个核以上只有1%。这说明了什么问题?说明我们的应用水平跟人家没法比。”用的CPU越少表明解决问题的规模越小、复杂性越低。“这个现象在一定程度上反映了我们的多数研究只是追踪性研究,我们缺乏将实际问题归纳为具有一定复杂度的物理模型的能力。”南京大学教授周会群说,这实质是人才的对比。
确实,提及中国高性能计算所面临的最大挑战,所有接受采访的学者、专家、产业界人士几乎众口一词:人才。
“尽管计算机系的毕业生遍地开花,但是高性能计算领域的毕业生凤毛麟角,大概1000个计算机系的毕业生中,只有2、3个与高性能计算有一定关系。”中国科学院计算机网络信息中心迟学斌研究员对本刊记者说。
一方面是供给的不足,另一方面是可供选择的学生能力有所欠缺。“我们现在所招的新人员中,有硕士研究生,也有博士研究生,一般来说,不能直接上手,需要相当长一段时间的培训才能上岗。”迟学斌说。很多计算机系毕业的学生居然不会熟练用C或FORTRAN编程,这让他觉得很不可思议,但这就是存在的事实。
一些公司在招聘新员工时发现,目前关于海量数据算法的相关课程在国内的大学没有得到应有重视。哪怕是在一些名校计算机专业毕业的本科学生都几乎没有接触过这方面的基础理论。“而有没有基础理论的学习可能是在处理海量数据时看到和看不到结果的区别。”
供给少的本质原因在于高性能计算是一个门槛非常高,需求弱的领域。
首先,多核的产生改变了原有软件的评判标准。新的算法必须注重把核的效能充分发挥,这需要熟悉并行化编程的人才。
其次,高性能计算需要有能利用大型科学软件来解决大型、复杂的科学和工程问题的应用型人才,也就是交叉学科人才。
“高性能计算界内,往往编程非常复杂,需要花费很大精力学习,但是如果不能在高性能领域就业,有些复杂的课程可能一辈子都无法派上用场。”相关人士表示,学习成本过高,就业风险大,导致人才的稀缺。
呼唤交叉学科人才
那么,谁来做高性能计算人才的孵化器?大学首先义不容辞。
毕业于南京大学地球科学系的77级学生周会群教授说,三十多年前在国家恢复高考制度之际,他幸运地得到了南京大学跨学科的特殊培养。在老校长匡亚明的关心和地球科学系的支持下,他被转入数学系学习计算数学。尔后又分别在地球化学和地球物理两个专业获得硕士和博士学位。也正是因为这种交叉学科的背景,才使他能够游刃有余地用物理、化学的理论和计算科学的手段研究地球科学问题。他曾这样解释他为什么具备如此丰富的计算机知识:超级计算机就是我的实验仪器,为了最快、最好地得到实验结果我必须对仪器有充分和透彻的了解,这样才能改进算法、改善程序。
像他这样的人,为数不多。现实的情况是,应用学科人才与计算机人才之间存在知识壁垒,这在一定程度上阻碍了超级计算机作为一种科学实验和科学探索工具在各个学科领域的应用,也使软件人才无法在诸多科研领域有用武之地。
“国外高性能计算与我们很不同的是,一是会有来自应用领域特别是生产性行业的需求驱动,这促进了各学科的人很愿意使用计算技术来解决创新过程中遇到的问题。二是在很多大的研究机构里,会有一些机制把各种学科的人汇聚在一起,针对同一问题从不同角度研究超大规模计算技术和方法,从而做到尽最大努力把计算机的能力发挥到极致。”张武生工程师说。
相关人士表示,要促进高性能计算的发展,首先,必须对当前的课程结构进行改革。重视计算机基础教育。周会群认为,熟悉并行程序设计的工程师稀缺,是因为大学开设的关于并行计算的课程很少,教得好的老师也很少。许多教师没有实践经验,重理论、轻实际。自己不写程序,学生也大多不会写,这样的教学没有实际意义。
但是更重要的是,要引入交叉学科。相关人士表示,高性能计算机的应用目标往往是解决综合性、系统性的复杂问题,涉及多个领域。开发一个好的高性能计算应用需要熟悉应用和计算的“多面手”型人才,需要不同学科、不同技术背景的人员的密切合作。而目前的专业划分难以培养出此类人才。不同学科的科技人员之间的交流和合作机制又不健全,造成懂高性能计算机的人不懂应用,了解应用的人又不知道如何用计算机。
关于交叉学科的事情一提再提,但是并没有得到本质的改善。
中国科学院石钟慈院士对高性能计算非常重视,他表示,由于多学科分割,建立新的学位点不可能,可以考虑从原来的物理、力学、数学吸引人过来,学位还是原来的。“交叉学科哪里都不认,但事情必须做,我们要培养学生朝这个方面发展,让国家给招生指标,培训好后按原来的专业分发文凭。”
中国科学院贺贤土院士则从国家层面上进行理解,“建立一支队伍(培养学生),形成一股力量(星星之火),会对中国影响很大。如果对科学的计算停留在少数几个部门,中国经济的发展之路会很艰苦。”而石钟慈提出了更具体的建议,“ 对计算数学来说,计算太少,理论太多,9 7 3理论太多,应用计算太少,计算数学转为计算科学,数学二级学科的地位转变成交叉学科,我非常支持。”
校企联合为人才成长铺路
“我们今天发明了汽车就要同时去发明它的方向盘,才能够教新一代的学生如何去驾驭并行计算、云计算。”谷歌前CEO李开复曾说,产业界有使命成为人才成长的助推剂。
Google开发了一个叫做MapReduce的C++的面向大规模数据处理的新模式。极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。目前Google已经把这个课程放到了高校合作计划当中。
Intel与浙江大学、清华大学、北京大学、复旦大学、上海交通大学成立联合实验室,根据对并行计算与多核技术涉及的知识点分析,设计了并行计算与多核程序设计课程体系。为学生将来从事体系结构领域、系统软件领域以及相关领域的工作或者高水平研究打好扎实的基础。
IBM启动了IBM“云”学院计划,为来自教育行业的教师、研究员和IT 人员提供一个全球范围内的论坛平台,用以进行云计算研究、技能开发和实践分享。有包括北京工业大学在内的全球17 家教育机构成为首批加入“云学院”计划的学校。
一些新的合适形式还在展开。相关人士表示,对于人才这件事,高校和产业界应该形成同盟促进其发展。高性能计算公司应当承担起自己的责任,不要仅仅负责机器的制造与销售。可以在公司中建立研发部门,吸纳优秀人才,并以适当的方式帮助高校,合作培养高素质人才。这样做,才能打通高性能计算人才从高校到业界的通路,而最终的受益者则是整个高性能计算社区。
此外,在复杂软件开发方面,专家认为,需要培养开源精神。高性能计算领域中有很多优秀的开源软件,它们都是由一个优秀的研究开发小组创始,然后吸引全球相关领域的科学家、研究生一起合作,使软件日臻完善。开源是一种非常重要的软件开发合作模式。但是目前看来,在中国建立这样的环境是非常迫切的。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。