并行及分布式计算前沿.pptx
文本预览下载声明
并行与分布式计算;主要内容;一、概念辨析;并行计算:;分布式计算:;并行计算vs分布式计算;网格计算;云计算;云计算vs网格计算;普适计算;普适计算vs云计算;二、并行计算;1 并行计算概述;并行计算是相对于串行计算来说的;
所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算科学中主要研究的是空间上的并行问题。? ;1.2 为什么需要并行计算;1.3 超级计算机的世界格局;1.4 并行体系结构--控制结构;SIMD和MIMD处理机; 1.4 并行体系结构--PRAM模型;分类
PRAM-CRCW并发读并发写
CPRAM-CRCW(Common PRAM-CRCW):仅允许写入相同数据
PPRAM-CRCW(Priority PRAM-CRCW):仅允许优先级最高的处理器写入
APRAM-CRCW(Arbitrary PRAM-CRCW):允许任意处理器自由写入
PRAM-CREW并发读互斥写
PRAM-EREW互斥读互斥写
计算能力比较
PRAM-CRCW是最强的计算模型,PRAM-EREW可logp倍模拟PRAM-CREW和PRAM-CRCW ;1.4 并行体系结构—互联网络;1.4 并行体系结构—互联网络;1.4 并行体系结构—互联网络;1.4 并行体系结构—互联网络;1.5 并行平台的通信模型;共享地址空间平台;NUMA和UMA共享地址空间平台;存储转发(SF)路由;直通(Cut Through)路由; 一到多播送—SF模式; 一到多播送—CT模式; 多到多播送—SF模式; 多到多播送—SF模式;1.6 设计并行算法的四个阶段; PCAM设计过程;域分解 ;域分解 ;域分解 ;功能分解 ;功能分解 ;1.7 并行算法—求和;1.7 求和 例子;2 并行计算概述;固定负载的加速公式:;Karp-Flatt度量;2.3 并行程序性能优化的一般原则;3 多线程编程;线程: ; (1)创建一个线程比创建一个进程的代价小。
(2)线程的切换比进程间切换的代价小。
(3)充分利用多处理器。
(4)数据共享。
(5)快速响应特性。;4 OpenMP编程;诞生于1997年
目前版本OpenMP 3.1
面向共享内存以及分布式共享内存的多处理器多线程并行编程语言
一种能够被用于显式指导多线程、共享内存并行的应用程序编程接口(API)
具有良好的可移植性,支持多种编程语言
支持多种平台
大多数的类UNIX系统以及Windows NT系统(Windows 2000,Windows XP,Vista等);5 MPI编程;MPI是一种消息传递编程模型,并成为这种编程模型的代表和事实上的标准;
MPI是一种标准或规范的代表,而不特指某一个对它的具体实现;
MPI是一个库,而不是一门语言;
MPI库可以被FORTRAN77/C/Fortran90/C++调用。从语法上说它遵守所有对库函数/过程的调用规则,和一般的函数/过程没有什么区别。
最终目的是服务于进程间通信这一目标。
目前已经有MPI1和MPI2的标准。;三、分布式计算;1.1 分布式计算的定义;1.2 分布式计算的特点及优点 ;2、主流的分布式计算技术及规范;Web Service:;四、基于GPU的高性能计算;4.1 GPU的产生背景及前景;◆ 两者的处理器微结构存在很大的差别;五、分布式应用框架Hadoop;名称节点(NameNode):管理文件系统的命名空间,记录文件系统树及这个树内所有的文件和索引目录,同时也记录每个文件的每个块,所在的数据节点。
数据节点(DataNode):文件系统的工作者,存储并提供定位块的服务,并定时向名称节点发送块的存储列表;MapReduce 是一个编程模型,处理和产生大数据集。使用这个模型写出的程序自动在一个大集群上并行执行。运行时系统负责分割输入数据/分配程序在不同的机器上运行/处理机器出错/管理机器间的通信。mapreduce可以让没有任何分布式和并行经验的程序员很容易地利用大分布式系统的资源。
MapReduce将RPC编程细节与分布式处理过程隐藏起来
在Mapper或者Reducer中,用户只需指定一对key/value的处理逻辑,Hadoop框架会自动顺序迭代解析所有key/value,并将每对key/value交给Mapper或者Reducer处理。
显示全部