




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上一讲要点:存储需求与解决途径,1.2.效率问题高性能计算3.意外灾害问题容灾技术4.存储管理技术5.不间断工作问题6.能源消耗问题绿色存储,第二讲高速缓存技术,在计算机主机与外存储器之间存在巨大的速度不匹配的矛盾如:一般内存速度:7ns左右硬盘平均访问时间:10ms左右(512字节)(I/O总线:133MB/s)对于此类问题,常采用缓存技术来解决。,1.高速缓存技术缓存技术是改善I/O性能的一项基本技术。本课讨论的磁盘缓存方法不仅适合传统的存储总线,也适合于新发展的存储网络。只要系统带多个设备,且性能不同,就存在从慢速设备到快速设备不断更换工作地点以改善系统性能的可能性。缓存的基本思想:将数据从一个地点拷贝到另一个地点,使之检索起来更快。,访问请求,快速提交,慢速提交,缓存存储,常规存储,1.1缓存的命中率,缓存命中率=,由缓存完成的I/O请求次数,I/O请求总数,1.2缓存与缓冲间的差异,对于开放系统,Unix,NT等,通常的命中率不超过50%。大型机系统的命中率可高达90%。,缓冲(buffer)只起临时存放数据的作用,控制算法简单;缓存(cache)与上相反。,321,1,2,3,图2-1主机控制器管理的多设备重叠操作,主机I/O控制器,重叠的请求,缓冲内存,存储设备,存储总线,存储设备,缓冲内存,存储设备,设备中的缓冲存储器用于减少访问延迟,以适应主机控制器的性能,缓存内存,缓存总线,缓存控制器,到磁盘系统,I/O,图2-2带有一个缓冲控制器和缓冲内存的磁盘缓冲,缓存算法既可以在主机软件中实现,也可以在存储子系统或在主机控制器中实现,2磁盘缓存的算法,磁盘缓存并不是使设备运行的速度加快,而是缩短了I/O路径的距离,尽可能地用内存的性能代替设备的性能。磁盘缓存算法中,对应读和写的算法差异很大。2.1读算法(常用两种)最近使用(LRU:leastrecentlyused)缓存预先读缓存,图2-3LRU装入数据的过程,缓存内存,在I/O操作期间,读磁盘数据的同时,数据也拷贝到缓存,响应,请求,响应,请求,存储设备或子系统,LRU算法的缓存控制器,LRU的基本思想:最近读过的数据不久将再次被读。,图2-4关系数据库的LRU缓存,缓存内存,数据库存储子系统,数据库服务器,LAN,缓存命中,LRU缓存,缓存未命中数据被读入缓存内存,响应,请求,缓存未命中,请求,响应,LRU缓存控制器,3,5,6,1,2,4,1.发送到缓存内存的缓存命中3.发送到存储子系统的缓存未命中5.装入缓存的读缓存未命中,2.从缓存内存到服务器读的缓存命中4.从存储子系统到缓存控制器的读缓存未命中6.到服务器的读缓存未命中,LRU缓存的应用过程,LRU算法适用的数据范围,ERP和MRP系统Internet电子商务服务器事物处理系统顾客服务和支持系统其他多用户数据库应用,不适用类型:顺序访问的数据,包括数据仓库,多媒体数据等。,预先读缓存,预先读缓存的基本思想:已读入的数据将不在需要,而依次需要的是即将读入的数据块。,适用范围:文件服务、备份、数据仓库及多媒体等顺序I/O模式的应用。,图2-5预先读的过程,缓存内存,缓存命中,缓存控制器发出预取请求,将数据写入缓存内存,预读取,I/O请求+响应,缓存未命中,采用预先读算法的缓存控制器,存储设备或子系统,图2-6文件服务器的预先读缓存,缓存内存,文件存储子系统,文件服务器,LAN,缓存命中,预先读缓存,缓存装入预取数据,响应,请求,(缓存未命中),请求,响应,LRU缓存控制器,3,5,1,2,4,1.缓存命中3.缓存未命中5.从存储子系统预读取,2.从缓存的读缓存命中数据4.从存储子系统读缓存未命中数据6.缓存装入预取数据,预取I/O,6,2.2写数据到缓存设备或子系统,缓存写与缓存读技术有很大的不同,它更侧重数据的安全性,如断电时的保证数据不丢失;一致性等问题。,用LRU方法为例:如某个应用正在更新存储子系统的数据,由于在缓存中可能存了过时的数据,当应用修改数据时,缓存中的过时数据也必须修改。否则,LRU方法将读到过时数据。,两种基本的写缓存技术:透写缓存:把数据写入缓存后,立即写入非易失存储器(磁盘)回写缓存:为了提供更快的响应,将把缓存中的几个I/O写操作集中起来,然后一次性地把它们写入非易失性存储器。,图2.7缓存未命中和缓存命中的写请求,过时数据,缓存内存,写I/O请求,可选的写I/O请求,写I/O请求,过时数据,缓存命中,I/O请求修改过的数据,缓存控制器,缓存未命中,非易失存储,透写缓存,图2.8缓存命中时的透写缓存过程,写I/O请求,到缓存内存,写I/O请求,缓存命中,写I/O请求,非易失存储,使用透写算法的缓存控制器,写I/O请求,到缓存内存,写I/O请求,缓存命中,写I/O请求,非易失存储,使用回写算法的缓存控制器,图2.9缓存命中时的回写缓存过程,注:回写缓存决不能在没有UPS的情况下使用,回写缓存,3磁盘缓存的位置与优化,主机系统内存设备或子系统主机I/O控制器存储网络中的独立缓存,磁盘缓存可能处于不同I/O路径的位置,对系统产生的影响也不同,一般有以下四种情况:,3.1在主机内存中实现磁盘缓存用主机内存(或位于系统内存总线的缓存)实现,是访问速度最快的一种方式。缺点:占用CPU时间和主机内存,在主机使用频率超过75%时,不适合选用。,1)主机系统的LRU缓存在传输数据并将其装入主机内存的过程中,LRU对系统性能影响很小。在主机内存中实现LRU效率很高。2)主机系统的预先缓存要消耗更多的CPU周期、存储路径、系统I/O总线和系统存储总线的带宽。3)主机系统中的透写缓存并可避免数据数据的不一致。4)主机系统中的回写缓存效率远高于透写,易产生数据不一致。需要UPS支持。,对于随机事物处理,LRU与回写缓存可能是最优的组合,图2.10服务器基本缓存,服务器系统,磁盘缓存,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,存储设备/子系统,图2.11位于内存总线的缓存,文件系统接口,系统环境,文件系统,卷处理器,磁盘缓存,设备接口,到非易失存储的设备驱动程序,缓存进程,系统内存总线,分配给磁盘缓存的系统内存,图2.12设备/子系统中的缓存实现,服务器,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,存储设备/子系统,磁盘缓存,3.2在磁盘子系统中实现缓存,特点:主机CPU不受缓存操作影响,适用于主机负荷重的系统。因为每个请求都要通过整个I/O路径,所以它比基于主机的缓存操作要慢。,1)设备/子系统中的LRU缓存效率不如在主机内的缓存系统,但它适用主机负荷重的场合(超过75%),或没有适当内存建缓存。2)设备/子系统中的预先读缓存与在主机内实现不同,它不额外增加主机CPU的负担,及降低竞争主机资源进程的干扰。3)设备/子系统中透写缓存对I/O吞吐量要求不高,写操作较少的应用时,透写缓存的效果较好。4)设备/子系统中的回写缓存在存储子系统中最常用的方法。,图2.13使用位于主机I/O控制器上的缓存控制器实现磁盘缓存,服务器,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,存储设备/子系统,磁盘缓存,3.3在主机I/O控制器中实现磁盘缓存,两种实现方法:主机驱动程序;主机I/O控制器上的缓存控制器。后一种方法可减轻主机负担,为大部分系统所采用。特点介于前两者的综合(4种读写操作)。,图2.14存储网络中的缓存,存储网络,存储网络,端口端口端口端口ABCD,到系统A,到系统B,到目标设备/子系统C,到目标设备/子系统D,端口/缓存交叉连线,目标控制器+虚拟化,缓存控制+操作,缓存内存池B,缓存内存池A,4存储网络中的独立缓存,提供多端口、多主机、多目标缓存的能力,5配置缓存,缓存的大小:一般而言,对于带有缓存的磁盘子系统,合理的缓存应占总存储量的0.1%。多级缓存:为了使某些类型的数据和应用达到更好的工作状态,可以同时使用多级缓存。例如,同时使用LRU和预先读两种缓存。一般而言,多级缓存应串接在I/O路径上,并行连接方式所产生连贯性问题,仍然是今天存储领域所面临的难题。应将I/O路径上负担最小的缓存组件放在靠近CPU的位置,如LRU缓存。I/O路径上负担最重的缓存组件应放在离存储子系统的地方。,缓存读1,I/O请求,缓存控制器1:,缓存控制器2:,非易失存储,缓存1,缓存2,缓存写1,缓存读2,缓存写2,图2.15多级磁盘缓存,正常I/O操作期间装入的缓存,I/O请求,缓存控制器1:LRU+回写,缓存控制器2:预先读+透写,非易失存储,缓存内存1,缓存内存2,收集并发送到非易失存储的写,有控制器中的预取执行的缓存装入,立即发送到非易失存储的写,图2.16SSD在I/O路径上的位置,服务器,桥控制器,主机I/O总线,主机I/O控制器,存储总线/网络,固态磁盘(SSD),6固态磁盘(SSD),用半导体存储器代替慢速的机电设备特点:速度快,价格贵。非易失SSD:带后备电池的DRAM,闪存(读操作快,写操作与磁盘差不多)。,图2.17带有一个内部磁盘驱动器的SSD,SSD,I/O写入,内存存储,内部磁盘驱动器,镜像控制器,图2.18标记命令排队的实现,主机I/O控制器,设备/子系统命令队列,目标设备/子系统,7标记命令排队,图2.19使用标记命令排队的排序命令序列,接收的请求队列I/O序列号块序列,排序,10-89-28-37-66-25-14-73-42-81-1,重排的请求(在排序后)I/O序列号块序列,10-82-84-77-63-48-39-26-25-11-1,为了最优设备性能而重新排序I/O请求,8I/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性能对系统的整体性能影响很大.,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.2I/O性能与CPU速度的关联,表CPU最大的吞吐量,时钟速度(MHz)数据宽度理论吞吐量8MHz8位8MB/s16MHz16位16MB/s33MHz32位132MB/s120MHz32位480MB/s200MHz64位1.6GB/s400MHz64位3.2GB/s,表作为CPU吞吐量的函数估计的主机I/O总线性能,时钟速度数据宽度估计的I/O性能8MHz8位0.4MB/s16MHz16位1.5MB/s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时间机器课件
- 时间与影子的课件
- 2025版节能门窗安装与性能检测服务合同
- 二零二五年度公路养护化学品供应承包合同范本
- 二零二五年度租赁房屋租金调整合同样本
- 二零二五年担保借款合同范本
- 2025第一部分合同协议书-绿色环保技术合作
- 二零二五年度房屋产权转让与配套设施物业管理合作协议
- 二零二五年度高校教职工工作用餐协议
- 二零二五年度二手房购买及室内风水布局设计施工合同
- 四位数乘四位数乘法题500道
- 标准预防相关理论考核试题及答案
- 绿化考试试题及答案
- 最后一头战象PPT(完整版)
- YY/T 0316-2008医疗器械风险管理对医疗器械的应用
- GB/T 18650-2008地理标志产品龙井茶
- 《工伤认定研究11000字【论文】》
- 《西游记》阅读指导课件-部编版语文七年级上册
- 分级保护测评流程(宣)
- 焊接工艺评定报告样本
- DB32T 991-2022 电能计量装置配置规范(修订)
评论
0/150
提交评论