码迷,mamicode.com
首页 > 其他好文 > 详细

并行计算:并行计算机与并行模型的分类

时间:2019-11-23 21:38:50      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:ted   两种   规模   code   编程   api   res   partition   时钟周期   

视频来源:新竹清华大学:并行计算与并行编程课程

分类:1.Flynn‘s classic taxonomy: 从哈佛结构 CPU的处理器做的分类,基于两个维度:指令及数据(GPU:属于SIMD)

技术图片

 

 

               SISD:单指令,单数据 ,单指令是指在CPU的一个时钟周期 只有一条指令发生动作,单数据是指在CPU的一个任意时钟周期只有一个数据流作为输入。

技术图片

 

 

               SIMD:单指令,多数据,单指令是指所有的计算单元在每个周期内执行相同的指令,多数据是指处理单元可以执行不同的数据。比如GPU,量化处理(X86 AVX指令集)。

                技术图片

 

                MISD:多指令,单数据流,多指令是指 每个处理单元可以通过 分离的指令流  来独立  的处理数据。单数据是指单个数据流送入到多个计算单元中。

技术图片

 

                 MIMD:多指令,多数据,每个计算单元可以执行不同的指令流,每个计算单元可以处理不同的数据流。缺点:复杂度很大。如多核CPU。

技术图片

 

 

            2. Memory archicture classification: 从哈佛结构 内存上进行分类

技术图片

 

 

                 Shared Memory: 不同CPU可以访问同一个内存。根据内存的Access ,latency 及速度 可以分为一致/不一致,

技术图片

 

 

                       一致性(UMA):所有CPU与内存直接相连,他们之间的速度是一致的。

                       不一致性(NUMA):多个CPU连接在一个内存上,不同内存之间存在交流,这里造成冗余。也是非一致性的原因。注意的是需要决定程序运行在哪块CPU/内存上。

                 Distributed Memory:不同CPU都有对应的内存,无法读取对方的内存进行沟通,各自管理。

                        技术图片

 

                     沟通:需要一个 沟通网络 来连接内部处理 内存,每个处理器由自己独立的 内存及 地址空间, 不能任意修改 其他处理器的内存。编程时需要注意不同计算单元之间 何时 及 如何 进行 数据的传递。

技术图片

 

             3. 编程模式的分类。

技术图片

 

 

                 并行编程模式 基于硬件及内存结构 以 抽象的形式(编程语言) 存在。本质:硬件抽象

                 可分为shared memory prog:用于共享内存机器,message passing prog:针对分布式系统。但编程模式不受限于共享/分布式系统,如 message passing model可以跑在 shared memory上,如signle server上的MPI, shared memory model on distributed memory  如partitioned Global Address Space(此类代价较大)。

技术图片

 

             Shared Memory :  两种编程库:Pthread(很底层,编程复杂),OpenMP(很高层次,编程简单)

                技术图片

 

              Message Passing:主要在于 内存之间的沟通,内存拷贝,主要用到的库:MPI API

                                                                  技术图片

 

              总结:shared memory:快,但规模受限,message passing:程序可以控制,但需要定义接送数据,且要对应,内存拷贝需要开销

技术图片

 

 技术图片

 

 

并行计算:并行计算机与并行模型的分类

标签:ted   两种   规模   code   编程   api   res   partition   时钟周期   

原文地址:https://www.cnblogs.com/fourmi/p/11919701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!