首页 > HPCMid > HPCMid-2016 > 研讨会纪要

第二届高性能计算中间件技术研讨会(HPCMid2016)

在西安成功举行

 

2016年10月26日,由北京应用物理与计算数学研究所和中物院高性能数值模拟软件中心联合主办的第二届高性能计算中间件技术研讨会(HPCMid2016)在陕西省西安市成功召开。

研讨会概况

高性能计算中间件技术研讨会是由我单位发起并组织的一个系列会议,创办于2015年,第一届会议于2015年11月9日在无锡成功举行。研讨会以科学与工程计算和大数据处理为需求背景,致力于高性能计算中间件关键技术的学术交流,建立复杂实际应用与超级计算机研制之间的桥梁和交流平台。

本届研讨会通过广泛征集报告人,经组委会讨论,从20名推荐人选中最终确定了11位邀请报告人,他们是:

Gabriel Wittum(德国法兰克福歌德大学,教授);

陈荣亮(中国科学院深圳先进技术研究院,副研究员);

高兴誉(北京应用物理与计算数学研究所,副研究员);

刘伟峰(丹麦哥本哈根大学,Research Fellow);

刘  旭(北京应用物理与计算数学研究所,副研究员);

任  睿(中国科学院计算技术研究所,助理研究员);

孙广中(中国科学技术大学,副教授);

谭光明(中国科学院计算技术研究所,研究员);

杨  超(中国科学院软件研究所,研究员);

张晨松(中国科学院数学与系统科学研究院,副研究员);

朱晓伟(清华大学计算机科学系,博士生)。

这些报告人都是活跃在高性能计算前沿的一线科研人员,既包括知名专家、也包括优秀青年学者和在读博士生。在这11个报告中,数值并行算法的报告有5个,是本届研讨会的最大主题,其他报告涉及编程框架、性能优化、大数据等主题。

本届研讨会的参会人数达到90多人,来自国内24家科研单位。莫则尧研究员(北京应用物理与计算数学研究所)、张林波研究员(中国科学院数学与系统科学研究院)、金钟研究员(中国科学院计算机信息网络中心)、刘杰研究员(国防科学技术大学)和徐小文研究员(北京应用物理与计算数学研究所)等组委会成员也出席了会议。

1481107187617952.jpg


1481107213110179.jpg

邀请报告环节

上午的报告分别由张林波研究员和刘杰研究员主持。

 1481107246421366.jpg

首先,莫则尧研究员做了简短的开幕致辞,介绍了研讨会的背景,以及国内外中间件技术的发展趋势,希望参会同行能借助这个平台,交流新进展、探讨新想法,取得预期效果。

Gabriel Wittum教授做了题为《Parallel adaptive and robust multigrid》的报告。报告中,Wittum教授结合UG平台上非结构网格应用,对于几何多重网格算法和代数多重网格算法进行了仔细分析,并给出了典型数值模拟应用。

 1481107283940811.jpg

杨超做了题为《全隐式求解器如何扩展至一千万核》的报告。该报告汇报了他们在神威太湖之光上将大气模式全隐求解器扩展到千万核的工作。该求解器结合区域分解方法和多重网格方法,得到了十万进程量级的并行度,在进程内使用众核处理器进行ILU计算,总并行规模达到千万核量级,最终实现了20%的浮点效率。该项工作已经入围本年度超级计算应用Gordon Bell奖(注:2016年11月18日,在美国盐湖城举办的SC17会议上,杨超研究员的该项工作荣获Gordon Bell奖,实现了我国该奖项零的突破)。

高兴誉报告了他们对第一原理计算中双向三维FFT的优化。该工作通过采用特殊的区域剖分和计算调度,将三维FFT中传统的单次AllToAll转置分解为多次局部AllToAll,显著降低了三维FFT计算的通信开销,有效提升了计算性能。该工作是利用问题特性进行面向体系结构的性能优化的典型实践。

 1481107312645694.jpg

张晨松做了题为《多层迭代法中间件设计的一些思考》的报告。报告分析了多重网格方法以及区域分解方法等多层方法的软件设计。特别,报告中给出了在偏微分方程的连续层面构造预处理的考虑。

陈荣亮做了题为《A scalable domain decomposition method for simulation of 3D complex flow》的报告。报告中介绍了三维复杂流体数值模拟中的相关求解算法。报告围绕求解离散非线性方程组的Newton-Krylov算法框架,重点分析了两层限制型加法Schwarz区域分解预处理方法。报告给出了几个方面的典型应用,包括城市空气环境数值模拟,人体血液数值模拟,高铁应用数值模拟等。

 1481107331937735.jpg

朱晓伟报告了他们的分布式图计算框架GEMINI。该框架在性能方面的特色是在进行任务剖分(剖分图的结点)时考虑结点-CPU-核三级并发度,匹配结点内NUMA特性;并在结点内通过线程间Work-stealing进行局部实时负载平衡。

1481107366208181.jpg

下午的报告分别由北京应用物理与计算数学研究所的刘青凯和张爱清研究员主持。

 1481107385904177.jpg

谭光明介绍了在GPU平台上对稠密矩阵向量运算进行汇编优化的工作。该工作利用逆向工程推测出GPGPU的汇编指令,然后利用汇编指令进行稠密矩阵向量运算的汇编级性能优化,该工作充分考虑指令发射等体系结构细节,取得显著的性能提升。

刘伟峰报告了他们面向GPU体系结构开展的稀疏矩阵操作优化的工作。该工作通过一种新的稀疏矩阵储存结构(CSR5),得出了系列兼顾细粒度线程负载均衡、浮点效率、格式转换开销等多个性能影响因素的高效稀疏矩阵操作算法。

 1481107407661671.jpg

刘旭报告了其在高精度负载建模方面的工作。该工作针对负载平衡过程中基础的负载建模问题,围绕提升建模精度,提出了系列算法,有效提升了负载平衡的效率并在应用程序中获得显著的性能提升。

任睿报告了他们的面向大数据系统的性能分析工具BDTune。该工具可实现对大数据系统进行从业务层到硬件层的全面性能分析。

 1481107433678734.jpg

孙广中结合自己在中国科技大学从事并行计算、编程语言类课程的教学工作,介绍了高校编程教育的现状和和自己的一些反思。报告强调了互动式学习的重要性,并介绍了报告人为改进编程教学而设计的一些实用工具。

1481107456642535.jpg

Panel讨论环节

研讨会最后安排了Panel讨论环节。本届研讨会的Panel讨论主题为“面向超大规模计算的解法器算法设计与优化”。邀请了四位专家作为主讲嘉宾,包括:谭光明研究员(中科院计算所)、徐小文研究员(北京九所)、杨超研究员(中科院软件所)以及张晨松副研究员(中科院计算数学所)。Panel由莫则尧研究员主持。在讨论之前,莫则尧研究员介绍了本次Panel主题的背景,并对四位嘉宾进行了简单介绍。讨论分两个阶段:第一阶段,每位嘉宾5分钟主题发言,第二阶段,互动交流与提问。

1481107473591983.jpg

在第一阶段,徐小文、张晨松、杨超、谭光明依次发言,他们围绕Panel讨论的主题,各自给出了自己观点。

首先,徐小文以“三十年前的算法、最近二十年的软件、未来十年的展望”为主线进行了发言。认为在算法方面,解法器领域近三十年并没有突破性的新算法提出,目前我们实际应用中采用的算法,其算法架构和构造思想几乎都是三十年以前提出的,包括子空间迭代类、多重网格与区域分解类等。另一方面,最近二十年,解法器的软件研制进展非常大,这很大程度上归功于美国二十前启动的ASCI计划在这方面的推动。这些软件基于三十年前的算法架构,在实际数值模拟应用中发挥了重要作用。在下一个十年,随着E级计算时代的到来,现有的解法器在算法和实现层面将遇到非常大的挑战,需要在算法设计、性能优化、软件研制方面实现突破。由于这些挑战带来了不确定性,在新的约束条件下,需要重新思考算法的构造原则,从而可以期待算法出现革新式的突破。他进而提到,从这个意义上,面向超大规模计算,解法器算法又站在一个新的起点上,同时也给国内该领域的发展提供了机会。他还提到,当前阶段,为了满足当前的实际应用需求,解法器在算法和软件层面应以改良现有技术适应新型体系结构为主线,并结合复杂应用,实现算法层面的自适应和自动调优、甚至应该瞄准“智能化”的目标,即数值模拟应用研究人员无需选择或设置解法器算法及其算法内部的相关参数,而由解法器在应用运行时自动选取最佳的求解方案,这应该是当前的一个发展方向。

张晨松第二个发言。他首先认为,在科学计算领域,有几个关键思想发挥了重要作用,包括:自适应(不仅仅是网格)、并行求解、多层校正(包括多重网格、FFT、FMM等)等。这些算法的一个出发点是追求数学上最优的计算复杂度,这是过去计算数学领域发展最快的几个方向。但现在看起来,最优的求解都是面向问题的,需要针对应用特征,进行人为干预。而且面向大规模计算,我们现在面临的问题是,数学上最优的算法是不是实际上最快的?大量实际应用表明,不是的。因此,如何在最优(计算复杂度)和最快(求解时间)之间进行权衡,是目前的很大的一个问题,就是前面徐小文提到的需要重新设计算法的构造原则。他还特别强调了在解法器领域引入容错算法的重要性,并介绍了他们最近在基于辅助子空间预条件子容错算法方面的尝试,一个基本的思路是将大规模问题分解为小问题时,每个小规模问题都由多个处理器处理,当机器出现故障时,能通过冗余实现自动重启,但关键是,引入的冗余开销不能占主导,这是目前解法器中非常需要得到关注的一个方向。

1481107495945150.jpg

第三个发言的是杨超。他首先表示,当前的解法器算法研究遇到了很大的困难,挑战非常大,因为机器和应用不在同一个方向走,感觉夹在应用和机器之前,很痛苦。目前基于框架的途径是解决这个问题的一个手段,但仍然有点被动。希望机器研制方能够听听中间件领域和算法研究人员的一些想法。在目前的情况下,如何用好千万量级异构众核是并行算法设计面临的最大问题。并且同意前面嘉宾的观点,现在或不久的将来,算法领域正在出现变革的可能性。一个最近的努力,就是适应体系结构(异构和多层次架构)的区域分解新型算法的出现。另外,数据的移动和存储必须在算法设计中考虑,如何在算法中减小、隐藏、甚至避免数据移动,是非常大的挑战。他同样提到容错算法的重要性。他最后认为,高效算法的设计需要从应用、算法和体系结构等多个层次综合考虑,这样才可能设计出高效可扩展的解法器算法,未来的算法应该是组合型的,能否处理不同的问题和挑战,做到对平台不敏感。

最后一位发言的是谭光明。他首先提到我们目前面临的现实困难,其中一个因素是我们目前实际应用的遗产程序太庞大,出现新的机器后,想改都不敢改,这是很大的一个问题,这个问题也是共性的,国内、美国和欧洲同样存在,他认为这是非常大的一个挑战。他提到的第二点是人才的问题,他认为目前国内性能优化方向的人才太少,与国内的环境有关,高水平的研究生毕业后大量到公司,这对一些国家重大应用单位的遗产程序造成很大的人才制约。围绕这些问题,从性能优化的角度,他提到并重申了前面徐小文提到的观点,如何做到算法和实现的自动调优,他介绍了目前国际上这个方向最近的一些发展趋势,特别是提到基于领域编程语言和编译器如何结合算法特征进行自动调优,包括算法空间和算法参数空间的搜索,其关键是如何将关键算法组件化,将其中的性能相关的组件由性能分析人员研制,从而实现性能分析人员与算法研制人员的紧密合作,他提到他们课题组与徐小文课题组正在往这方面尝试,并呼吁解法器算法和软件领域重视这个方向。在发言的最后,他提到,科学计算目前面临的问题,在某些方面,应该向大数据领域学习,特别是对于软件栈的梳理,理清科学计算软件栈各组件的界面,各方向能无缝耦合,形成合力,解决目前的挑战。

1481107510868134.jpg

嘉宾发言之后,进入互动交流环节。大家围绕嘉宾的发言和讨论主题,提问踊跃,与嘉宾进行了热烈的讨论。首先,莫则尧研究员简单总结了四位嘉宾的观点,认为四位嘉宾正好分别站在应用、算法、性能、体系结构等不同的角度进行了精彩发言。接下来,来自国防科大的彭少亮研究员、中科院计算机网络信息中心金钟研究员、广州大学李志辉教授、丹麦哥本哈根大学刘伟峰、以及北京应用物理与计算数学研究所的安恒斌研究员和杨章副研究员等向四位嘉宾进行提问,这些问题涉及解法器的各个方面,包括:算法对下一代机器研制的要求、如何做到解法器组件最小化并能基于应用快速组装可用的解法器软件、解法器软件的功能与性能之间的权衡、现在的体系结构最适合什么类型的算法、异构优化的方法、解法器在不同算法(PDE,网格,代数等)与实现之间的选择、以及国内解法器软件自主研发的必要性、交流平台、合作等,四位嘉宾针对这些问题,进行了精彩的发言,阐述了自己的观点,引发了大家热烈的讨论。

 1481107531832314.jpg

 1481107548148415.jpg

最后,张林波研究员和莫则尧研究员分别进行了总结。张林波研究员特别提到目前体系结构与算法、应用编程的矛盾,他回顾了最近三十年高性能计算的发展历程,以及在这个过程对并行计算研究的困难。高性能计算由最初的向量机时代,发展到MPI一统江湖的机群时代,再到如今众核处理器时代。张林波研究员认为,“天下大事,合久必分,分久必合”,对应于编程人员而言,现在众核架构五花八门是灾难性的,期待未来循环回来,再次出现一统江湖的局面。莫则尧研究员有感而发,谈到解法器应该以应用为驱动,从基础理论、方法、系统与产品进行一体化的思考,期待国内同行共同努力,作出有特色有水平的工作。

总结

本次高性能计算中间件技术研讨会取得了圆满成功,为国内领域专家提供了一个探讨技术、分享成果的平台,促进了国内中间件技术的交流与合作,取得了良好效果,大家期待明年相聚合肥。

撰稿:赵帅、安恒斌、杨章、成杰

摄像:杨洋、屈予希、赵帅

附1:高性能计算中间件技术研讨会(HPCMid)简介

高性能计算中间件包含在超级计算机上研发应用软件和开展应用研究所需要的各种高效能使能技术,以领域编程框架、编程语言、算法库、性能优化与测评工具、数据管理与I/O库、前后处理引擎等多种方式,提升应用软件的执行效能,降低应用软件的研制难度,促进超级计算机的优化设计。本研讨会以科学与工程计算和大数据处理为需求背景,致力于高性能计算中间件关键技术的学术交流,建立复杂实际应用与超级计算机研制之间的桥梁和交流平台。研讨会创办于2015年,第一届于2015年11月9日在无锡成功举行。