680 likes | 877 Views
6.1 概述 6.2 存储设备的种类 6.3 总线 6.4 I/O 与操作系统 6.5 I/O 系统设计. 第 6 章 输入输出系统. 6.1 概述. I/O 指处理器和存储器以外的部件 Disk,tape,LAN,WAN 等 过去的状况 性能在人们心目中不是很关心 特点: 外部的,非优先的,不常用的,慢速的 例外情况: swap 区 结论:不重视 I/O 性能. 目前 新的应用不断出现,特别是多媒体应用 I/O 设备种类繁多 网络技术,通信技术的发展 结果: 系统总线的性能直接关系到系统整体性能 不同机器配置构成是不同的
E N D
6.1 概述 6.2 存储设备的种类 6.3 总线 6.4 I/O与操作系统 6.5 I/O 系统设计 第6章 输入输出系统
6.1 概述 • I/O指处理器和存储器以外的部件 • Disk,tape,LAN,WAN等 • 过去的状况 • 性能在人们心目中不是很关心 • 特点:外部的,非优先的,不常用的,慢速的 • 例外情况:swap区 • 结论:不重视I/O性能
目前 • 新的应用不断出现,特别是多媒体应用 • I/O设备种类繁多 • 网络技术,通信技术的发展 • 结果:系统总线的性能直接关系到系统整体性能 • 不同机器配置构成是不同的 • 即使是PC也略有不同(价格,功耗)
系统性能和CPU性能 • 性能指标 • 吞吐率 • 响应时间 • 当任务都在memory中时,主要关注CPU性能 • 当任务很大或任务访问的数据很大时,并分布在多个文件时,如OLTP,数据库应用等,I/O性能十分重要
影响系统性能的因素 • CPU, Compiler, OS, Cache, Main Memory • Memory-I/O bus • I/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(Mean Time To Failure)来度量 • 系统中断服务的时间用平均修复时间MTTR(Mean Time To Repair)来度量 • 系统失效率: 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总线 • 设备控制器是如何工作的
6.2 存储设备的种类 • 磁盘设备 • 磁盘 • 半导体盘 • 盘阵列 • 磁带设备 • 光盘设备
Disk Figure of Merit: Areal Density • Bits recorded along a track • Metric is Bits Per Inch (BPI) • Number of tracks per surface • Metric is Tracks Per Inch (TPI) • Disk designs brag about bit density per unit area • Metric is Bits Per Square Inch: Areal Density =BPI x TPI
磁盘-磁盘性能(1/3) 访问磁盘时间 为: 排队时间+寻道时间+旋转时间+传输时间+控制器开销 • 寻道时间 • 若要读写扇区,磁盘控制器首先发出命令,将磁头移动到包含有所需数据的磁道上,这个过程称为“寻道”,所需要的时间叫做“寻道时间”。 • 最小寻道时间,最大寻道时间(实际测量) • 平均寻道时间(统计结果) • 旋转时间 • 所需扇区转到磁头下所需要的时间。大部分磁盘的转速在3600 rpm 到 12000rpm。平均延迟是磁盘旋转半圈的时间。即 TAR = 0.5r /转速
磁盘-磁盘性能(2/3) • 传输时间:指在磁头下传输一个数据块所花费的时间。与传输时间对应的重要I/O参数为数据传输率。现在磁盘驱动器上都有用半导体存储器组成的数据缓冲器,从盘面上读出的数据先送到缓冲器,再从缓冲器经过接口送主机。数据传输率有两种 • 内部传输率:从盘面->缓冲器 • 外部传输率:从缓冲器->主机
磁盘-磁盘性能(3/3) • 控制器时间:控制器在执行I/O访问时的额外开销 • 等待磁盘空闲的时间(排队时间) • 磁盘成本:每兆字节的成本
磁盘-半导体盘 • 按磁盘访问方式工作的DRAM阵列 • 固态盘:DRAM加一个保持系统数据的电池构成 • 扩充存储器:只支持块传送的大容量存储器中的区域
Future Disk Size and Performance • Continued advance in capacity (60%/yr) and bandwidth (40%/yr) • Slow improvement in seek, rotation (8%/yr) • Time to read whole disk Year Sequentially Randomly (1 sector/seek) 1990 4 minutes 6 hours 2000 12 minutes 1 week(!) 2006 56 minutes 3 weeks (SCSI) 2006 171 minutes 7 weeks (SATA)
Use Arrays of Small Disks? • Katz and Patterson asked in 1987: • “Can smaller disks be used to close gap in performance between disks and CPUs?” Conventional: 4 disk designs 3.5” 5.25” 10” 14” High End Low End Disk Array: 1 disk design 3.5”
Replace Small Number of Large Disks with Large Number of Small Disks! (1988 Disks) IBM 3390K 20 GBytes 97 cu. ft. 3 KW 15 MB/s 600 I/Os/s 250 KHrs $250K x70 23 GBytes 11 cu. ft. 1 KW 120 MB/s 3900 IOs/s ??? Hrs $150K IBM 3.5" 0061 320 MBytes 0.1 cu. ft. 11 W 1.5 MB/s 55 I/Os/s 50 KHrs $2K Capacity Volume Power Data Rate I/O Rate MTTF Cost 9X 3X 8X 6X Disk Arrays have potential for large data and I/O rates, high MB per cu. ft., high MB per KW, but what about reliability?
Array Reliability • Reliability of N disks = Reliability of 1 Disk ÷ N • 50,000 Hours ÷ 70 disks = 700 hours • Disk system MTTF: Drops from 6 years to 1 month! • • Arrays (without redundancy) too unreliable to be useful! Hot spares support reconstruction in parallel with access: very high media availability can be achieved
磁盘-磁盘冗余阵列 RAID(Rapid Array of Inexpensive Disks) • 容量大,速度快,可靠性高,造价低廉的存储技术 • 通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能 • 通过把数据分成多个数据块,并行写入/读出多个磁盘,以提高访问磁盘的速度 • 通过镜像或数据校验操作提供容错能力 • 根据实际情况选择适当的RAID级别,可以满足用户对存储系统可用性、性能和容量的要求
数组种类 英文简述 硬盘容错吗? N颗硬盘 可用容量 RAID level 0 Stripe / Span No N RAID level 1 Mirror Yes N÷2 RAID level 3 Parallel with Parity Yes N—1 RAID level 4 Parallel with Parity Yes N—1 RAID level 5 Striped with Rotating Parity Yes N—1 RAID level 0+1 Mirror + Stripe Yes N÷2 RAID级别
RAID 0 • 无冗余。整个逻辑盘的数据被分条分布在多个物理盘上,可以并行读/写,提供最快的速度,至少两个盘。 • 可靠性差
RAID 1 • 镜像:把一个磁盘的数据镜像到另一个磁盘上 • 每个盘是另一个盘的校验盘,所写的文件在两个盘上,一旦一个失效,可以从另一个盘上恢复。盘利用率为50%
RAID 0+1 • 把RAID 0和RAID 1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响可用性,并具有快速读写能力,要求至少4个硬盘,才能做RAID 0+1
RAID 2 • 位交叉式海明编码阵列(存储器式ECC)。原理上比较优越,但冗余开销太大,未被广泛使用 • 所需的冗余盘的个数为log2m级,m是数据盘的个数,即数据字的位数 • Overhead Cost 20%~40% • Useable Storage Capacity 71%~83% • 虽然在分级上有这一级,但实际上没有商业化的产品
RAID 3 ,RAID 4 • 两种方式类似,数据是以位或字节(RAID3) ,或以块(RAID4)为单位交叉方式存储
RAID3 vs. RAID 4 • RAID 3 • 带有一个专门的校验盘来存储校验信息 • 当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据,要求至少三块盘 • 我们需权衡,从故障恢复的时间和成本 • 校验 = 所有磁盘块的和 • 写操作时,必须存取所有盘,这可能是性能瓶颈 • RAID 4 • 与RAID 3类似,但校验和仅是针对一块 • 因此,只需对目标盘和校验盘存取 • 问题是并发写时,校验盘是性能的瓶颈
RAID 5 • 数据以块交叉的方式存于各盘,但无专用的校验盘,而是将冗余的奇偶校验信息均匀地分布在所有磁盘上 • 校验盘不再写在同一盘上 • 可能会减少写冲突 • 因此在连续写情况下有较高的性能
实现盘阵列的方式 • 软件方式 • 阵列卡方式 • 子系统方式
6.3 总线 • 总线的概念 • 共享的通信链路 • 由一组线连接多个子系统 • 是构成大而复杂系统的基本工具 • 总线的主要特点 • 多样性 新的设备很容易添加到系统中。由于采用相同的总线标准,不同计算机上的外设可以互换 • 低成本:多台设备共享一组线 • 总线的主要缺点 • 由于其独占性,造成通信瓶颈:总线的带宽限制了最大的I/O吞吐量 • 总线的速度受限于总线的长度,总线上设备的数量以及所需支持的设备的种类 • 这些设备可能延迟各不相同,数据传输率也不相同
Control Lines Data Lines 6.3.1总线的基本组成 • 控制线 • 服务请求与确认信号 • 指示数据线上信息的类型 • 数据线:源设备与目的设备之间的信息交换 • 数据和地址 • 复杂的命令
Master issues command Bus Master Bus Slave Data can go either way 主设备和从设备 • 总线事务包括两部分 • 发出命令(和地址)-请求 • 传送数据 -实际操作 • 主设备指启动事务发送命令和地址的设备 • 从设备是响应主设备请求,发送数据给主设备或从主设备接收数据的设备
6.3.2总线的类型 • Processor-Memory Bus (design specific) • 短而高速 • 仅需匹配存储系统,使memory-to-processor 的带宽最大 • 直接连到CPU • 优化Cache块的传送 • I/O Bus (industry standard) • 通常比较长,较慢 • 需要适应较大范围的I/O设备(I/O设备种类多) • 一般连接到processor-memory bus 或 backplane bus • Backplane Bus (standard or proprietary) • Backplane: 机箱内组件间的互连方式 • 可以将processors, memory和 I/O devices 连接在一起 • 低成本:一条总线连接所有设备 • Serial Buses (wholescale move to serial interconnects)
Processor/Memory Bus PCI Bus I/O Busses 例如 Pentium System Organization
Backplane Bus Processor Memory I/O Devices 计算机系统的单总线结构:Backplane Bus • 一条总线用于CPU-Memory, I/O之间,以及I/O-Memory之间的通信 • 优点:简单,便宜 • 缺点:慢,总线是性能瓶颈 • 例如:IBM PC-AT
Processor Memory Bus Processor Memory Bus Adaptor Bus Adaptor Bus Adaptor I/O Bus I/O Bus I/O Bus 双总线结构 • I/O BUS通过Bus Adaptor连到Processor-Memory Bus • Processor-Memory Bus主要进行CPU-Memory之间的数据传送 • I/O Buses: 提供I/O扩展槽 • 如Apple Macintosh-II • NuBus: Processor,Memory以及一些快速I/O设备 • SCCI Bus: 其余的I/O设备
Processor Memory Bus Processor Memory Bus Adaptor Bus Adaptor I/O Bus Backplane Bus Bus Adaptor I/O Bus 三总线结构 • 加入一些Backplane Bus • Processor-Memory Bus仅用于CPU-Memory之间的数据交换 • I/O总线连到Backplane Bus • Processor-Memory Bus上的通信量进一步减少
The move from Parallel to Serial I/O CPU I/O IF I/O 1 I/O 2 Central Bus Arbiter Shared Parallel Bus Wires • Parallel bus clock rate limited by clock skew across long bus (~100MHz) • High power to drive large number of loaded bus lines • Central bus arbiter adds latency to each transaction, sharing limits throughput • Expensive parallel connectors and backplanes/cables (all devices pay costs) • Examples: VMEbus, Sbus, ISA bus, PCI, SCSI, IDE Dedicated Point-to-point Serial Links • Point-to-point links run at multi-gigabit speed using advanced clock/signal encoding (requires lots of circuitry at each end) • Lower power since only one well-behaved load • Multiple simultaneous transfers • Cheap cables and connectors (trade greater endpoint transistor cost for lower physical wiring cost), customize bandwidth per device using multiple links in parallel • Examples: Ethernet, Infiniband, PCI Express, SATA, USB, Firewire, etc. I/O 1 CPU I/O IF I/O 2
Main components of Intel Chipset: Pentium 4 • Northbridge: • Handles memory • Graphics • Southbridge: I/O • PCI bus • Disk controllers • USB controllers • Audio • Serial I/O • Interrupt controller • Timers
review • 存储设备 • 磁盘 • 磁盘阵列 • 总线 • 总线的基本组成 • 总线的基本类型 • 总线的定义
Transaction Protocol Timing and Signaling Specification Bunch of Wires Electrical Specification Physical / Mechanical Characteristics – the connectors 6.3.4 总线的定义
问题之一:同步总线和异步总线 • 同步总线: • 总线信号中包含时钟信号 • 通信以相对于该时钟固定的协议进行 • 优点:控制逻辑简单,速度快 • 缺点: • 总线上的每一设备必须以相同的时钟速率运行 • 为避免时钟信号扭曲,总线较短 • 异步总线: • 没有统一的时钟信号 • 可以适应多种速度的设备 • 总线可以较长,不必担心时钟扭曲 • 需要握手协议
BReq BG R/W Address Cmd+Addr Wait Data1 Data1 Data2 Data 典型的同步协议 • 从设备标识何时数据传送准备好 • 然后进行实际的数据传送
BReq BG R/W Address Cmd+Addr Data1 Data2 Data 简单的同步协议 • 存储器总线的同步协议要复杂一些 • 存储器读写数据需要一定的时间 • 可能需要控制数据传输率
Write Transaction Address Data write Req Ack Master Asserts Address Next Address Master Asserts Data t0 t1 t2 t3 t4 t5 异步握手协议-写事务时序 • t0 : 主设备获得总线控制权,发出地址信号,数据信号以及读写信号,等待从设备 • t1: 主设备发出请求信号 • t2: 从设备发出应答信号,指示接收数据 • t3: 主设备释放请求信号 • t4: 从设备释放应答信号