中科院陈国良院士揭秘高性能计算四大研究方向

日期: 2009-10-29 来源:TechTarget中国 英文

  各位专家,各位同仁早晨好,今天跟大家做这样一个发言,讲一下并行研究方法:单一模型跟分层模型。我为什么讲这个题目?大家都知道高性能计算,性能很高的计算叫做高性能计算。性能指速度,但是还有其他的方面。  

  那么我讲高性能计算主要研究内容有四个方法:第一高性能计算理论基础。第二,高性能计算系统。第三设计,第四高性能计算驱动力。我们按照这四个方面的内容,有高性能计算运用等的厂商,就反映了高性能计算四各部分。 

  我简单的介绍一下。  

  当然并行计算模式,以我的理解有三个要素:   

  • 第一,一组反映计算性能机器参数。   
  • 第二,约束计算过程的计算行为。   
  • 第三,一个计算算法复杂度的成本函数。  

我们讲高性能计算计算是主要,所以计算通过要涉及计算运输跟成本。我们看一下并行计算模型的发展历程:   

  • 第一模型为并行算法研究者所使用。  
  • 第二在某种模型上设计正确和最佳的并行算法。
  • 第三,依据模型,分析我们算法的复杂度。我们过去讲模式是这样。
     
      那么模型发展历程是这样:随主流并行结构的变化而演变。我们历程是这样:  
  • 第一 ,共享存储的SIMD机器。   
  • 第二,不同互连结构的SIMB的机器。   
  • 第三,共享存储的MIMD的机器。   
  • 第四,分布存储到MIMD的机器。   
  • 第五,分布共享存储的MIMD的机器。   

  你随着模型沿着完善,强化单一模型功能的路线而发展。
   
  我们把为序数的方便,也分共享存储模型,在这里代表新的模型:PPAM,也就共享优先等。那么第二代分布存储模型。其特点,分布式存储!以“数据信息为中心”!计算和信息分布靠数,整体大同不与个体异步计算。那么代表性模型如整体大同步模型等 。 

  那么第三代存储层次模型,其特点:分布共享存储,以“数据访问为中心”,计算和房存分兵,层次存储包括高存储、高速缓存等。  

  其代表模型:1、均匀存储信为模型UMH。2、分布的RAM模型DRAM等。我们讲三个代模型。
 
  那么我们看单一模型遇到什么困难:   

  一为追求单一模型的功能强和多目标。那么单一模型反映不同机器性能特别多。像第二代模型已经比较多,有五到六个参数,这个就比较复杂。我们就知道参数多,函数就比较复杂。我们即参数比较少的时候,我们分析算术地归方程就比较难。还有考虑当在单一模型又考虑到机器的底层特性和不同的并行度时,至使该模型的很难建立。那么模型的使用:对于算法设计者而言,单一模型大复杂,设计算法时考虑的因素过多,影响设计低时控开销的优秀算法。
  
  然而,对程序设计者而言,变成单行很简洁,才能确保算法的正确程序实现。我们在这种想法单一模型的发展参数越来越强,虽然功能越来越好,使用起也比较难。我们想能不能来分层。所以我们认为模型应该让算法设计,算法实现,算法执行这三个层次来考虑。我们讲早期的并行算法针对算法者来讲,所以我们认为算法设立建立算法设立模型上,算法实现建设并行程序模式上,算法执行应该建立并行模式程序上。就不想原来单一模型,就是一元组。分层的好处:将单一模型的功能分布不同模型当中,就缓解单一模型精确性。那么分层之后职能不一样,你不要涉及算法的时候,你就追究复杂度好,我们执行功能怎么样?所以咱们就干脆涉及算法的时候,追求简单。这样就分开做,可能我们认为比较好。这是我们基本出发点。   

  这三层模型:
 

  • 一并行算法设计模型    
  • 二并行程序设计模型  
  • 三并行程序执行模型   

  那么这三个层次不同并行器来抽象一组参数,用某种语言来实行这种模型。但是像我们国家讲从群众来到群众中去。
   
  三层并行计算模型的功能划分:并行算法设计模型,它是算法设计者和计算机体系结构之间的桥梁,主要用来指导并行算法的设计与分析。   

  第二并行程序设计模型,它是程序设计者与计算软硬件之间等。  

  那么,程序设计模型主要确保使用某种语言在并行器上能够编程,那么我这里编程三个要素:任务,通讯与同步等。那么程序设计的模型复杂的单位:是高级语言的调步。当然有用语言跟其他的东西来组合。那么第三层也是比较难,在发展中的模型,我们叫做变并行程序执行模型是指设计人员与系统实现人员之间的接口。这是我们也提三个要素。这也不强调比如有一些性能指标等。程序执行复杂度量单位:机器指令条数。所以这个时候才真正几秒,几分的概念,那么算法的复杂度是算法的复杂度。那么,在程序执行过程中,有几种:1、任务级。2、数据级。3、指令级。   

  程序执行模型中性能评价标准:执行时间,加速和效率,可扩散性。其支撑条件:第一,软件支持,操作活动。第二,硬件支持。   

  我们讲基本的观念,什么观念:并行计算模式是早期的共享。我们根据它发展的遇到的困难,我们分层三元组算法设计模型,程序设计模型,程序执行模型。我们根据观念是根据算法设计模型的发展,我们沿着单一模型来做,这样就比较难。你做得越详细越难。所以有一些比较所谓现代的模型,我们做很多讲话,按照并行计算职能的功能来设计模型是设计人员。那么,程序运行模型对程序运行设计者等。那么并行设计模型等比较成熟,我刚才讲,也是这样。我们公认而且大家接受一下,目前的困难是什么?因为我们研究的模型,有一个传统思想方式,从一系列来说都按照这种思路来做,行不行吗?  

  内容很明确的回答,研究并行算法模型是有效研究的方式。但是基本的框架也搞不清楚,那么研究并行模型,我觉得现在怎么办?既然没有一个明确的框架。那么现在怎么办?没有一个上级的框架,是自下而上,就从研究优先并行性能开始,大家去开始,你研究这种类型的模型,那种类型的性能程序,也就是说在这种类型执行的时候,大概是怎么样?在另外一种是什么样?然后联合在一起,自下而上的做,这样就比较好。再一次说,我这次给大家介绍,很清楚,我想并行计算模型从单一到分层的模型。而且真正对使用者来说,程序执行模式跟算法模式更重要,所以也更重要,做这个事情也更意义。我们通过这个方面也做这个事情,我讲一些基本思想,我们也发表一篇文章,就讲一些基本的概念。目的真正达到抛砖引玉,请大家认真去思考,时间的关系,我就不讲了。 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐