并行算法的初步认识

今年的课程中增加了,并行算法的课程,我一看,一门课程都挂上“算法”了,肯定厉害呀。这我可要认真学习它。
我把我自己的见解和大家分享一下,要是有错误的地方一定要指出啊。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MVGyPEw7-1584529135662)(en-resource://database/486:0)]
这是我画的一个思维导图,好像是什么也看不出来。
咱们按照顺序一个一个的介绍哈。

一、定义

(我不知道大家是什么情况,我是从小学开始,学什么都是从定理、定义,开始的。可能是让你有一个大局观,让你更容易去理解它,当你都学完之后,回过来再看它,你会对它更了解。)

并行计算是指同时对多个任务或多条指令、或对多个数据项进行处理。完成此项处理的计算机系统称为并行计算机系统,它是将多个处理器(可以几个、几十个、几千个、几万个等)通过网络连接以一定的方式有序地组织起来(一定的连接方式涉及网络的互联拓扑、通信协议等,而有序的组织则涉及操作系统、中间件软件等)。
(好吧,定义说了一堆,我的理解就是,以前一个人干得活,现在一堆人一起干。)
它对的主要目的,一共就有两个:**一是为了提供比传统计算机快的计算速度;二是解决传统计算机无法解决的问题。 **
这个还是要记一下的,就是,比原来的快,比原来的给力。

二、研究内容

(定义就那样了哈,咱们到下一个,研究内容,我们还是要知道的,要不然,一个活干了半天,不知道是干什么,别人一问,自己三不知,这很尴尬。)
(1)并行计算机的设计
(2)有效算法的设计
(3)评价并行算法的方法
(4)并行计算机语言
(5)并行编程环境与工具
(6)并行程序的可移植性
(7) 并行计算机的自动编程
我是这么理解的,什么东西发展到一定程度,就会机械化然后再到自动化。并行计算机诞生了,有了并行计算机,就要设计它,让它的处理机数目按比例增长之类的;而并行计算机只有有了有效的算法,它才有了脑子;什么地方都是有竞争的,没有比较,怎么提高;算法有了,慢慢的语言(PVM,MPI,HPF等)也就有了;人一多了,就会形成一个大的环境,如果是人就是社会;当一个程序在你自己的计算机成功的时候,并不是成功,要大家伙说了算;慢慢的就向着自动化方向发展

三、应用分类

(1)计算密集型(Compute-Intensive)
(2)数据密集型 (Data-Intensive)
(3)网络密集型 (Network-Intensive)

四、并行计算机

历史

40年代,它就出生了,嗯,挺老的哈,主要是解决单处理器速度瓶颈
60年代初,IBM 360典型代表
60年代末,流水线技术
80年代初,共享存储多处理器
80年代中,基于消息传递机制的并行计算机
80年代末到90年代初,使系统具有一定的可扩展(Scalability)
90年代初,提出了缓存一致性协议的标准
90年代,主要的几种体系结构开始走向融合
挺枯燥的!我的感觉哈。

体系结构

总的来说就两个部分
三素:结点,互联网络,内存
二程:进程,线程


结点(node)是包含一个或多个CPU,这些CPU通过HUB或全互联交叉开关相互联接,并且共享内存,也可以直接与外部进行I/O操作。(与其他的有一些区别)
互联网络(interconnect network):所有结点通过互联网络相互连接相互通信。内存(memory):内存由多个存储模块组成,这些模块可以与结点对称地分布在互联网络的两侧,或者位于各个结点的内部。
抽象的理解就是结点是点,互联网络是线,内存就是整体要表达的含义。


进程(与串行系统类似):具有一定功能的一段程序的一次运行活动,可表示成四元组(P, C, D, S)P是程序代码C是进程的控制状态D是进程的数据S是进程的执行状态

将一个进程分解成两个部分 :一部分由其资源特征构成,仍称之为进程;一部分由其执行特征构成,称之为线程
在这里插入图片描述

类型

我就只介绍一种分类法了——Flynn(1966年)分类法
1、SISD (Single Instruction stream Single Data stream)
单指令流单数据流
2、SIMD (Single Instruction stream Multiple Data stream)
单指令流多数据流
3、MISD (Multiple Instruction stream Single Data stream)
多指令流单数据流
4、MIMD (Multiple Instruction stream Multiple Data stream)多指令流多数据流

指令流:机器所执行的指令序列
数据流:指令流调用的数据序列(包括输入数据和中间结果)

但是有一点我们要知道Flynn分类法实际上并不能对所有计算机进行分类,如流水线向量处理机就难于按Flynn分类法简单地归为上述四类之一。
并行计算机系统除少量专用的SIMD系统外,绝大部分为MIMD系统。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QdgtisvU-1584529135665)(en-resource://database/490:0)]

发布了66 篇原创文章 · 获赞 126 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_44762986/article/details/104951239