1 / 68

第 6 章 输入输出系统

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 设备种类繁多 网络技术,通信技术的发展 结果: 系统总线的性能直接关系到系统整体性能 不同机器配置构成是不同的

dermot
Download Presentation

第 6 章 输入输出系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 6.1 概述 6.2 存储设备的种类 6.3 总线 6.4 I/O与操作系统 6.5 I/O 系统设计 第6章 输入输出系统

  2. 6.1 概述 • I/O指处理器和存储器以外的部件 • Disk,tape,LAN,WAN等 • 过去的状况 • 性能在人们心目中不是很关心 • 特点:外部的,非优先的,不常用的,慢速的 • 例外情况:swap区 • 结论:不重视I/O性能

  3. 目前 • 新的应用不断出现,特别是多媒体应用 • I/O设备种类繁多 • 网络技术,通信技术的发展 • 结果:系统总线的性能直接关系到系统整体性能 • 不同机器配置构成是不同的 • 即使是PC也略有不同(价格,功耗)

  4. 系统性能和CPU性能 • 性能指标 • 吞吐率 • 响应时间 • 当任务都在memory中时,主要关注CPU性能 • 当任务很大或任务访问的数据很大时,并分布在多个文件时,如OLTP,数据库应用等,I/O性能十分重要

  5. 影响系统性能的因素 • 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操作,使得该进程的执行时间增加了多少

  6. 典型的系统

  7. 关键是系统性能的平衡 • Amdahl定律 • I/O操作与CPU执行重叠 • TimeWorkload = Timecpu + TimeI/O – Timeoverlap • 响应时间与吞吐率的关系

  8. I/O系统的可靠性、可用性和可信性 • 系统的可靠性(reliability) • 指系统从某个初始参考点开始一直连续提供服务的能力 • 通常用平均无故障时间MTTF(Mean Time To Failure)来度量 • 系统中断服务的时间用平均修复时间MTTR(Mean Time To Repair)来度量 • 系统失效率: MTTF的倒数 • 如果系统中每个模块的生存期服从指数分布,则系统整体失效率是各部件的失效率之和 • 系统的可用性(availability) • 指系统正常工作的时间在连续两次正常服务间隔时间中所占的比率 • 可用性 = MTTF / (MTTF + MTTR) • 平均故障间隔时间MTBF = MTTF + MTTR • 系统的可信性(dependability) • 指服务质量,即在多大程度上可以合理地认为服务是可靠的 • 可信性 与可靠性和可用性不同,它是不可度量的

  9. 例题 • 假设磁盘子系统的组成部件和它们的MTTF如下: (1)磁盘子系统由10个磁盘构成,每个磁盘的MTTF 为1000000个小时 (2)1个SCSI控制器,其MTTF为500000小时 (3)1个不间断电源,其MTTF为200000小时 (4)1个风扇,其MTTF为200000小时 (5)1根SCSI连线,其MTTF为1000000小时 假定每个部件的生存期服从指数分布,同时假定各部件的故障是相互独立的,求整个系统的MTTF。

  10. I/O系统设计需考虑的主要问题 • I/O设备的类型 • Size, Bandwidth, 传送方式 • 使用频度 • 延迟还是立即进行 • 存储器和I/O总线 • 设备控制器是如何工作的

  11. 一些典型的I/O设备

  12. 6.2 存储设备的种类 • 磁盘设备 • 磁盘 • 半导体盘 • 盘阵列 • 磁带设备 • 光盘设备

  13. 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

  14. 磁盘-磁盘结构

  15. 磁盘-磁盘性能(1/3) 访问磁盘时间 为: 排队时间+寻道时间+旋转时间+传输时间+控制器开销 • 寻道时间 • 若要读写扇区,磁盘控制器首先发出命令,将磁头移动到包含有所需数据的磁道上,这个过程称为“寻道”,所需要的时间叫做“寻道时间”。 • 最小寻道时间,最大寻道时间(实际测量) • 平均寻道时间(统计结果) • 旋转时间 • 所需扇区转到磁头下所需要的时间。大部分磁盘的转速在3600 rpm 到 12000rpm。平均延迟是磁盘旋转半圈的时间。即 TAR = 0.5r /转速

  16. 磁盘-磁盘性能(2/3) • 传输时间:指在磁头下传输一个数据块所花费的时间。与传输时间对应的重要I/O参数为数据传输率。现在磁盘驱动器上都有用半导体存储器组成的数据缓冲器,从盘面上读出的数据先送到缓冲器,再从缓冲器经过接口送主机。数据传输率有两种 • 内部传输率:从盘面->缓冲器 • 外部传输率:从缓冲器->主机

  17. 磁盘-磁盘性能(3/3) • 控制器时间:控制器在执行I/O访问时的额外开销 • 等待磁盘空闲的时间(排队时间) • 磁盘成本:每兆字节的成本

  18. 磁盘-半导体盘 • 按磁盘访问方式工作的DRAM阵列 • 固态盘:DRAM加一个保持系统数据的电池构成 • 扩充存储器:只支持块传送的大容量存储器中的区域

  19. 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)

  20. 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”

  21. 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?

  22. 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

  23. 磁盘-磁盘冗余阵列 RAID(Rapid Array of Inexpensive Disks) • 容量大,速度快,可靠性高,造价低廉的存储技术 • 通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能 • 通过把数据分成多个数据块,并行写入/读出多个磁盘,以提高访问磁盘的速度 • 通过镜像或数据校验操作提供容错能力 • 根据实际情况选择适当的RAID级别,可以满足用户对存储系统可用性、性能和容量的要求

  24. 数组种类 英文简述 硬盘容错吗? 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级别

  25. RAID 0 • 无冗余。整个逻辑盘的数据被分条分布在多个物理盘上,可以并行读/写,提供最快的速度,至少两个盘。 • 可靠性差

  26. RAID 1 • 镜像:把一个磁盘的数据镜像到另一个磁盘上 • 每个盘是另一个盘的校验盘,所写的文件在两个盘上,一旦一个失效,可以从另一个盘上恢复。盘利用率为50%

  27. RAID 0+1 • 把RAID 0和RAID 1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响可用性,并具有快速读写能力,要求至少4个硬盘,才能做RAID 0+1

  28. RAID 2 • 位交叉式海明编码阵列(存储器式ECC)。原理上比较优越,但冗余开销太大,未被广泛使用 • 所需的冗余盘的个数为log2m级,m是数据盘的个数,即数据字的位数 • Overhead Cost 20%~40% • Useable Storage Capacity 71%~83% • 虽然在分级上有这一级,但实际上没有商业化的产品

  29. RAID 3 ,RAID 4 • 两种方式类似,数据是以位或字节(RAID3) ,或以块(RAID4)为单位交叉方式存储

  30. RAID3 vs. RAID 4 • RAID 3 • 带有一个专门的校验盘来存储校验信息 • 当一个成员盘故障时,控制器可以从校验盘重新恢复/生成丢失的数据,要求至少三块盘 • 我们需权衡,从故障恢复的时间和成本 • 校验 = 所有磁盘块的和 • 写操作时,必须存取所有盘,这可能是性能瓶颈 • RAID 4 • 与RAID 3类似,但校验和仅是针对一块 • 因此,只需对目标盘和校验盘存取 • 问题是并发写时,校验盘是性能的瓶颈

  31. RAID 5 • 数据以块交叉的方式存于各盘,但无专用的校验盘,而是将冗余的奇偶校验信息均匀地分布在所有磁盘上 • 校验盘不再写在同一盘上 • 可能会减少写冲突 • 因此在连续写情况下有较高的性能

  32. RAID 4 vs. RAID 5

  33. 实现盘阵列的方式 • 软件方式 • 阵列卡方式 • 子系统方式

  34. 6.3 总线 • 总线的概念 • 共享的通信链路 • 由一组线连接多个子系统 • 是构成大而复杂系统的基本工具 • 总线的主要特点 • 多样性 新的设备很容易添加到系统中。由于采用相同的总线标准,不同计算机上的外设可以互换 • 低成本:多台设备共享一组线 • 总线的主要缺点 • 由于其独占性,造成通信瓶颈:总线的带宽限制了最大的I/O吞吐量 • 总线的速度受限于总线的长度,总线上设备的数量以及所需支持的设备的种类 • 这些设备可能延迟各不相同,数据传输率也不相同

  35. Control Lines Data Lines 6.3.1总线的基本组成 • 控制线 • 服务请求与确认信号 • 指示数据线上信息的类型 • 数据线:源设备与目的设备之间的信息交换 • 数据和地址 • 复杂的命令

  36. Master issues command Bus Master Bus Slave Data can go either way 主设备和从设备 • 总线事务包括两部分 • 发出命令(和地址)-请求 • 传送数据 -实际操作 • 主设备指启动事务发送命令和地址的设备 • 从设备是响应主设备请求,发送数据给主设备或从主设备接收数据的设备

  37. 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)

  38. Processor/Memory Bus PCI Bus I/O Busses 例如 Pentium System Organization

  39. Backplane Bus Processor Memory I/O Devices 计算机系统的单总线结构:Backplane Bus • 一条总线用于CPU-Memory, I/O之间,以及I/O-Memory之间的通信 • 优点:简单,便宜 • 缺点:慢,总线是性能瓶颈 • 例如:IBM PC-AT

  40. 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设备

  41. 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上的通信量进一步减少

  42. 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

  43. 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

  44. review • 存储设备 • 磁盘 • 磁盘阵列 • 总线 • 总线的基本组成 • 总线的基本类型 • 总线的定义

  45. Transaction Protocol Timing and Signaling Specification Bunch of Wires Electrical Specification Physical / Mechanical Characteristics – the connectors 6.3.4 总线的定义

  46. 问题之一:同步总线和异步总线 • 同步总线: • 总线信号中包含时钟信号 • 通信以相对于该时钟固定的协议进行 • 优点:控制逻辑简单,速度快 • 缺点: • 总线上的每一设备必须以相同的时钟速率运行 • 为避免时钟信号扭曲,总线较短 • 异步总线: • 没有统一的时钟信号 • 可以适应多种速度的设备 • 总线可以较长,不必担心时钟扭曲 • 需要握手协议

  47. BReq BG R/W Address Cmd+Addr Wait Data1 Data1 Data2 Data 典型的同步协议 • 从设备标识何时数据传送准备好 • 然后进行实际的数据传送

  48. BReq BG R/W Address Cmd+Addr Data1 Data2 Data 简单的同步协议 • 存储器总线的同步协议要复杂一些 • 存储器读写数据需要一定的时间 • 可能需要控制数据传输率

  49. 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: 从设备释放应答信号

More Related