11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.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 / KubiatowiczLec24.2The Big Picture: Where are We Now?ControlDatapathMemoryProcessorInputOutput° Today’s Topic: I/O SystemsControlDatapathMemoryProcessorInputOutputNetwork/Bus11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.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 / KubiatowiczLec24.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 / KubiatowiczLec24.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 / KubiatowiczLec24.6Typical Numbers of a Magnetic Disk° Rotational Latency:• Most disks rotate at 3,600 to 7200 RPM• Approximately 16 ms to 8 msper 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 / KubiatowiczLec24.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 / KubiatowiczLec24.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 / KubiatowiczLec24.9Example° 512 byte sector, rotate at 5400 RPM, advertised seeks is 12 ms, transfer rate is4 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 at50% of the time!11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.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 / KubiatowiczLec24.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 should be empty- The server will be idleProducerServerQueue11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.12Disk I/O PerformanceResponse time = Queue + Device Service time100%ResponseTime (ms)Throughput (% total BW)01002003000%ProcQueueIOC DeviceMetrics: Response Time Throughput11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.13° Interactive environments:Each interaction or transaction has 3 parts:• Entry Time: time for user to enter command• System Response Time: time between user entry & system replies• Think Time: Time from response until user begins next command1st transaction: 2nd transaction:° What happens to transaction time as shrink system response timefrom 1.0 sec to 0.3 sec?• With Keyboard: 4.0 sec entry, 9.4 sec think time• With Graphics: 0.25 sec entry, 1.6 sec think timeResponse Time vs. Productivity11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.14Time0.00 5.00 10.00 15.00graphics1.0sgraphics0.3sconventional1.0sconventional0.3sentry resp think° 0.7sec off response saves 4.9 sec (34%) and 2.0 sec (70%) totaltime per transaction => greater productivity° Another study: everyone gets more done with faster response,but novice with fast response = expert with slowResponse Time & Productivity11/24/99 ©UCB Fall 1999CS152 / KubiatowiczLec24.15Administrivia° Get your project entered on web page!• I will remove the ability to enter new projects soon (won’t be ableto submit final report)• Please take time to enter reasonable title: no trademarked names!• Should have two or three sentence description° Pending schedule:• Monday 11/29: no class -- work on projects.• Monday 11/29: Update on design due to TAs• Wednesday
View Full Document