第6章输入输出系统6.
1概述6.
2存储设备的种类6.
3总线6.
4I/O与操作系统6.
5I/O系统设计6.
1概述I/O指处理器和存储器以外的部件Disk,tape,LAN,WAN等过去的状况性能在人们心目中不是很关心特点:外部的,非优先的,不常用的,慢速的例外情况:swap区结论:不重视I/O性能目前新的应用不断出现,特别是多媒体应用I/O设备种类繁多网络技术,通信技术的发展结果:系统总线的性能直接关系到系统整体性能不同机器配置构成是不同的即使是PC也略有不同(价格,功耗)系统性能和CPU性能性能指标吞吐率响应时间当任务都在memory中时,主要关注CPU性能当任务很大或任务访问的数据很大时,并分布在多个文件时,如OLTP,数据库应用等,I/O性能十分重要影响系统性能的因素CPU,Compiler,OS,Cache,MainMemoryMemory-I/ObusI/O控制器或I/O通道I/O驱动程序和中断处理程序I/O设备自动化程度,内部缓冲大小,设备控制参数对响应时间和吞吐率的影响I/O系统性能参数连接特性:哪些I/0设备可以和计算机系统连接I/O系统的容量:I/O系统容纳的I/O设备数衡量I/O系统性能的另一种方法考虑I/O操作对CPU的打扰情况:即考察某个进程执行时,由于其他进程的I/O操作,使得该进程的执行时间增加了多少典型的系统关键是系统性能的平衡Amdahl定律I/O操作与CPU执行重叠TimeWorkload=Timecpu+TimeI/O–Timeoverlap响应时间与吞吐率的关系I/O系统的可靠性、可用性和可信性系统的可靠性(reliability)指系统从某个初始参考点开始一直连续提供服务的能力通常用平均无故障时间MTTF(MeanTimeToFailure)来度量系统中断服务的时间用平均修复时间MTTR(MeanTimeToRepair)来度量系统失效率:MTTF的倒数如果系统中每个模块的生存期服从指数分布,则系统整体失效率是各部件的失效率之和系统的可用性(availability)指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率可用性=MTTF/(MTTF+MTTR)平均故障间隔时间MTBF=MTTF+MTTR系统的可信性(dependability)指服务质量,即在多大程度上可以合理地认为服务是可靠的可信性与可靠性和可用性不同,它是不可度量的例题假设磁盘子系统的组成部件和它们的MTTF如下:(1)磁盘子系统由10个磁盘构成,每个磁盘的MTTF为1000000个小时(2)1个SCSI控制器,其MTTF为500000小时(3)1个不间断电源,其MTTF为200000小时(4)1个风扇,其MTTF为200000小时(5)1根SCSI连线,其MTTF为1000000小时假定每个部件的生存期服从指数分布,同时假定各部件的故障是相互独立的,求整个系统的MTTF.
I/O系统设计需考虑的主要问题I/O设备的类型Size,Bandwidth,传送方式使用频度延迟还是立即进行存储器和I/O总线设备控制器是如何工作的一些典型的I/O设备6.
2存储设备的种类磁盘设备磁盘半导体盘盘阵列磁带设备光盘设备DiskFigureofMerit:ArealDensityBitsrecordedalongatrackMetricisBitsPerInch(BPI)NumberoftrackspersurfaceMetricisTracksPerInch(TPI)DiskdesignsbragaboutbitdensityperunitareaMetricisBitsPerSquareInch:ArealDensity=BPIxTPI磁盘-磁盘结构磁盘-磁盘性能(1/3)访问磁盘时间为:排队时间+寻道时间+旋转时间+传输时间+控制器开销寻道时间若要读写扇区,磁盘控制器首先发出命令,将磁头移动到包含有所需数据的磁道上,这个过程称为"寻道",所需要的时间叫做"寻道时间".
最小寻道时间,最大寻道时间(实际测量)平均寻道时间(统计结果)旋转时间所需扇区转到磁头下所需要的时间.
大部分磁盘的转速在3600rpm到12000rpm.
平均延迟是磁盘旋转半圈的时间.
即TAR=0.
5r/转速磁盘-磁盘性能(2/3)传输时间:指在磁头下传输一个数据块所花费的时间.
与传输时间对应的重要I/O参数为数据传输率.
现在磁盘驱动器上都有用半导体存储器组成的数据缓冲器,从盘面上读出的数据先送到缓冲器,再从缓冲器经过接口送主机.
数据传输率有两种内部传输率:从盘面->缓冲器外部传输率:从缓冲器->主机磁盘-磁盘性能(3/3)控制器时间:控制器在执行I/O访问时的额外开销等待磁盘空闲的时间(排队时间)磁盘成本:每兆字节的成本磁盘-半导体盘按磁盘访问方式工作的DRAM阵列固态盘:DRAM加一个保持系统数据的电池构成扩充存储器:只支持块传送的大容量存储器中的区域FutureDiskSizeandPerformanceContinuedadvanceincapacity(60%/yr)andbandwidth(40%/yr)Slowimprovementinseek,rotation(8%/yr)TimetoreadwholediskYearSequentiallyRandomly(1sector/seek)19904minutes6hours200012minutes1week(!
)200656minutes3weeks(SCSI)2006171minutes7weeks(SATA)UseArraysofSmallDisks14"10"5.
25"3.
5"3.
5"DiskArray:1diskdesignConventional:4diskdesignsLowEndHighEndKatzandPattersonaskedin1987:"CansmallerdisksbeusedtoclosegapinperformancebetweendisksandCPUs"ReplaceSmallNumberofLargeDiskswithLargeNumberofSmallDisks!
(1988Disks)CapacityVolumePowerDataRateI/ORateMTTFCostIBM3390K20GBytes97cu.
ft.
3KW15MB/s600I/Os/s250KHrs$250KIBM3.
5"0061320MBytes0.
1cu.
ft.
11W1.
5MB/s55I/Os/s50KHrs$2Kx7023GBytes11cu.
ft.
1KW120MB/s3900IOs/sHrs$150KDiskArrayshavepotentialforlargedataandI/Orates,highMBpercu.
ft.
,highMBperKW,butwhataboutreliability9X3X8X6XArrayReliabilityReliabilityofNdisks=Reliabilityof1Disk÷N50,000Hours÷70disks=700hoursDisksystemMTTF:Dropsfrom6yearsto1month!
Arrays(withoutredundancy)toounreliabletobeuseful!
Hotsparessupportreconstructioninparallelwithaccess:veryhighmediaavailabilitycanbeachieved磁盘-磁盘冗余阵列RAID(RapidArrayofInexpensiveDisks)容量大,速度快,可靠性高,造价低廉的存储技术通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能通过把数据分成多个数据块,并行写入/读出多个磁盘,以提高访问磁盘的速度通过镜像或数据校验操作提供容错能力根据实际情况选择适当的RAID级别,可以满足用户对存储系统可用性、性能和容量的要求RAID级别数组种类英文简述硬盘容错吗N颗硬盘可用容量RAIDlevel0Stripe/SpanNoNRAIDlevel1MirrorYesN÷2RAIDlevel3ParallelwithParityYesN—1RAIDlevel4ParallelwithParityYesN—1RAIDlevel5StripedwithRotatingParityYesN—1RAIDlevel0+1Mirror+StripeYesN÷2RAID0无冗余.
整个逻辑盘的数据被分条分布在多个物理盘上,可以并行读/写,提供最快的速度,至少两个盘.
可靠性差RAID1镜像:把一个磁盘的数据镜像到另一个磁盘上每个盘是另一个盘的校验盘,所写的文件在两个盘上,一旦一个失效,可以从另一个盘上恢复.
盘利用率为50%RAID0+1把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响可用性,并具有快速读写能力,要求至少4个硬盘,才能做RAID0+1RAID2位交叉式海明编码阵列(存储器式ECC).
原理上比较优越,但冗余开销太大,未被广泛使用所需的冗余盘的个数为log2m级,m是数据盘的个数,即数据字的位数OverheadCost20%~40%UseableStorageCapacity71%~83%虽然在分级上有这一级,但实际上没有商业化的产品RAID3,RAID4两种方式类似,数据是以位或字节(RAID3),或以块(RAID4)为单位交叉方式存储RAID3vs.
RAID4RAID3带有一个专门的校验盘来存储校验信息当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据,要求至少三块盘我们需权衡,从故障恢复的时间和成本校验=所有磁盘块的和写操作时,必须存取所有盘,这可能是性能瓶颈RAID4与RAID3类似,但校验和仅是针对一块因此,只需对目标盘和校验盘存取问题是并发写时,校验盘是性能的瓶颈RAID5数据以块交叉的方式存于各盘,但无专用的校验盘,而是将冗余的奇偶校验信息均匀地分布在所有磁盘上校验盘不再写在同一盘上可能会减少写冲突因此在连续写情况下有较高的性能RAID4vs.
RAID5实现盘阵列的方式软件方式阵列卡方式子系统方式6.
3总线总线的概念共享的通信链路由一组线连接多个子系统是构成大而复杂系统的基本工具总线的主要特点多样性新的设备很容易添加到系统中.
由于采用相同的总线标准,不同计算机上的外设可以互换低成本:多台设备共享一组线总线的主要缺点由于其独占性,造成通信瓶颈:总线的带宽限制了最大的I/O吞吐量总线的速度受限于总线的长度,总线上设备的数量以及所需支持的设备的种类这些设备可能延迟各不相同,数据传输率也不相同6.
3.
1总线的基本组成控制线服务请求与确认信号指示数据线上信息的类型数据线:源设备与目的设备之间的信息交换数据和地址复杂的命令DataLinesControlLines主设备和从设备总线事务包括两部分发出命令(和地址)-请求传送数据-实际操作主设备指启动事务发送命令和地址的设备从设备是响应主设备请求,发送数据给主设备或从主设备接收数据的设备BusMasterBusSlaveMasterissuescommandDatacangoeitherway6.
3.
2总线的类型Processor-MemoryBus(designspecific)短而高速仅需匹配存储系统,使memory-to-processor的带宽最大直接连到CPU优化Cache块的传送I/OBus(industrystandard)通常比较长,较慢需要适应较大范围的I/O设备(I/O设备种类多)一般连接到processor-memorybus或backplanebusBackplaneBus(standardorproprietary)Backplane:机箱内组件间的互连方式可以将processors,memory和I/Odevices连接在一起低成本:一条总线连接所有设备SerialBuses(wholescalemovetoserialinterconnects)例如PentiumSystemOrganizationProcessor/MemoryBusPCIBusI/OBusses计算机系统的单总线结构:BackplaneBus一条总线用于CPU-Memory,I/O之间,以及I/O-Memory之间的通信优点:简单,便宜缺点:慢,总线是性能瓶颈例如:IBMPC-ATProcessorMemoryI/ODevicesBackplaneBus双总线结构I/OBUS通过BusAdaptor连到Processor-MemoryBusProcessor-MemoryBus主要进行CPU-Memory之间的数据传送I/OBuses:提供I/O扩展槽如AppleMacintosh-IINuBus:Processor,Memory以及一些快速I/O设备SCCIBus:其余的I/O设备ProcessorMemoryI/OBusProcessorMemoryBusBusAdaptorBusAdaptorBusAdaptorI/OBusI/OBus三总线结构加入一些BackplaneBusProcessor-MemoryBus仅用于CPU-Memory之间的数据交换I/O总线连到BackplaneBusProcessor-MemoryBus上的通信量进一步减少ProcessorMemoryProcessorMemoryBusBusAdaptorBusAdaptorBusAdaptorI/OBusBackplaneBusI/OBusThemovefromParalleltoSerialI/OCPUI/OIFI/O1I/O2SharedParallelBusWiresCentralBusArbiterCPUI/OIFI/O1I/O2DedicatedPoint-to-pointSerialLinksParallelbusclockratelimitedbyclockskewacrosslongbus(~100MHz)HighpowertodrivelargenumberofloadedbuslinesCentralbusarbiteraddslatencytoeachtransaction,sharinglimitsthroughputExpensiveparallelconnectorsandbackplanes/cables(alldevicespaycosts)Examples:VMEbus,Sbus,ISAbus,PCI,SCSI,IDEPoint-to-pointlinksrunatmulti-gigabitspeedusingadvancedclock/signalencoding(requireslotsofcircuitryateachend)Lowerpowersinceonlyonewell-behavedloadMultiplesimultaneoustransfersCheapcablesandconnectors(tradegreaterendpointtransistorcostforlowerphysicalwiringcost),customizebandwidthperdeviceusingmultiplelinksinparallelExamples:Ethernet,Infiniband,PCIExpress,SATA,USB,Firewire,etc.
MaincomponentsofIntelChipset:Pentium4Northbridge:HandlesmemoryGraphicsSouthbridge:I/OPCIbusDiskcontrollersUSBcontrollersAudioSerialI/OInterruptcontrollerTimersreview存储设备磁盘磁盘阵列总线总线的基本组成总线的基本类型总线的定义6.
3.
4总线的定义BunchofWiresPhysical/MechanicalCharacteristics–theconnectorsElectricalSpecificationTimingandSignalingSpecificationTransactionProtocol问题之一:同步总线和异步总线同步总线:总线信号中包含时钟信号通信以相对于该时钟固定的协议进行优点:控制逻辑简单,速度快缺点:总线上的每一设备必须以相同的时钟速率运行为避免时钟信号扭曲,总线较短异步总线:没有统一的时钟信号可以适应多种速度的设备总线可以较长,不必担心时钟扭曲需要握手协议典型的同步协议BReqBGCmd+AddrR/WAddressData1Data2DataData1Wait从设备标识何时数据传送准备好然后进行实际的数据传送简单的同步协议BReqBGCmd+AddrR/WAddressData1Data2Data存储器总线的同步协议要复杂一些存储器读写数据需要一定的时间可能需要控制数据传输率异步握手协议-写事务时序AddressDatawriteReqAckMasterAssertsAddressMasterAssertsDataNextAddressWriteTransactiont0t1t2t3t4t5t0:主设备获得总线控制权,发出地址信号,数据信号以及读写信号,等待从设备t1:主设备发出请求信号t2:从设备发出应答信号,指示接收数据t3:主设备释放请求信号t4:从设备释放应答信号读事务时序t0:主设备获得总线控制权,发出地址信号和读写信号,等待从设备t1:主设备发出请求信号t2:从设备发出应答信号,指示数据传送准备好t3:主设备释放请求信号,接收数据t4:从设备释放应答信号AddressDataReadReqAckMasterAssertsAddressNextAddresst0t1t2t3t4t5SlaveData问题之二:主设备和从设备°°°MasterSlaveControlLinesAddressLinesDataLines总线主设备:具有控制总线,初始化总线事务能力的设备总线从设备:由总线事务激活的模块总线通信协议:说明信息传送过程中发生的事件以及时序要求.
总线事务仲裁:确定哪个设备占用总线总线请求:请求完成什么操作响应操作:响应请求所进行的操作仲裁:总线的控制权BusMasterBusSlaveControl:MasterinitiatesrequestsDatacangoeitherway总线设计的最重要的问题之一:希望使用总线的设备如何占用总线只有总线主设备可以控制访问总线,它初始化事务,并控制所用的总线请求.
从设备只能响应读写请求最简单的系统处理器是唯一的总线主设备所有的总线请求必须由处理器控制发出主要缺陷:处理器参与每一总线事务多个总线主设备时需要仲裁逻辑总线仲裁方案:需要使用总线的主设备发出总线请求该请求信号未被确认前,主设备不能使用总线一旦得到总线使用权,该设备使用完总线后,必须通知仲裁器总线仲裁方案通常考虑以下两个因素:优先级:高优先级的设备优先使用总线公平性:低优先级的设备不能永远得不到服务总线仲裁方案可以分为四类:菊花链仲裁方案中央控制的并行仲裁方案分布式自选方案:希望得到总线的设备将标识该设备的设备码放到总线上分布式冲突检测方案:希望得到总线使用权的设备总是直接使用,发现有冲突时解决冲突菊花链方案BusArbiterDevice1HighestPriorityDeviceNLowestPriorityDevice2GrantGrantGrantReleaseRequestwired-OR优点:简单缺点:无法保证公平性:低优先级设备可能永远得不到总线使用权使用菊花链确认信号也限制了总线的速度集中式仲裁方式BusArbiterDevice1DeviceNDevice2GrantReq所有的processor-memorybusses和high-speedI/Obusses都使用这种方式6.
3.
5总线的使用提高总线带宽独立的地址线和数据线VS.
分时复用地址线和数据线如果分别有地址线和数据线,地址信号和数据信号可以同时传送开销:(a)需要更多的信号线,(b)增加了复杂性数据总线的宽度:增加数据总线的宽度,使得可以用较少的总线周期传送多个字例如:SPARCstation20'smemorybus128位宽开销:需要更多的信号线块传送模式:允许总线一次传送多个字只需要在开始时给出地址信息传送完一个字后,不放弃总线占用权,继续传送下一个字,直到传送完一块开销:(a)增加了复杂性(b)请求的响应时间加长提高总线的吞吐率仲裁与事务的执行重叠执行当前事务期间完成下一事务的仲裁Busparking只要没有其他主设备请求,当前主设备一直占用总线,完成多个事务包交换总线地址传送阶段与数据传送阶段完全分开这两个阶段分别仲裁地址阶段有标识位来标识其对应的数据以上技术是现代大多数存储器总线使用的技术典型的总线-ParallelI/Obus典型的总线-SerialI/Obus典型的总线-CPU-memoryinterconnects6.
4I/O与操作系统早期Unix很多使用16位微处理器作为I/O控制器I/O与Cache的数据一致性问题3个Copy-cache,memory和disk2个陈旧数据问题I/O系统将数据从memory->I/O,如果没有从cache写回I/O系统将数据从I/O->memory,I/O仅更新了memory,因此CPU见到的是陈旧数据解决办法第一个问题:cache写策略采用writethrough,否则OS帮助进行数据检查,如果I/O所访问的数据块在cache中,则首先进行写回操作.
第二个问题:保证输入后,CPU使用最新数据.
(1)通过OS来保证(2)通过硬件失效该cache块DMA和VM物理地址DMAVS.
VDMA6.
5I/O系统设计I/O设计的复杂性I/O设备千差万别LatencyBandwidthBlockSizeI/O系统必须具有良好的可扩充性性能与价格权衡其他互相冲突矛盾的因素I/O系统设计步骤列出计算机需要连接的I/O设备的类型列出每种I/O设备的指标,如容量、功耗、接口等列出每种I/O设备的价格记录每个I/O设备对系统资源的要求列出每种I/O设备所需要的存储器和I/O总线资源分析和评价这些I/O设备不同连接方法的性能例题如图CacheBusAdaptorTLBCPUmemoryCPU-MemoryBusI/OBus首先看直接将磁盘页读入Cache对CPU带来的影响.
假设每页为16KB,Cache块大小为64字节对应新页的地址不在Cache中;CPU不访问新页中的任何数据Cache中95%的被替换块将再次被读取,并引起一次失效Cache使用写回方法,平均50%的块被修改过;I/O系统缓冲能够存储一个Cache完整的块(称为速度匹配缓冲区,使存储器与I/O的速度得到匹配访问或失效在所有Cache块中均匀分布;在CPU和I/O之间,没有其他访问Cache的干扰无I/O时,每100万个时钟周期中,有15000次失效;失效开销为30时钟周期.
如果替换块被修改过,则再加上30个周期用于写回主存假设计算机平均每100万周期处理1页分析I/O对于性能的影响I/O性能标准数据传输率(MB/s),每秒I/O操作次数(IOPS)等基于以下性能和价格信息:一个500MIPS的CPU,价格为$3000;一个宽度16字节、访问周期为100ns的存储器I/O总线传输速度为200MB/s,可接20个SCSI-2总线及控制器每条SCSI-2总线传输率为20MB/s,最多连接15个磁盘每个SCSI-2控制器价格$1500,每次磁盘I/O,需要增加1ms的控制器开销每次磁盘I/O,操作系统要使用10000条CPU指令对于8GB的大磁盘或2GB的小磁盘,价格均为$0.
25/MB;磁盘转速为7200r/min,平均寻道时间为8ms,传输速度为6MB/s;要求外存容量为200GB平均每次I/O传输16KB假设每次磁盘访问都需要平均寻道时间和平均旋转时间的开销;所有设备的空间利用率为100%;工作负载在所有磁盘上均匀分布.
计算使用2GB小磁盘或8GB大磁盘时,每次IOPS的价格.
Pia云这个商家的云服务器在前面也有介绍过几次,从价格上确实比较便宜。我们可以看到最低云服务器低至月付20元,服务器均采用KVM虚拟架构技术,数据中心包括美国洛杉矶、中国香港、俄罗斯和深圳地区,这次春节活动商家的活动力度比较大推出出全场6.66折,如果我们有需要可以体验。初次体验的记得月付方案,如果合适再续约。pia云春节活动优惠券:piayun-2022 Pia云服务商官方网站我们一起看看这次活...
我们在去年12月分享过Hosteons新上AMD Ryzen9 3900X CPU及DDR4内存、NVMe硬盘的高性能VPS产品的消息,目前商家再次发布了产品更新信息,暂停新开100M带宽KVM套餐,新订单转而升级为新的Budget KVM VPS(SSD)系列,带宽为1Gbps端口,且配置大幅升级,目前100M带宽仅保留OpenVZ架构产品可新订购,所有原有主机不变,用户一直续费一直可用。Bud...
欧路云怎么样?欧路云主要运行弹性云服务器,可自由定制配置,可选加拿大的480G超高防系列,也可以选择美国(200G高防)系列,也有速度直逼内地的香港CN2系列。所有配置都可以在下单的时候自行根据项目 需求来定制自由升级降级 (降级按天数配置费用 退款回预存款)。2021年7月14日美国 CERA 弹性云服务器 上新 联通CUVIP 线路!8折特惠中!点击进入:欧路云官方网站地址付款方式:PayPa...