并行计算基础&编程模型与工具

本文介绍了并行计算的三种应用需求:计算密集型、数据密集型和网络密集型。并行编程模型包括多线程、消息传递和混合模型。文中详细讨论了MPI、OpenMP、MapReduce、Hadoop、CUDA和CellBe等并行计算工具和框架,以及不同类型的并行机体系结构,如SMP、DSM、MPP和机群系统。
摘要由CSDN通过智能技术生成

在当前计算机应用中,对高速并行计算的需求是广泛的,归纳起来,主要有三种类型的应用需求:

  1. 计算密集(Computer-Intensive)型应用,如大型科学工程计算与数值模拟;
  2. 数据密集(Data-Intensive)型应用,如数字图书馆、数据仓库、数据挖掘和计算可视化等;
  3. 网络密集(Network-Intensive)型应用,如协同工作、遥控和远程医疗诊断等。

并行编程模型主要有三种:适用于共享内存的多线程编程模型,适用于分布内存的消息传递编程模型,混合编程模型。

在计算机系统中,处理器永远都是访问离自己最近的存储空间速度最快,比如L1 cache->L2->本地节点内存->远程节点内存/磁盘,而各层次的存储容量跟访问速度恰恰相反。并行计算中,并行算法的设计是决定性能的关键,有些问题天生具有良好的并行性,比如待处理数据集合可以被较好的去耦,而有些问题则需要复杂的公式推导和转换以适合并行计算。同时,还要避免计算过程中可能出现的瓶颈,任务划分要充分考虑负载均衡特别是动态负载均衡,“对等”的思想是维护负载均衡和保持可扩展性的关键之一,即在设计时尽量避免使用Master/Slave和Client/Server的模式。

1.并行机的体系

并行机的发展从SIMD到MIMD,衍生除了四种经典的体系结构模式:SMP(Symmetric Shared-Memory Multiprocessor,比如常用的多核机,可扩展性较差,处理器数目8~16个),DSM(Distributed Shared-Memory,物理存储器分布于各个处理节点,而逻辑地址空间采用统一编

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值