并行计算机体系结构课件.pptx
1,并行计算机体系结构,2022/11/26,2,一、课程目标1.并行性理论的研究 并行计算机系统模型与体系结构; 并行程序设计模型与通信模型; 并行计算机性能评测方法; 可扩展性原理及实现方法。,2.并行技术和结构的研究 微处理器并行技术; 互连网络技术; 共享存储技术及体系结构; 分布存储技术与可扩展体系结构; 通信时延包容技术。,2022/11/26,3,二、参考教材1、并行计算机体系结构,陈国良等著,高等教育出版社, ISBN 7-0411558-1,2002.92、并行计算机体系结构,David E.Culler等著,李晓明等译,机械工业出版社,ISBN 7-111-07888-8,2002.103、可扩展并行计算技术、结构与编程,黄铠、徐志伟著,陆鑫达等译,机械工业出版社,2000.54、计算机系统结构一种定量的方法(第5版),John L. Hennessy等著,郑纬民等译,清华大学出版社,2002.85、计算机系统结构(第二版),郑纬民、汤志忠著,清华大学出版社,1998.9,2022/11/26,4,第一章 系统结构设计基础,2022/11/26,5,第一节 计算机系统结构概念,一、计算机系统结构概念,1、计算机系统层次结构,回下页,2022/11/26,6,2、计算机系统设计方法,(1)由上向下方法 从软件到硬件,适合专用机的设计 结果:形成软、硬脱节,(2)由下向上方法 从硬件到软件,适合通用机的设计 结果:形成软、硬脱节,(3)从中间开始方法 从软、硬件交界面开始设计 要求:不断进行交互、优化设计 需要较好的评价工具和方法,转上页,2022/11/26,7,3、系统结构定义,*精确定义:机器语言程序员、编译程序编写者所看到的计算机的属性,即概念性结构和功能特性 概念性结构系统的软、硬件功能界面; 功能特性界面的功能分配,即界面的接口或组织,*实质:研究软硬件之间的界面定义及其上下的功能分配,*基本定义:程序员所看到的计算机的属性,*研究内容:数据表示、寻址方式、指令系统,寄存器组织; 存储系统; 中断机构、I/O结构; 机器工作状态定义和切换、信息保护,回下页,2022/11/26,8,计算机系统结构包含内容示意图,转上页,2022/11/26,9,计算机组成包含内容数据通路宽度、专用部件设计、各种OS共享程度、功能部件并行度、控制机构组成方式、排队与缓冲技术、预估与预判技术、可靠性技术等,*系统结构、计算机组成、物理实现三者关系: 1 : n 1 : m 系统结构 计算机组成 物理实现,*计算机组成: 定义计算机系统设计人员看到的基本属性 实质是系统结构的逻辑实现,2022/11/26,10,4、计算机系统结构设计步骤,(1)需求分析 在应用环境、所用语言种类及特性、对OS的特殊要求、所用外设特性、技术经济指标、市场分析等方面进行分析,(2)需求说明 形成设计准则、功能说明、器件性能说明等需求,(3)概念性设计 进行软、硬件功能分析,确定机器级界面,(4)具体设计 机器级界面各方面的确切定义,可考虑几种方案,(5)反复进行评价及优化设计,2022/11/26,11,5、并行体系结构 *并行计算机:是一组相互通信、相互协作的处理单元, 用以快速求解大型问题,2022/11/26,12,*并行体系结构: 由宏体系结构、微体系结构两部分组成 微体系结构节点内部结构,主要为处理器及其壳的结构 宏体系结构并行计算机的整体结构,包括节点间互连、通信、存储器访问等方面,*并行体系结构研究内容: 互 连结构模型、互连网络 存储器访存模型、一致性模型(Cache/存储) 交 互编程模型、通信机构、同步机构,2022/11/26,13,二、计算机系统结构分类,1、Flynn分类法 *分类原理:按指令流和数据流的多倍性进行分类,*结构种类:SISD,SIMD,MISD,MIMD,*缺点:对流水线处理机的分类不明确,2022/11/26,14,2、Handler分类法 *分类原理:在三个层次,按并行程度及流水处理程度分类 层次 PCU(程序控制部件或宏流水) K级 ALU(算术逻辑部件或指令流水) D级 ELC(基本逻辑线路或操作流水) W级,描述 T(C) 其中:K为PCU数、K为宏流水级数(PCU数), D为每个PCU中ALU数、D为指令流水级数(ALU数), W为ALU或PE字长,W为操作流水线级数(ELC套数),*特点:对并行及流水线的程度有清晰的描述 注:流水属并行的一种类型,但有所不同; 并行程度越好,性能越高,2022/11/26,15,3、冯氏分类法 *分类原理:按照系统的最大并行程度进行分类 *最大并行度:单位时间内能处理的最大二进制位数 即 Pm=位片宽字宽,2022/11/26,16,4、按控制方式分类 *分类原理:按程序执行的控制方式分类 *分类结果:共有4种,控制流方式指令按逻辑顺序执行(如冯诺依曼模型);,数据流方式只要操作数到位,指令即可执行, 无序执行(,源目的求解过程);,规约方式当需要该指令结果时,该指令才会执行, 无序执行(,目的源目的求解过程);,匹配方式由谓词模式匹配驱动指令的执行, 适合非数值型数据应用,常用于智能型计算机,*特点:除控制流方式外,其它的并行程度较好,2022/11/26,17,第二节 系统设计的定量原理,一、大概率事件优先原则,*基本思想:对大概率事件赋予优先的处理权和资源使用权,以获得全局的最优结果 该原则是系统设计中最重要和最常用的原则,*应用举例: 指令系统指令操作码采用霍夫曼编码; 溢出处理优化不溢出情况的处理; 存储系统层次结构使高频使用数据存取速度更快, 虚拟存储器的TLB用高速芯片组成,2022/11/26,18,二、Amdahl定律,*基本思想:优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例,*应用:使用该定律可改善“系统瓶颈”性能,*举例:某功能处理时间占系统时间的40%,将其处理速度加快10倍后,整个系统性能提高多少?,解已知fe=0.4,re=10,利用Amdahl定律,则 Sp=1.56,re=10时Sp和fe的关系如右图:,方法若改善某部件性能后,系统性能急剧提高, 则该部件为“系统瓶颈”,2022/11/26,19,三、程序访问的局部性原理,*基本思想:程序执行时,呈现出频繁重复使用那些“簇聚”的数据和指令的规律,包含时间局部性和空间局部性,时间局部性- 近期被访问的信息,可能马上被访问 空间局部性- 与被访问地址相邻的信息可能会一起被访问,*应用:层次存储体系设计,2022/11/26,20,四、软硬件取舍原则,1、现有软硬件条件下,所选方法应有助于提高系统的性能/价格 例:,2、所选方法应尽量不限制计算机组成和实现技术 例:数据表示设计不应限制数据宽度与之一一对应; 主存容量设计不应限制是否采用多体交叉存储器等,3、所选方法应能够对编译程序和操作系统的实现提供好的支持 例:指令系统中增加OS所需指令; 根据编译要求设置一定数量通用寄存器等,2022/11/26,2022/11/26,21,22,第三节 计算机系统性能评价,一、计算机系统性能,*计算机性能:正确性、可靠性和工作能力,响应时间指任务从输入到结果输出的所有时间, 反映CPU、I/O系统及OS等的总体性能;,正确性:与数学计算结果比较,通常认为是正确的 可靠性:用平均无故障时间表示,通常认为是可靠的 工作能力:即系统的速度,通常用程序执行时间表示; 可分为峰值性能和持续性能,吞吐率指单位时间内能处理的作业或任务数量, 反映系统的多任务处理性能,2022/11/26,23,1、响应时间 响应时间指一个任务从输入到输出的总时间 T响应TCPUT系统CPUT用户CPUINCPITC CPI包含ALU、访问MEM及I/O的时间(含等待时间),*特点:能够反映软硬件系统的总体性能,但不易测量,*影响TCPU的因素: TCPU INCPITCIN(pmk)TC 其中 p处理周期数/指令,m访存次数/指令,k访存时延,2022/11/26,24,2、吞吐率 *定义:指单位时间内能够处理作业(或任务)的数量 吞吐率 = nn个任务总时间,*常用标准:对作业(或任务)的定义无法统一,MIPS(每秒百万次指令)-,MIPS不能反映指令功能强弱,常用相对MIPS表示,MFLOPS(每秒百万次浮点运算),不同操作通过正则化方法实现关联, MFLOPS只能反映浮点操作能力,2022/11/26,25,3、利用率 *定义:利用率持续性能峰值性能 *特点:不直接表示系统性能,与前两种指标有密切关系; 对系统性能优化及结构改进起着至关重要的作用!,*提高吞吐率方法: 流水化-使多个作业流水处理; 并行处理-给每个PE分配多个作业,各PE相互协调,*特点:吞吐率与I/O软硬件组织方式及OS有很大关系; 能够反映软硬件系统对多任务的响应能力,2022/11/26,26,4、系统可扩放性 常用于评价多机系统的并行处理能力,其中 p-问题规模,n-处理器数量,h-通信时间,衡量方法-测量不同n时的加速比, 得到性能可扩放性曲线,*性能加速比:多机系统相对于单机系统性能提高的比例,*系统可扩放性:系统性能随处理机数n增加而增长的比例 =fS(n),影响因素结构、处理器数、问题规模、存储系统等,2022/11/26,27,二、性能评价与比较,1、评价技术,(1)分析技术 *思路:在一定假设条件下,计算机系统参数与性能指标间存在着某种函数关系,按其工作负载的驱动条件列出方程,用数学方法求解后评价,*发展:从脱离实际的假设发展到近似求解 近似求解算法聚合法、均值分析法、扩散法等,*应用:可应用于设计中系统的分析与评价,回下页,例A机执行的程序中有20%转移指令(需2TC),转移指令都需要一条比较指令(需1TC)配合,其他指令均为1TC。B机中转移指令包含比较指令功能,但TC比A机慢15%。执行该程序时,A机、B机哪个工作速度快?,2022/11/26,28,(2)模拟技术 *思路:建立模拟器,模拟系统性能模型和工作负载模型,对运行后的数据进行统计、分析和评价,*方法: 按被评价系统的运行特性建立系统模型; 按系统可能有的工作负载特性建立工作负载模型; 用语言编写模拟程序,模仿被评价系统的运行; 设计模拟实验,依照评价目标,选择与目标有关因素,得出实验值,再进行统计、分析,*应用:可应用于设计中或实际应用中系统的分析与评价; 可与分析技术相结合,构成一个混合系统,转上页,2022/11/26,29,(3)测量技术 *思路:通常采用基准测试程序对系统进行实际性能评价,*基准测试程序: 有实际应用程序、核心程序、合成测试程序三个层次 第一个层次用于测试系统总体性能; 后两个层次-用于测试部件(如CPU、I/O系统等)性能 基准测试程序具有三个层次的测试程序组,典型的有SPEC程序组,包含测试多个领域、三个层次的测试程序,*应用:只能应用于实际使用中系统的分析与评价; 通常根据系统的设计需求(应用领域)选择基准测试程序组中的部分测试程序进行测量,2022/11/26,30,2、比较技术,*目的:根据多种测试结果,比较不同系统的优劣,*方法:算术平均、几何平均、调和平均方法,(1)算术平均方法,*特性:选择不同的参考机,Am结论不同,回下页,2022/11/26,31,(2)几何平均方法,特性:Gm性能与参考计算机性能无关 依据Gm(Xi)/Gm(Yi)=Gm(Xi/Yi),(3)调和平均方法,特性:Hm最接近CPU的实际性能 依据Hm与所有测试程序时间总和成反比关系,转上页,2022/11/26,32,一、影响计算机系统结构发展因素,1、软件对系统结构发展的影响 *影响因素:软件可移植性,(1)系列机 *思想:具有相同系统结构或扩充原系统结构,组成或实现技术不同,来实现软件可移植性 *影响一:新的组成与实现技术很快得到应用,大量兼容产品的出现,推动了系统结构的发展,系列机要求保证向后兼容, 力争向上兼容,*影响二:要求系统结构基本不变,限制了系统结构的发展,回下页,第四节 系统结构的发展,2022/11/26,33,(2)模拟与仿真,*模拟:用机器语言解释来实现软件移植 需模拟目标机指令系统、存储系统、I/O系统、OS等的操作,*仿真:用微程序直接解释另一种指令系统 需解释目标机I/O系统、OS等的操作,*比较:解释程序存放位置、是否有硬件参与方面不同; 在解释指令系统、存储系统、I/O系统、OS方面相同,(3)统一高级语言方法 存在一定的困难,可争取汇编语言或接口/技术的统一,*方案1:采用统一的中间语言(如Java),通过解释执行以适应不同的系统结构,*方案2:采用标准的开放系统(具有可移植性、交互操作性),用硬件抽象层技术适应不同的系统结构,转上页,2022/11/26,34,2、应用对系统结构发展的影响,*应用背景:应用领域、功能及性能要求有所不同 *应用需求:高速度、大容量、大吞吐率,*系统结构设计思路: 分成不同级别的系统,以提高性能/价格 巨、大型机研究专用系统结构、组成技术 其它型机研究通用系统结构(吸纳先进结构与技术),*系统结构发展趋势: 保持价格基本不变,提高性能 保持性能基本不变,降低价格,*对系统结构影响: 专用系统结构无限制(应用是原动力) 通用系统结构如何有效实现专用结构通用结构,2022/11/26,35,3、器件对系统结构发展的影响,*器件使用方法: 通用片现场片半用户片用户片,*对系统结构影响: 器件的发展推动了系统结构与组成技术的发展 如器件性能、使用方法影响系统结构及组成方法, 器件性/价提高,使结构、组成下移速度更快, 器件的发展,推动算法、语言的发展,系统结构的发展要求器件不断发展 如新结构的使用,取决于器件发展能否提供可能 提高器件性能/价格,要求改变器件逻辑设计方法,2022/11/26,36,二、并行性的发展 并行性包括同时性(时刻)、并发性(时段),*开发方法: 时间重叠、资源重复、资源共享,1、并行性开发,2022/11/26,37,2、并行性发展 用三种并行性实现方法进行开发,得到如下系统结构树:,2022/11/26,38,本章思考1、系统结构精确定义、包含内容是什么? 与计算机组成和实现的关系是什么? 进行系统结构设计的方法和步骤是什么?2、系统结构的分类方法有哪些? 影响系统结构发展的因素又哪些?如何影响的?3、系统结构设计的定量原理有哪些?举例说明其应用。4、计算机系统的性能指标有哪些?其特点和影响因素是什么?5、评价系统性能的方法有哪些?如何比较测量的结果?6、并行计算机与单处理器计算机在系统结构上有哪些区别? 影响其性能的因素有哪些?如何评价?7、并行性包含的内容是什么?开发并行性的方法有哪些? 系统结构树中结点采用哪些技术可实现变迁?,2022/11/26,39,Thank you!,2022/11/26,2022/11/26,40,