第二讲:高速缓存技术

上传人:sx****84 文档编号:243010114 上传时间:2024-09-13 格式:PPT 页数:38 大小:151.50KB
返回 下载 相关 举报
第二讲:高速缓存技术_第1页
第1页 / 共38页
第二讲:高速缓存技术_第2页
第2页 / 共38页
第二讲:高速缓存技术_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,上一讲要点:存储需求与解决途径,1.容量问题, 海量存储,2.效率问题, 高性能计算,3.意外灾害问题, 容灾技术,4.管理问题, 存储管理技术,5.不间断工作问题,6. 能源消耗问题,绿色存储,1,第二讲,高速缓存技术,在计算机主机与外存储器之间存在巨大的速度不匹配的矛盾,如: 一般内存速度:,7ns,左右,硬盘平均访问时间,: 10ms,左右(,512,字节),( I/O,总线,: 133MB/s),对于此类问题,常采用缓存技术来解决。,2,1.高速缓存技术,缓存技术是改善I/O性能的一项基本技术。本课讨论的磁盘缓存方法不仅适合传统的存储总线,也适合于新发展的存储网络。,只要系统带多个设备,且性能不同,就存在从慢速设备到快速设备不断更换工作地点以改善系统性能的可能性。,缓存的基本思想:,将数据从一个地点拷贝到另一个地点,使之检索起来更快。,访问请求,快速提交,慢速提交,缓存存储,常规存储,3,1.1 缓存的命中率,缓存命中率 =,由缓存完成的I/O请求次数,I/O请求总数,1.2 缓存与缓冲间的差异,对于开放系统,Unix,NT等,通常的命中率不超过50%。大型机系统的命中率可高达90%。,缓冲(buffer)只起临时存放数据的作用,控制算法简单;,缓存 (cache) 与上相反。,4,3,2,1,1,2,3,图2-1 主机控制器管理的多设备重叠操作,主机I/O控制器,重叠的请求,缓冲内存,存储设备,存储总线,存储设备,缓冲内存,存储设备,设备中的缓冲存储器用于减少访问延迟,以适应主机控制器的性能,5,缓存内存,缓存总线,缓存,控制器,到磁盘系统,I/O,图2-2 带有一个缓冲控制器和缓冲内存的磁盘缓冲,缓存算法既可以在主机软件中实现,也可以在存储子系统或在,主机控制器,中实现,6,2 磁盘缓存的算法,磁盘缓存并不是使设备运行的速度加快,而是缩短了I/O路径的距离,尽可能地用内存的性能代替设备的性能。,磁盘缓存算法中,对应,读,和,写,的算法差异很大。,2.1读算法(常用两种),最近使用(,LRU,:,least recently used,)缓存,预先读缓存,7,图2-3 LRU装入数据的过程,缓存内存,在I/O操作期间,读磁盘数据的同时,数据也拷贝到缓存,响应,请求,响应,请求,存储设备或子系统,LRU算法的缓存控制器,LRU的基本思想:最近读过的数据不久将再次被读。,8,图2-4 关系数据库的LRU缓存,缓存内存,数据库存储子系统,数据库服务器,LAN,缓存命中,LRU缓存,缓存未命中数据被读入缓存内存,响应,请求,缓存未命中,请求,响应,LRU缓存控制器,3,5,6,1,2,4,1. 发送到缓存内存的,缓存命中,3. 发送到存储子系统的,缓存未,命中,5. 装入缓存的读,缓存未命中,2 .从缓存内存到服务器读的,缓存命中,4. 从存储子系统到缓存控制器的读,缓,存未命中,6. 到服务器的读,缓存未命中,LRU缓存的应用过程,9,LRU算法适用的数据范围,ERP和MRP系统,Internet电子商务服务器,事物处理系统,顾客服务和支持系统,其他多用户数据库应用,不适用类型:,顺序访问的数据,包括数据仓库,多媒体数据等。,10,预先读缓存,预先读缓存的基本思想:,已读入的数据将不在需要,而依次需要的是即 将读入的数据块 。,适用范围:,文件服务、备份、数据仓库及多媒体等顺序I/O模式的应用。,11,图2-5 预先读的过程,缓存内存,缓存命中,缓存控制器发出预取请求,将数据写入缓存内存,预读取,I/O请求+响应,缓存未命中,采用预先读算法的缓存控制器,存储设备或子系统,12,图2-6 文件服务器的预先读缓存,缓存内存,文件存储 子系统,文件,服务器,LAN,缓存命中,预先读缓存,缓存装入预取数据,响应,请求,(,缓存未命中,),请求,响应,LRU缓存控制器,3,5,1,2,4,1. 缓存,命中,3.,缓存,未命中,5. 从存储子系统预读取,2 . 从缓存的读缓存,命中,数据,4. 从存储子系统读缓存,未命中,数据,6. 缓存,装入,预取数据,预取I/O,6,13,2.2 写,数据到缓存设备或子系统,缓存,写,与缓存,读,技术有很大的不同,它更侧重数据的安全性,如断电时的保证数据不丢失;,一致性,等问题。,用LRU方法为例:如某个应用正在更新存储子系统的数据,由于在缓存中可能存了过时的数据,当应用修改数据时,缓存中的过时数据也必须修改。否则,LRU方法将读到过时数据。,14,两种基本的写缓存技术:,透写缓存:,把数据写入缓存后,立即写入非易失存储器(磁盘),回写缓存:,为了提供更快的响应,将把缓存中的几个,I/O,写操作集中起来,然后一次性地把它们写入非易失性存储器。,15,图 2.7 缓存未命中和缓存命中的写请求,过时数据,缓存内存,写I/O请求,可选的写I/O请求,写I/O请求,过时数据,缓存命中,I/O请求修改过的数据,缓存控制器,缓存未命中,非易失存储,透写缓存,16,图 2.8 缓存命中时的透写缓存过程,写I/O请求,到缓存内存,写I/O请求,缓存命中,写I/O请求,非易失存储,使用透写算法的缓存控制器,17,写I/O请求,到缓存内存,写I/O请求,缓存命中,写I/O请求,非易失存储,使用回写算法的缓存控制器,图2.9,缓存命中时的回写缓存过程,注:回写缓存决不能在没有UPS的情况下使用,回写缓存,18,3 磁盘缓存的位置与优化,主机系统内存,设备或子系统,主机I/O控制器,存储网络中的独立缓存,磁盘缓存可能处于不同I/O路径的位置,对系统产生的影响也不同,一般有以下四种情况:,3.1 在主机内存中实现磁盘缓存,用主机内存(或位于系统内存总线的缓存)实现,是访问速度最快的一种方式。,缺点:占用CPU时间和主机内存,在主机使用频率超过75%时,不适合选用。,19,1),主机系统的LRU缓存,在传输数据并将其装入主机内存的过程中,LRU对系统性能影响 很小。在主机内存中实现LRU效率很高。,2),主机系统的预先缓存,要消耗更多的CPU周期、存储路径、系统I/O总线和系统存储总线的带宽。,3),主机系统中的透写缓存,并可避免数据数据的不一致。,4),主机系统中的回写缓存,效率远高于透写,易产生数据不一致。需要UPS支持。,对于随机事物处理,LRU与回写缓存 可能是最优的组合,20,图2.10 服务器基本缓存,服务器系统,磁盘缓存,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,存储设备/子系统,21,图 2.11 位于内存总线的缓存,文件系统接口,系统环境,文件系统,卷处理器,磁盘缓存,设备接口,到非易失存储的设备驱动程序,缓存进程,系统内存总线,分配给磁盘缓存的系统内存,22,图 2.12 设备/子系统中的缓存实现,服务器,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,存储设备/子系统,磁盘缓存,3.2 在磁盘子系统中实现缓存,特点:主机CPU不受缓存操作影响,适用于主机负荷重的系统。,因为每个请求都要通过整个I/O路径,所以它比基于主机的缓存操作要慢。,23,1)设备/子系统中的LRU缓存效率不如在主机内的缓存系统,但它适用主机负荷重的场合(超过75%),或没有适当内存建缓存。,2)设备/子系统中的预先读缓存与在主机内实现不同,它不额外增加主机CPU的负担,及降低竞争主机资源进程的干扰。,3)设备/子系统中透写缓存 对I/O吞吐量要求不高,写操作较少的应用时,透写缓存的效果较好。,4)设备/子系统中的回写缓存 在存储子系统中最常用的方法。,24,图2.13 使用位于主机I/O控制器上的缓存控制器实现磁盘缓存,服务器,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,存储设备/子系统,磁盘缓存,3.3 在主机I/O控制器中实现磁盘缓存,两种实现方法:主机驱动程序;,主机I/O控制器上的缓存控制器,。后一种方法可减轻主机负担,为大部分系统所采用。特点介于前两者的综合(4种读写操作)。,25,图 2.14 存储网络中的缓存,存储网络,存储网络,端口 端口 端口 端口,A B C D,到系统 A,到系统 B,到目标设备/子系统C,到目标设备/子系统D,端口/缓存交叉连线,目标控制器+虚拟化,缓存控制+操作,缓存内存池B,缓存内存池A,4 存储网络中的独立缓存,提供多端口、多主机、多目标缓存的能力,26,5 配置缓存,缓存的大小,:一般而言,对于带有缓存的磁盘子系统,合理的缓存应占总 存储量的0.1%。,多级缓存,:为了使某些类型的数据和应用达到更好的工作状态,可以同时使用多级缓存。例如,同时使用LRU和预先读两种缓存。,一般而言,多级缓存应串接在I/O路径上,并行连接方式所产生连贯性问题,仍然是今天存储领域所面临的难题。,应将I/O路径上负担最小的缓存组件放在靠近CPU的位置,如LRU缓存。I/O路径上负担最重的缓存组件应放在离存储子系统的地方。,27,缓存读1,I/O请求,缓存控制器1:,缓存控制器2:,非易失存储,缓存 1,缓存 2,缓存写1,缓存读2,缓存写2,28,图 2.15 多级磁盘缓存,正常I/O操作期间装入的缓存,I/O请求,缓存控制器1:,LRU+回写,缓存控制器2:,预先读+透写,非易失存储,缓存内存 1,缓存内存 2,收集并发送到非 易失存储的写,有控制器中的预取执行的缓存装入,立即发送到非易失存储的写,29,图 2.16 SSD在I/O路径上的位置,服务器,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,固态磁盘(SSD),6 固态磁盘(SSD),用半导体存储器代替慢速的机电设备,特点:速度快,价格贵。,非易失SSD:带后备电池的DRAM,闪存(读操作快,写操作与磁盘差不多)。,30,图 2.17 带有一个内部磁盘驱动器的SSD,SSD,I/O写入,内存存储,内部磁盘驱动器,镜像控制器,31,图2.18 标记命令排队的实现,主机I/O控制器,设备/子系统命令队列,目标设备/子系统,7 标记命令排队,32,图 2.19 使用标记命令排队的排序命令序列,接收的请求队列,I/O序列号 块序列,排序,10 - 8,9 - 2,8 - 3,7 - 6,6 - 2,5 - 1,4 - 7,3 - 4,2 - 8,1 - 1,重排的请求(在排序后),I/O序列号 块序列,10-8,2-8,4-7,7-6,3-4,8-3,9-2,6-2,5-1,1-1,为了最优设备性能而重新排序I/O请求,33,8 I/O路径与系统性能,平衡CPU与I/O的性能,8.1 分析CPU和I/O性能提高的影响,例,一进程原来的运行时间为,10秒钟,,其中,5秒钟,为,CPU,花费的时间,,5秒钟,为,I/O,操作花费的时间。现安装,新CPU,,其速度是原来的,4倍,,系统CPU升级后,新CPU花费时间为原来的1/4,即,1.25秒,。,新进程时间 = 改善的CPU性能 + I/O性能 = 1.25 + 5 = 6.25,原进程时间 / 新进程时间 = 10 / 6.25 =,1.6倍,假如,再,用磁盘缓存技术使I/O性能提高一倍,,即,2.5秒,则,系统总性能的改善为:,原进程时间 / 新进程时间 = 10 / 3.75 =,2.7倍,通过例子可以看出提高I/O性能对系统的整体性能影响很大.,34,8.3 从CPU最大值推测主机I/O总线性能,根据1983年以来的PC发展历史,可以推测系统I/O总线性能的最大值约为CPU吞吐量的,5%,。,随着千兆的64位处理器的出现,可期望系统I/O总线的速度能达到400M/s,但常用的64位,PCI,总线只有256M/s的速度。,1999年10月30日新发布的,InfiniBand,规范的双向I/O传输速度达到500M/s,。,8.4 配置系统使I/O性能最优,8.2 I/O性能与CPU速度的关联,35,表 CPU最大的吞吐量,时钟速度(MHz) 数据宽度 理论吞吐量,8MHz 8位 8MB/s,16MHz 16位 16MB/s,33MHz 32位 132MB/s,120MHz 32位 480MB/s,200MHz 64位 1.6GB/s,400MHz 64位 3.2GB/s,表 作为CPU吞吐量的函数估计的主机I/O总线性能,时钟速度 数据宽度 估计的I/O性能,8MHz 8位 0.4MB/s,16MHz 16位 1.5MB/s,33MHz 32位 6.5MB/s,120MHz 32位 24MB/s,200MHz 64位 80MB/s,400MHz 64位 160MB/s,36,磁盘缓存的结构分类与工作原理,主机软件控制,存储子系统,主机I/O控制器,对缓存的几种基本读写算法与特点,LRU缓存算法,预先读缓存算法,透写缓存算法,回写缓存算法,多级缓存结构与算法的综合,小 结,37,网上市场调研,销售存储产品的公司有哪些(按市场规模国内外各选三家);,存储产品的主要分类和所占比例;,存储产品的应用发展趋势;,存储产品的技术发展趋势。,(自由组合,每,4,人一组,交一份报告),作 业,38,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!