您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
并行计算机(并行计算技术)
程序,模型,开销并行计算机(并行计算技术)
发布时间:2020-12-06加入收藏来源:互联网点击:
优点:与PRAM模型相比,BSP模型更为实际,更接近物理模型,BSP模型除了用于进程管理的并行开销外,它考虑了所有其他开销
阶段并行模型基本描述:一个并行程序以一系列阶段加以执行,当前阶段的所有操作未完成之前,不能开始下一阶段操作
三类阶段的定义:并行化阶段主要涉及进程管理的开销阶段;计算阶段一个或多个处理器执行若干局部计算操作;交互阶段完成交互操作所执行的任务。。特点:不同的计算阶段可以不同的工作速度执行不同的工作负载;不同的交互操作可取不同的时间
可扩展范围包括资源可扩展是指通过增加处理器数、更多的存储部件(高速缓存,主存,磁盘)以及增加软件等方法,使系统具有更高能或功能。涉及三方面:Ø规模可伸缩、Ø资源扩展、Ø软件可扩展。
ü当前的并行计算机规模的扩展:Ø加入更多处理器、Ø增加互连网络、接口以及通信软件在内的子系统、有效地利用更大并行,即如何为扩大的系统进行编程
ü计算机系统中发展最快的部件是处理器进展最慢的部分是程序设计语言
SMP和MMP只具有有限的空间可扩展;ü因特网则具有最好的空间可扩展
可扩展设计原理:ü独立原理ü平衡设计原理ü可扩展设计原理、时延隐藏原理
独立原理:应努力使系统中的各个组成部分(硬、软件)相互独立如果无法达到完全独立,则应尽力使相关程度减至最小并使相关尽量清晰。优点:ü使独立扩展成为可能,ü使异构可扩展成为可能、要求部件不受制于一个特别的体系结构或系统
ü消息传递接口(MPl)是使用少量独立(正交)语言特征的成功范例。üMPI基于4个相互正交的主要概念:数据类型、通信操作、通信子集、虚拟拓扑
实现独立原理的两种通用技术:ü将体系结构和实现分开、ü使用标准组件
平衡设计原理:ü应努力最小化任何能瓶颈ü应避免不平衡系统的设计ü应避免单点失效,即一个部件失效将使整个系统崩溃
Amdahl法则:处理速度应与存储器容量和I/O速度相平衡 实现:ü粗略地估计每秒一百万指令(MIPS)的计算速度,应与1MB存储器容量和1Mb/s的I/O速率相平衡
并行系统50%法则ü并行程序能取决于:Ø负载不平衡;Ø并行化开销;Ø通信启动开销(t0);Ø以及每字节通信开销(tc);ü50%法则:4个开销因素的每一个使能衰减都不大于50%,那么就认为此并行系统是平衡的
单结点速度P1”表示的是“计算速度”;“渐进带宽r∞=1/tc”表示的是“通信速度”。
设计“平衡的”由两个慢速部件(处理器速度、网络速度)构成的系统。优于设计“不平衡的‘一个快速(处理器速度)一个慢速(网络速度)构成的系统。平衡设计可以改善系统的能
ü计算机系统设计理念:Ø在设计一个可扩展的系统时,应该从一开始就将可扩展作为主要目标,而不是设计完成后再来考虑这一问题。Ø为系统将来可能扩展以提供更高能或缩小以使价格降低或是有更大的成本有效作好准备。
可扩展设计的两种流行方法:过度设计、向后兼容
过度设计:是指系统在设计时不单纯地只是为了满足目前系统的最低需要,设计必须包括一些附加特,以期在未来的扩展系统中能得到改进
ü地址空间大小:即处理器能直接访问的字节单元数。
向后兼容:在设计硬件或软件部分时,必须兼顾缩减系统的需求。向后兼容并不表示一个旧系统的所有特都应保留。应该剔除陈旧的特,在应用过度设计技术时,应考虑成本问题且不应对未来期待过多,虽然有时过度设计确实能减少总的开发和生产成本。
缺少合适的并行软件是阻碍主流用户接纳并行计算的主要原因。并行系统软件和应用软件不仅数量很少,而且功能也相当原始。困难:p并行编程中有许多不同的模型是一个更复杂的智力活动。并行程序的环境要比串行程序落后得多
编程模型(虚)即是程序员在开发一个并行程序时所见到和使用的模型。自然模型(实)是由一个特定并行计算机平台所提供的、用户可见的最低层的编程模型,其他的编程模型可在此自然模型上加以实现
环境工具是指任何硬件和软件的实用程序,以帮助用户程序的开发和执行,ü是那些通常与操作系统或程序设计语言无关的工具集
ü大多数程序基于命令式机器模型,中心概念是状态更新ü一个命令式程序可看成是一个状态机(或一个自动机)
程序变量集:数据变量、控制变量
ü开始时,进程为不存在状态。当它的创建者,父进程执行进程创建操作后,它才出现。一个新创建的子进程准备执行,但仅在被调度后,它方可开始运行(执行其代码)。
ü重量级的并行进程不适用于可扩展并行计算机,除非并行进程具有粗计算粒度。要开发较细粒度并行,必须使用轻量级进程
OS进程和线程间的主要差别:在重量级的OS进程中,多个线程能共存于进程(包括进程描述符)的同一地址空间,并且共享;当创建一个(重量级)进程时,通常它有一个单线程,称为基本线程;通过执行一个线程创建操作,任何进程能创建另外的线程
颗粒度是指在两次并行操作之间所执行的计算负载。
单线程:从程序员的观点,一个数据并行程序中由一个进程执行,具有单一控制线;使得一个数据并行程序就像一个顺序程序。并行操作子聚合数据结构上:数据并行程序的一个单步(语句),可指定同时作用在不同数据组元素或其他聚合数据结构上的多个操作;松散同步(LooselySynchronous):在数据并行程序的每条语句之后,均有一个隐含的同步,这种语句级的同步是松散的(相对于SIMD机器每条指令之后的紧同步而言);全局命名空间:数据并行程序中的所有变量均驻留在单一地址空间内,所有语句可访问任何变量,只要满足通常的变量作用域规则;隐式相互作用:因为数据并行程序的每条语句之末存在着一个隐含的路障,所以不需要一个显式同步;通信可由变量指派而隐含地完成。隐式数据分配:程序员不必要明确地指定如何分配数据,可将改进数据局部和减少通信的数据分配方法揭示给编译器
分别对应数据并行模型 消息传递模型 共享变量模型
并行程序的并行度(degree of parallelismDOP)通常定义为可同时执行的分进程数。
颗粒度;指在两次并行操作或交互操作之间所执行的计算负载
通信操作类型:数据交换、同步操作、聚集操作
宏基准程序
NPB基准程序组由5个核心(EP、MG、CG、FT和IS)和3个模拟应用(LU、SP和BT)程序组成。
核心程序:EP 基准程序、MG基准程序、CG基准程序、FT基准程序、IS基准程序。模拟应用程序:BT、LU、SP
PARKBENCH基准程序组:低层基准程序、核心基准程序、压缩应用基准程序、HPF编译器基准程序
并行STAP程序组:APT、HO-PD、BM、EL等4个基准程序的结构
用户经常提到6种能:执行时间;速度;吞吐率;利用率;成本有效;能/成本比
工作负载(W):是程序中的计算操作数 Ppeak:是处理器的峰值速度
处理速度;是指单位时间的工作负载(W)的处理,W 表示“工作负载”,其单位是“Mflop(兆
上一篇:张伯声(张伯生)
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |