导图社区 并行计算
计算机并行计算的学习笔记分享!本思维导图归纳整理了常用概念、硬件(并行计算机)、软件三大部分的知识要点。帮助你建立系统的计算机并行计算的知识体系,快来一起学习探讨吧!
《计算机系统概述》本书主要介绍了计算机发展历史、操作系统等基本知识和常规使用方法技巧,是一本供计算机专业相关人员学习参考用书。
计算机组成原理:存储系统思维导图学习笔记。该书介绍了计算机的基本组成原理和内部工作机制。全书共分8章,主要内容分成两个部分:第1、2章介绍了计算机的基础知识;第3-8章介绍了计算机的各子系统(包括运算器、存储器、控制器、外部设备和输入输出子系统等)的基本组成原理、设计方法、相互关系以及各子系统互相连接构成整机系统的技术。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
并行计算
硬件 并行计算机
并行计算机分类
CPU与存储器的连接方式
共享存储系统
分布式存储系统
指令和数据间工作方式
单指令流单数据流系统(SISD)
单指令多数据流系统(SIMD)
多指令单数据流系统(MISD)
多指令多数据流系统(MIMD)
数据通信方式
共享地址空间系统(SMM)
集中式存储器
对称共享内存多处理器系统(SMP)
均匀存储访问系统(UMA)
分布式存储器
分布式共享内存系统(DSM)
非均匀存储访问系统(NUMA)
消息传递系统
大规模并行处理机系统(MPP)
成百上千台处理机组成,网络传输速度较高,但扩展性稍差,开发困难
集群系统(Cluster)
相互连接的多个同构或异构的独立计算机的集合体,节点间通过高性能互联网络连接。节点有独立的存储器、I/IO、操作系统
常见计算系统
共享内存系统(SMP)
个人计算机
工作站
服务器
分布式存储系统(DMP)
集群系统
常用概念
程序
一组指令的有序集合
进程
具有一定独立功能的程序关于某个数据集合上的一次运行活动
系统进行资源分配和调度的独立单位
正在运行的程序的一个实例
具有生命周期,反应一个程序在一定数据集合上运行的全部动态过程
线程
进程的一个实体
比进程更小的能够独立运行的基本单位
系统调度和分配的基本单元
本身不拥有系统资源,与同一个进程的其他线程共享所属进程全部资源
拥有运行不可少的必要资源:程序计数器、一组寄存器、调用堆栈
软件
共享内存
OpenMP
多线程编程
用于共享内存并行系统SMP
基于数据并行的编程模式
线程级并行,适用于通信开销大且并行度高的细粒度任务
优点
高效
灵活,较容易适应不同的并行系统配置
较容易实现线程粒度和负载平衡控制
缺点
不适合需要复杂的线程间同步和互斥的场合
不能再非共享内存系统上使用
适用场景
计算平台是多核或多CPU
程序需要扩平台
循环计算是计算瓶颈
优化的需要,不需要大幅修改
消息传递
消息传递接口(MPI)
多进程编程
分布式内存DMP
更适合在同构集群上的并行应用
不提供容错
编程复杂
并行虚拟机(PVM)
基于局域网的并行计算环境
将多个异构的计算机组织起来
更适合异构集群
程序之间通信较差
支持动态的资源管理及一定程度的容错
数据并行
特点
对资源集合同时执行相同操作
编程简单,串并程序一致
程序性能很大程度取决于所使用的编译系统和用户对编译系统的了解
并行粒度局限于数据并行,粒度小
实例
高性能fortran(HPF)
并行函数库
MKL、ACML等商业函数库
BLAS、LAPACK等矢量和矩阵运算
FFTW等傅里叶变换
AZTEC、PETSc等线性/微分方程求解
TAO等最优化问题求解
GPU