并行程序设计方法和模型研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行程序设计方法和模型研究

并行程序设计方法和模型研究 摘要 随着并行硬件系统的发展,并行编程愈趋重要。本文主要研究了并行程序的模型、设计方法以及并行编程的一些标准。另外,随着通用GPU(GPGPU)的发展,本文还讨论了利用GPU进行并行计算,其中重点讲述了CUDA(通用并行计算架构 并行系统划分 要实现软件并行执行的目标,就必须为多个线程同时执行提供一个硬件平台。对计算机体系结构分类的经典方法就是费林分类法。 费林分类法(Flynns Taxonomy)是一种高效能计算机的分类方式,1972提出,把计算机分为四种类型:单指令流单数据流(SISD)、单指令流多数据流(SIMD)、多指令流单数据流(MISD)、多指令流多数据流(MIMD)。 SISD (Single Instruction Single Data):单处理指令单数据,一条指令处理一个数据,所有的冯诺依曼体系结构的“单处理器计算机”都是这类,其硬件不支持任何形式的并行,所有的指令都串行执行。在某个时钟周期内,CPU只能处理一个数据流。 SIMD (Single Instruction Multiple Data):单指令多数据,用一个指令流同时处理多个数据流。此类机器在诸如数字信号处理、多媒体信息处理、向量运算处理等应用领域非常有效。时至今日,几乎所有的计算机都以各种形式的指令集形式实现SIMD功能,例如Intel处理器中实现的MMX、SSE、SSE2、SSE3等扩展指令集。这些扩展指令集都能够在单个时钟周期内处理多个数据单元,这些数据单元存储在浮点寄存器中。 MISD (Multiple Instruction Single Data):多指令单数据,采用多个指令流同时对一个数据流进行处理。但是在大多数情况下,多个指令流处理多个数据流才是更加有效的处理方式,因此,MISD并行计算机一般只是作为一种理论模型出现。 MIMD (Multiple Instruction Multiple Data):多指令多数据,每个处理单元有独立指令和数据。能够同时执行多个指令流,这些指令流分别对不同的数据流进行操作。MIMD是目前最流行的并行计算平台,现代流行的并行处理结构都可以划入到这一类。 1.1 MIMD型计算机体系结构 MIMD性计算机体系结构细分的标准是内存结构,即内存是如何组织的。内存结构可以简单的分为两大类:共享内存和消息驱动。 共享内存就是指所有处理器共享内存,所有CPU由一个操作系统控制,通过共享内存进行通信; 消息驱动就是处理器之间不共享内存,靠消息驱动来进行通信,就是分布式内存,CPU由不同的操作系统控制,不同的CPU之间通过网络通信。 1.1.1 共享内存型 共享内存型体系结构可以分为对称多处理机SMP,非一致内存访问NUMA。 对称多处理机SMP(symmetric multiprocessors): 所有CPU都共享同一内存。 图1-1 对称多处理机内存模式 目前Intel和AMD推出的多核CPU应该都划归到对称多处理机这一类。 非一致内存访问NUMA (nonuniform memory access):所有CPU共享所有的内存,但不同的CPU访问不同的内存时速度不一样。 图1-2 非一致内存访问内存模式 CPU访问离自己近的内存是本地直接访问的,访问离自己远的内存是通过总线访问的,因此两者速度差别很大,这也是之所以叫做非一致内存访问的原因。与非一致内存访问NUMA类似的还有一个叫ccNUMA,前缀cc是cache-coherent(一致性高速缓存)的缩写,它其实就是为了解决访问不同内存速度不一样的问题。 1.1.2消息驱动型 消息驱动型体系结构比较典型的就是分布式内存(DM)结构。 分布式内存DM (Distributed memory):每个CPU都有自己的内存,CPU之间通过消息来通信。 图1-3 分布式内存结构 根据interconnect network的不同,分布式内存可分为三种:大规模并行处理系统(MPP)、集群(Cluster)、网格系统(Grid)。三者的差别简单的来说就是:MPP是一台机器,Cluster是一群相同或者类似的机器,Grid是一堆任意的机器。 大规模并行处理系统MPP (massively parallel processors):这样的系统是由许多松耦合的处理单元组成的,每个处理单元内的CPU都有自己私有的资源,如总线,内存,硬盘等。在每个单元内都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源。 集群Cluster:集群应该是大家最常见的,就是一堆相同或者类似的机器通过网络连起来组成一个计算机群,相互之间通过网络进行通信。 网格系统Grid:网格系统其实和集群差不多,都是一堆机器通过网络连接起来,但两者还是有不

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档