CS152 Computer Architecture and Engineering Lecture 24 I/O Systems IIThe Big Picture: Where are We Now?Outline of Today’s LectureOrganization of a Hard Magnetic DiskMagnetic Disk CharacteristicTypical Numbers of a Magnetic DiskDisk I/O PerformanceReview: Disk Device TerminologyExampleReliability and AvailabilitySimple Producer-Server ModelSlide 12Response Time vs. ProductivityResponse Time & ProductivityAdministriviaComputers in the News: Electronic Ink7 Talk Commandments for a Bad TalkFollowing all the commandmentsAlternatives to a Bad TalkInclude in your final presentationIntroduction to Queueing TheoryA Little Queuing Theory: NotationA Little Queuing Theory: Use of random distributionsA Little Queuing Theory: Variable Service TimeA Little Queuing Theory: Average Wait TimeA Little Queuing Theory: M/G/1 and M/M/1A Little Queuing Theory: An ExampleGiving Commands to I/O DevicesMemory Mapped I/OI/O Device Notifying the OSI/O InterruptExample: Device InterruptAlternative: PollingPolling: Programmed I/OPolling is faster/slower than InterruptsDelegating I/O Responsibility from the CPU: DMADelegating I/O Responsibility from the CPU: IOPResponsibilities of the Operating SystemOperating System RequirementsOS and I/O Systems Communication RequirementsNetwork Attached StorageOceanStore: The Oceanic Data Utility:Manufacturing Advantages of Disk ArraysSmall # of Large Disks Large # of Small Disks!Array ReliabilityRedundant Arrays of DisksRAID 1: Disk Mirroring/ShadowingRAID 3: Parity DiskRAID 5+: High I/O Rate ParityProblems of Disk Arrays: Small WritesHewlett-Packard (HP) AutoRAIDSubsystem OrganizationSystem Availability: Orthogonal RAIDsSystem-Level AvailabilitySummary:11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.1CS152Computer Architecture and Engineering Lecture 24I/O Systems IINovember 24, 1999John Kubiatowicz (http.cs.berkeley.edu/~kubitron)lecture slides: http://www-inst.eecs.berkeley.edu/~cs152/11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.2The Big Picture: Where are We Now?ControlDatapathMemoryProcessorInputOutput°Today’s Topic: I/O SystemsControlDatapathMemoryProcessorInputOutputNetwork/Bus11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.3Outline of Today’s Lecture°Basic behavior of disks°Queueing theory.°Interfacing between processor and I/O devices°RAID disk arrays°Summary11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.4Organization of a Hard Magnetic Disk°Typical numbers (depending on the disk size):•500 to 2,000 tracks per surface•32 to 128 sectors per track-A sector is the smallest unit that can be read or written°Traditionally all tracks have the same number of sectors:•Constant bit density: record more sectors on the outer tracks•Recently relaxed: constant bit size, speed varies with track locationPlattersTrackSector11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.5Magnetic Disk Characteristic°Cylinder: all the tacks under the head at a given point on all surface°Read/write data is a three-stage process:•Seek time: position the arm over the proper track•Rotational latency: wait for the desired sectorto rotate under the read/write head•Transfer time: transfer a block of bits (sector)under the read-write head°Average seek time as reported by the industry:•Typically in the range of 8 ms to 12 ms•(Sum of the time for all possible seek) / (total # of possible seeks)°Due to locality of disk reference, actual average seek time may:•Only be 25% to 33% of the advertised numberSectorTrackCylinderHeadPlatter11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.6Typical Numbers of a Magnetic Disk°Rotational Latency:•Most disks rotate at 3,600 to 7200 RPM•Approximately 16 ms to 8 ms per revolution, respectively•An average latency to the desiredinformation is halfway around the disk: 8 ms at 3600 RPM, 4 ms at 7200 RPM°Transfer Time is a function of :•Transfer size (usually a sector): 1 KB / sector• Rotation speed: 3600 RPM to 10000 RPM• Recording density: bits per inch on a track•Diameter typical diameter ranges from 2.5 to 5.25 in•Typical values: 2 to 40 MB per secondSectorTrackCylinderHeadPlatter11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.7Disk I/O Performance°Disk Access Time = Seek time + Rotational Latency + Transfer time + Controller Time + Queueing Delay°Estimating Queue Length:•Utilization = U = Request Rate / Service Rate•Mean Queue Length = U / (1 - U)•As Request Rate -> Service Rate-Mean Queue Length -> InfinityProcessorQueueDiskControllerDisk Service RateRequest RateQueueDiskControllerDisk11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.8Disk Latency = Queueing Time + Controller time + Seek Time + Rotation Time + Xfer TimeOrder of magnitude times for 4K byte transfers:Average Seek: 8 ms or lessRotate: 4.2 ms @ 7200 rpmXfer: 1 ms @ 7200 rpmReview: Disk Device Terminology11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.9Example°512 byte sector, rotate at 5400 RPM, advertised seeks is 12 ms, transfer rate is 4 MB/sec, controller overhead is 1 ms, queue idle so no service time°Disk Access Time = Seek time + Rotational Latency + Transfer time + Controller Time + Queueing Delay°Disk Access Time = 12 ms + 0.5 / 5400 RPM + 0.5 KB / 4 MB/s + 1 ms + 0°Disk Access Time = 12 ms + 0.5 / 90 RPS + 0.125 / 1024 s + 1 ms + 0°Disk Access Time = 12 ms + 5.5 ms + 0.1 ms + 1 ms + 0 ms°Disk Access Time = 18.6 ms°If real seeks are 1/3 advertised seeks, then its 10.6 ms, with rotation delay at 50% of the time!11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.10Reliability and Availability°Two terms that are often confused:•Reliability: Is anything broken?•Availability: Is the system still available to the user?°Availability can be improved by adding hardware:•Example: adding ECC on memory°Reliability can only be improved by:•Better environmental conditions•Building more reliable components•Building with fewer components-Improve availability may come at the cost of lower reliability11/24/99 ©UCB Fall 1999CS152 / Kubiatowicz Lec24.11Simple Producer-Server Model°Throughput:•The number of tasks completed by the server in unit time•In order to get the highest possible throughput:-The server should never be idle-The queue should never be empty°Response time:•Begins when a task is placed in the queue•Ends when it is completed by the server•In order to minimize the response time:-The queue
View Full Document