高等计算机系统结构(第五讲)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 相邻层之间的数据传送单位 CPU高速缓存:字 高速缓存主存储器:块(每块32个字节 (8个字)) 主存磁盘:页面(比如每页4K字节,包 含128块) 磁盘磁带:段 包含性可以用下面的图来说明:
M1:高速缓存
CPU寄存器 字单位 …… a …… 块单位 a 页面A 页单位
b
a,b为高速缓存 块,32个字节
空间局部性(spatial locality):一个 进程访问的各项的地址彼此很近,例如,表操 作或数组操作含对地址空间中某一区域的集中 访问. 顺序局部性(sequential locality):在 典型程序中,除非转移指令产生不按次序的转 移外,指令都是顺序执行的. 局部性原理指导我们去设计高速缓存,主存储器 以及虚拟存储器组织.
5.3.1 命中率
在Mi中找到一个信息项时,称之为命中,反 之称为缺失. 假定在层次结构中的存储器层次为Mi和Mi-1, 其中i=1,2,…,n.在Mi层的命中率hi则是信 息项可在Mi中找到的概率.它是表示两个相邻 层Mi-1和Mi特性的函数.在Mi中的缺失率定义为 1-hi.
相继层的命中率是存储器容量,管理策略 和程序行为的函数,它是独立的随机变量,其 值在0到1之间.我们假设h0=0和hn=1,这意味 着CPU总是先访问M1,并且访问到最外层Mn时总 是命中的. 对Mi的访问频率为:
第五章 并行存储器系统 5.1 存储器系统的层次结构 5.2 包含性,一致性和局部性 5.3 存储器容量的规划 5.4 虚拟存储器技术
5.3.1 共享存储和分布存储 5.3.2 DSM与SVM 5.3.3 虚拟存储器的主要技术
5.5 交叉访问的存储器
5.4 虚拟存储器技术
提要: 虚拟存储器提供了几乎没有限制的存储 器工作空间. 虚拟地址在编译时产生. 虚拟地址到物理地址的转换在运行时进 行,需要使用转换表和映象系统. 替换策略.
t1 = 25ns s1=512K字节 c1=1.25美元 t2 = 未知 s2=32M字节 c2=0.2美元 t3 = 4ms s3 = 未知 c3=0.0002美元
要达到有效存取时间Teff=10.04s,高速缓存 命中率为h1=0.98,主存储器命中率h2=0.9,总 成本上限为15000美元.
计算机科学与技术系研究生课程
高等计算机系统结构
清华大学计算机科学与技术系高性能计算研究所
郑纬民 教授
2007年10月
高等计算机系统结构
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 高等计算机的核心技术——并行处理 加速比性能模型与可扩展性分析 互连与通信 划分与调度 并行存储器系统 Cache Coherence Memory Consistency 指令级并行处理
T = ∑ fiti = h t1 + ( h )h2t2 + 1 eff 1 1
1 i= n
+ ( h )( h2 ) 1 hn1)hntn 1 1 ( 1
5.3.3 层次结构的优化
目标: 使Teff接近于M1的t1, 总成本接近于Mn的Cn. 优化过程可以表达为:对一个线性规划求 最小值问题:
缺点: 这两种方法都是用来解决不同地址空间的问 题,在接点间传递复杂数据结构时都比较困难, 需要打包,传递指针也不可能实现.由于个处 理机拥有不同的地址空间,使得进程迁移时, 该进程所分配到的操作系统资源也得一起移动 (打开得文件,文件存取控制块等),这很费 时.
5.4.2 DSM与SVM
1.DSM和SVM的提出 如何把共享和分布的优点结合起来,取长 补短? 共享分布存储器(Distributed shared Memory,DSM) 虚拟共享存储器(Shared Virtual Memory,SVM) ——基于分布存储器的多处理机上,实现物 理上分布但逻辑上共享的存储器系统.
DSM系统编制的程序比用消息传递方式编制的 程序效率高: (1)在DSM系统中,数据都是以块的方式进行传 送,如果一个程序具有较高的局部性,则当把一 个数据块传送到一个结点后,该结点对它的访问 就成为本地访问,而消息传递方式的每次访问都 需要通讯.
Hennessy和Patterson(1990年)提出了一条 90-10规则:典型程序在10%的代码上可能要耗 费其执行时间的90%(例如嵌套循环操作的最 内层循环). 时间局部性(temporal locality):最近 的访问项(指令或数据)很可能在不久的将来 再次被访问.即对最近使用区域的集中访问.
fi = (1 h )(1 h2 ) 1 h 1)h ( 1 i i
是指在较低层次有i-1次缺失而在Mi有一次 命中时访问Mi成功的概率.
n
∑f
i= 1
i
=1 f1 = h , 1
通常情况下,有:
f1 >> f2 >>>> fn
这说明,访问内存比访问外存要多.
5.3.2 有效存取时间
每当发生缺失时,就要付出代价去访问较 高层次的存储器.这种缺失在Cache中称为块 缺失.在主存储器中称为缺页错(page fault),因为块和页面是这些层次之间传送 信息的单位. 缺页错付出的时间代价要比块缺失付出的 更大:
存储器层次 第0层 第1层 第2层 第3层 第4层 特性 CPU寄存器 高速缓存 主存储器 磁盘存储器 磁带存储器 设备工艺 存取时间 容量(字节) ECL 10ns 512B SRAM 25-40ns 128KB 72 250-400 DRAM 60-100ns 512MB 5.6 80-133 磁盘机 10-20ms 磁带机 2-20min
60-228GB 512G-2TB 0.23 3-5 0.01 0.18-0.23
成本(美分/KB) 18000 带宽(MB/S) 400-800 传送单位 字:4-8B
块:32B 页:0.5-1KB
文件:5- 后援存储器 512KB
分配管理 编译器分配 硬件控制 操作系统 操作系统/ 操作系统/ 用户 用户
5.4.1 共享存储和分布存储
MIMD系统可以分为两种: (1)tightly coupled shared-Memory multiprocessors (2)loosely coupled distributed-Memory multiprocessors 它们可以用图表示如下:
P1 share-Memory multiprocessors SM1
Si > 0, ti > 0, 对 i =1 2, n 于 , , Ctotal = ∑Ci Si < C0 (总 格 上 ) , 价 的 限 时
i= 1 n
要 有 存 时 T = ∑ fiti减 最 值 将 效 取 间 eff 到 小 .
i= 1
n
例子:存储器层次结构设计
存储器层次 高速缓存 主存储器 磁盘阵列 存取时间 容量 价格/K字节
2.维护一致性的两种策略 (1)写直达(write-through,WT),即如果 在Mi(i=1,2,…,n-1)中修改了一个字,则 在Mi+1中需要立即修改. (2)写回(write-back,WB),即如果在 Mi+1 中的修改延迟到Mi中正在修改的字被替换 时才进行.
5.2.3 局部性(locality)
解:
C = C S1 + C2S2 + C3S3 ≤15000 1 代 有 S3 = 39.8GB 入 : yte T = h t1 + (1 h )h2t2 + (1 h )(1 h2 )h3t3 ≤10.04 eff 1 1 1 代 可 t2 = 903ns 入 得
如果在同样的预算限制条件下,要吧主存储 器容量提高64M字节,那么只好以减少磁盘容 量为代价,但是这一变化并不影响高速缓存的 命中率.如果使用合适的页面替换算法,可能 会增加主存储器的命中率,Teff有所降低.
层次化存储器系统必须解决的问题: (1)数据块在较高层存储器中存放在哪个 位置?即块和页的定位问题.如果一个块存放 在某一上层存储器中,怎样确定并找到该块, 即块的寻址问题. (2)不命中的将从下层存储器中访问,并 将该块调入上层存储器中,但是如果上层存储 器中已无空闲空间,则势必将上层存储器中的 某一块调出,但应调出那一块,即替换问题. (3)在写访问时,写入上层存储器中的数 据必须在适当的时候写入下层存储器,何时写?
第五章 并行存储器系统 5.1 存储器系统的层次结构 5.2 包含性,一致性和局部性 5.3 存储器容量的规划
5.3.1 命中率 5.3.2 有效存取时间
5.4 虚拟存储器技术 5.5 交叉访问的存储器
5.3 存储器容量的规划
存储器层次结构的性能是由层次结构的有 效存取时间Teff决定的,它依赖于相继层 次的命中率和访问频率.
第五章 并行存储器系统 5.1 存储器系统的层次结构 5.2 包含性,一致性和局部性 5.3 存储器容量的规划 5.4 虚拟存储器技术 5.5 交叉访问的存储器
5.1 存储器系统的层次结构
存储器系统的层次结构如下图所示:
容 量 和 存 取 时 间 增 加
层 :M 层 :M 存储器 层 :M 层0:M0 层1:M1 CPU内的寄存器
M2:主存储器
b 页面B
M3:磁盘 存储器
a 页面A
b 页面B
段G
段F 段单位 a 页面A 段F b 页面B 段G
M4:磁带机 后援存储器
5.2.2 一致性(coherence)
1.一致性定义 同一个信息项与后继存储器层次的副本是 一致的. 如果在高速缓存中的一个字被修改过,那 么在所有更高层上该字的副本也必须立即或最 后加以修改 .
每
高速缓存
位 成 本 增 加
存储器
五个参数:
存取时间ti:从CPU到第i层存储器的往返时间 存储器容量Si:第i层的字节或字的数量 每字节成本Ci:第i层存储器的成本为CiSi 传输带宽bi:相邻层之间传送信息的速率 传输单位Xi:i和i+1层之间数据传送的粒度 对存储器系统中各层次存储器的特性,1993 年的统计数据如下表:
P2
……
Pn
ICN
…… SMm
distribued-Memory multiprocessors
P LM
P LM
……
P LM
ICN
共享存储和分布存储的优缺点:
共享存储器: 易于编程,是单机的自然延伸; 程序员无数据划分的负担; 多进程并发的开销小,效率高,易于 进程迁移,任务动态分配简单; 由于每个处理器都通过总线访问存储 器,因而限制了处理器的个数,可扩展性差.
虚拟共享存储器的逻辑结构:
CPU1 LM1 CPU2 LM2 …… CPUn LMn 地址映射 部件
地址映射 地址映射 部件 部件
……
虚拟共享存储器
MIMD机器存储系统的发展方向:
共享存储器
分布存储器
共享分布存储器
2.DSM系统的特点 在DSM系统中,每一台处理机都可以访问全 局存储器的任一位置,用户可以把它当成全局共 享存储器系统. 优点: 编程容易 系统结构灵活 可扩展性好 系统价格低 有较好的软件移植性
分布存储器: 系统结构灵活,可扩展性好; 处理机数目可达成百上千,处理速度有 巨大的发展潜力; 算法设计,编程以及任务动态分配比较 困难; 很难在处理机之间传递复杂的数据结构, 难于进程迁移; 不能支持需要存储空间的大规模数据处 理要求.
分布存储的两种编Байду номын сангаас方法:
(1)message-passing,用send,receive 原语实现通信,要求程序员在进程的整个运行 期间对数据的移动都很清楚; (2)romote procedure call,语言一级传 送控制与数据,可以看作是本地调用,但透明 度有限.
第五章 并行存储器系统 5.1 存储器系统的层次结构 5.2 包含性,一致性和局部性
5.2.1 包含性 5.2.2 一致性 5.2.3 局部性
5.3 存储器容量的规划 5.4 虚拟存储器技术 5.5 交叉访问的存储器
5.2 包含性,一致性和局部性
5.2.1 包含性(inclusion)
1. 包含性的定义 M0 M1 M2…… Mn 所有信息项最初存放在最外层Mn,在处 理过程中,它的子集复制到Mn-1,同样, Mn-1的子集复制到Mn-2,…… 如果在Mi中找到一个信息字,那么同一个 字的复制品在所有的高层Mi+1,Mi+2,……, Mn中都一定可以找到.