并行计算软件开发概述

来源 :中国计算机报 | 被引量 : 0次 | 上传用户:shlchen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  当我们建好硬件环境,怎样利用它完成我们的计算需求就成为一个重要议题。针对并行计算,我们需要采用全新的编程模型,以便充分利用高性能计算机的全部性能。
  
  并行计算编程模型
  
  为了简化并行程序的设计,需要采用合适的并行编程模型。目前两种最重要的并行编程模型是数据并行和消息传递。数据并行编程模型的编程级别较高,编程相对简单,但只适用于解决数据并行问题;消息传递编程模型的编程级别较低,编程相对复杂,却有着更加广泛的应用范围。
  数据并行指的是将相同的操作同时作用于不同的数据,从而提高问题求解速度。数据并行技术很早就被应用于向量计算机。长期的实践表明,该技术可以高效地解决大部分科学与工程计算问题。数据并行模型是一种较高层次的并行计算模型,它提供给程序员一个全局的地址空间。通常这类模型所采用的语言本身就提供有并行执行的语义,因而程序员只需要简单地指明执行什么样的并行操作和并行操作的对象,就实现了数据并行的编程。
  数据并行模型虽然可以解决许多科学与工程计算问题,但对于非数值计算类问题,如果仍通过数据并行的方式来进行,则难以取得较高的效率。目前,数据并行模型面临的主要问题是如何实现高效的编译。只有具备了高效的编译器后,数据并行程序才可以在共享内存和分布式内存的并行计算机上取得高效率,才可能提高并行程序设计的效率和可移植性,从而进一步推广数据并行程序设计技术。
  在消息传递模型中,各个并行执行的任务之间通过传递消息来交换信息,协调步伐,控制执行。消息传递一般是基于分布式内存的,但同样也适应于共享内存的并行计算机。消息传递模型为程序员提供了更加灵活的控制手段和表达形式,一些用数据并行模型很难表达的并行算法,采用消息传递模型则可以很容易地实现。机动灵活和控制手段的多样化,是消息传递模型能提供很高执行效率的重要原因。
  消息传递模型为程序员提供了尽可能大的灵活性,但同时也将各个并行任务之间复杂的信息交换及协调控制交给了程序员,从而在一定程度上加重了程序员的负担。尽管如此,消息传递模型的基本通信模式仍然是简单和清楚的,目前大量并行程序采用的都是消息传递并行编程模型。
  
  并行算法基本原则
  
  并行算法是并行计算的基础,与实现技术相结合,为高效率使用并行计算机提供解决方案。其基本原则如下:
  可扩展性 并行算法是否随处理机个数增加而能够线性或近似线性的加速,这是评价一个并行算法是否有效的重要标志之一。
  粗粒度 通常情况下,粒度越大越好。这是因为在每个处理机中有很多需要计算的工作任务,如此可以充分发挥多处理机的作用。并行加速比对细粒度问题一般情况下是不会很高的,这也是为什么并行计算需要求解大规模问题的原因所在。
  减少通信 一个高效率的并行算法,通信是至关重要的。提高性能的关键是减少通信量和通信次数。其中通信次数通常情况下是决定因素。
  优化性能 一个算法是否有效,不仅依赖于理论分析的结果,也和在实现的过程中采用的技术息息相关。性能主要看单处理机能够发挥计算能力的百分比,然后是并行效率。
  常见并行算法
  解決并行计算问题,可以采用的算法种类不少,但是经常被使用的算法有以下几种:
  区域分解算法 是将区域进行分解的一种方法,早期应用于求解椭圆型偏微分方程。区域分解按照划分方式可分为非重叠的区域分解和重叠的区域分解。
  功能分解算法 是将不同功能组成的问题,按照其功能进行分解的一种手段,其目的是逐一解决不同功能的问题,从而获得整个问题的解。
  流水线算法 流水线技术是并行计算中一个非常有效的、常用的手段,根据计算的依赖和递推关系制定多任务流水线流程。
  分而治之算法 根据计算流程进行分解和整合,分而治之方法在并行计算中起着举足轻重的作用。
  同步并行算法 所有计算单元下一步计算需要等待上一次的计算全部完成,串行算法并行化中大部分使用此种算法。
  异步并行算法 进行数据交换不需要严格确定在某一时刻,每个处理机按照预定的计算任务持续执行,但通常需要在一定的时候必须进行一次数据交换,以保证算法的正确性。
  
  并行编程模式
  
  并行编程模式主要有如下的三种类型:
  主从模式(Master-Slave) 有一个主进程,其他为从进程。在这种模式中,主进程一般负责整个并行程序的数据控制,从进程负责对数据的处理和计算任务,当然,主进程也可以参与对数据的处理和计算。一般情况下,从进程之间不发生数据交换,数据的交换过程是通过主进程来完成的。
  对称模式(SPMD) 在这种编程模式中,没有哪个进程是主进程,每个进程的地位是相同的。然而,在并行实现过程中,我们总是要在这些进程中选择一个进行输入输出的进程,它扮演的角色和主进程类似。
  多程序模式(MPMD) 在每个处理机上执行的程序可能是不同的,在某些处理机上可能执行相同的程序。
  并行程序的实现技术
  进程控制 对称模式(SPMD)并行计算中每个处理机上执行的是相同的程序,对于每个进程来说,需要知道自己是属于哪个进程,从而来确定该进程需要完成的任务。进程控制是并行程序的重要组成部分,所有的数据处理和交换过程都离不开进程标识,是在实现过程中必须时刻要牢记的。
  数据交换 在SPMD模式中,数据交换是其主要特征。进程之间的协同工作、信息沟通等都离不开数据交换。如何合理地实现数据交换,是提高并行计算程序性能的关键之一。对于一个给定的并行计算方法,为了高效率的实现,需要仔细分析数据依赖关系,尽可能减少不必要的数据交换,同时也要尽最大努力使数据交换在最少的次数内完成。
  面向对象化 建立自己的通讯库,使程序具有更加直观的可读性。比如说,在处理机中要进行矩阵传输,那就需要定制一个子程序来完成这项任务。
  
  链 接:并行计算体系结构
  
  目前,主要的并行计算体系结构主要有以下四种:
  1.对称多处理(SMP)。它由处理单元、高速缓存、总线或交叉开关、共享内存以及I/O等组成。
  2.分布式共享存储多处理(DSM)。它较好地改善了SMP的可扩展能力,是目前高性能计算机的主流发展方向之一。
  3.大规模并行处理(MPP)。它是并行计算机发展过程中的主力,现在已经发展到由上万个处理机构成一个系统。
  4.集群(Cluster)。Linux平台的集群系统己成为最流行的高性能计算平台,在高性能计算机中占有越来越大的比重,系统规模可从单机、少数几台联网的微机直到包括上千个结点的大规模并行系统,既可作为廉价的并行程序调试环境,也可设计成真正的高性能计算机。
  链 接:刀片:并行架构发展新趋势
  最近几年,刀片服务器得到快速发展。刀片服务器是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度。每块“刀片”实际上就是一块系统主板。它们可以通过板载硬盘启动自己的操作系统,类似于一个个独立的服务器。
  在这种状态下,每块母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联。不过,管理员可以使用系统软件将这些母板集合成一个服务器集群。集群里所有的母板都可以连接起来提供高速的网络环境,并同时共享资源,为相同的用户群服务。在集群中插入新的“刀片”,就可以提高整体性能。而由于每块“刀片”都是热插拔的,所以,系统可以轻松地进行替换,并且将维护时间减少到最小。
  刀片服务器不仅在设计上具有低功耗、空间小、单机售价低等特点,同时它还继承发扬了传统服务器的一些功能,比如热插拔和冗余电源等,满足了密集计算环境对服务器性能的需求。此外,有些产品还可以通过内置的负载均衡技术,有效地提高服务器的稳定性和核心网络性能。
其他文献
软博会上首信公司和美髯公的展台备受瞩目    ASP曾經风云一时,但又悄然落幕了一段时间。最近,随着应用环境的成熟和企业接受度的提高,ASP又成为广受中小企业欢迎的应用模式。  今年6月14日至16日,在北京展览馆举办的第十一届中国国际软件博览会(以下简称软博会)上,北京馆成为其中的一大亮点。在这个展出面积达3750平方米的专区中,首都信息发展有限公司(以下简称首信公司)和北京美髯公科技发展有限公
5月11日,IBM与江苏省信息产业厅在南京签署了建设软件创新中心和推进江苏省软件外包业务合作备忘录。  根据协议,双方的合作主要包括四方面。一是双方合作建设的软件创新中心将作为IBM向本地软件企业提供技术解决方案的窗口。IBM依托此窗口,通过与本地软件企业的合作,为江苏客户量身定制合适的应用方案。二是提供CMMI认证的相关软件培训和服务,帮助江苏企业提高开发实力,并做好为江苏软件产业长远发展储备人
作为企业通讯未来的一种发展趋势,VOIP技术更多的价值是体现在产品的应用上面。如何利用新技术为企业提供更简单、更方便的应用产品是VOIP厂商所要面对的最大问题。   星网锐捷作为VOIP行业的先行军,本着“融合通讯,自主应用”的发展理念,研制开发出“星e通”系列产品。不但可以满足企业方方面面的通信应用需求,其特有的呼叫细节记录功能和灵活的记费、管理功能,方便企业主动控制通讯开支,实现自主管理。  
WiMAX是建立在IEEE802.16和ETSI HiperMAN无线城域网标准基础上的无线数字通信技术,全称为全球微波接入互操作性(Worldwide Interoperability for Microwave Access)。  WiMAX可以为固定站提供达75Mbit/s的传输速率,覆盖范围50km(移动站情况下覆盖范围为5~15km),从而有效地解决最后一公里的接入,实现无缝覆盖的网络。
信息成为真正资源的必要条件是信息管理。信息管理就是管理者以最快的速度获取信息,以最有效的方式使用信息,在最适当的时候更新信息。  ERP是20世纪90年代由Gartner Group公司提出的,其最初的定义是一套将财务、分销、制造和其他业务功能合理集成的应用软件系统。  我国在ERP评测规范中对其做了如下定义:ERP是一种先进的企业管理理念,它将企业各个方面的资源充分调配和平衡,为企业提供多重解决
1.服务器处理器的多核化趋势进一步彰显   服务器处理器的多核化在2005年由AMD公司双核Opteron、Intel公司双核Xeon Paxville、Sun公司8核UltraSPARC T1拉开序幕后,在2006年,操作系统及应用软件对多核处理器的进一步支持及优化、65纳米芯片制造工艺的成熟、AMD PowerNow!及Intel EIST为代表的低功耗技术的发展,芯片级虚拟化技术的成熟等诸多
从2007年第一季度开始,主流厂商对财务以及分销策略进行调整,导致整体市场规模下滑过大。因此,虽然第二季度市场规模环比有所上升,但是同比仍处于下降状态。  易观国际的数据显示,中国中间件市场2007年第二季度整体规模达到2.97亿元,较上季度环比上升28.5%,较去年同期下降5%,与上季度“环比下降39.8%,同比下降36.16%”相比,有明显好转。  在厂商格局中,IBM、BEA和东方通科技位列
我们试用的BDCOM VPN300是一款定位于SOHO用户的百兆VPN安全网关产品。它设计轻巧,性能稳定,可以帮助用户在开放的Internet上实现安全、高可靠性的私有网络。  BDCOM VPN300是博达公司推出的固化VPN安全网关,它标配5个10/100M快速以太网口,支持多种方式的VPN业务。BDCOM VPN300可以根据客户需求,通过拨号、xDSL、小区宽带等有线或其他无线方式连接远端
微软新近推出的Windows Vista操作系统是有史以来市场接受最快的Windows操作系统版本。在刚刚过去的微软2007财年,它在全球销售了超过4000万套。而且,Vista能支持190多万个设备,兼容4万多种设备驱动程序,远远超过了之前的Windows任何一个版本。  那么,一个桌面操作系统何以对整个广域网产生影响?从网络角度而言,这个替代XP的全新系统除了一贯的可读取性及堆栈和内核更新外,
变化,也许是互联网行业不变的生存法则,B2B领域也不例外。没有了签字仪式;没有了新闻发布会;也没有了更多的融资传闻。而变化,却从没有消失过,并且是更加的剧烈和迅速。可以讲,就在这06年的开端,B2B所经历的变化让我们感受到了中国电子商务的进步与成长。    B2B变革的速度    近日中国三大B2B运营商之一的铭万宣布网站改版,据称此次改版是对其在05年底制定的“企业门户”战略的全面实践。互联网上