Date post: | 27-Dec-2015 |
Category: |
Documents |
Upload: | melvyn-rose |
View: | 218 times |
Download: | 0 times |
I/O – Chapter 8
• Introduction - 8.1
• Disk Storage and Dependability – 8.2
• Buses and other connectors – 8.4
• I/O performance measures – 8.6
Input / Ouput devices
• __________________________________– keyboard, mouse, printer, game controllers, …
• __________________________________– hard drive, zip drive, …
• __________________________________– music, video, …
Taxonomy
• Behavior – – Input (____________)– Output (_______________________)– Storage (______________________________)
• Partner– Human or machine on other side?
• Data rate (speed)– ______________________________________
Measures of Performance
• Response time
– __________ – time a user must wait for task
• Bandwidth
– _________________ per unit time
– _________________ per unit time
Vocabulary
• Head – the device that reads data from a disk• Each disk is divided into ________ _______
called _________• Each track is made up of _________ sectors• cylinder – volume of all _______ that lie under the
heads at a given point on all surfaces• nonvolatile – data that remains even when ______
is removed
Vocabulary
• seek – the act of positioning the _____ over the correct ________
• rotational delay or latency – average latency to rotate the ______ over the correct _______
• transfer time – time required to _________ a block of data
• disk controller – controls disk accesses
Example 1 - Performance
• What is the average time to read or write a 512-byte sector for a typical disk rotating at 10,000 RPM? The advertised average seek time is 6 ms, the transfer rate is 50 MB/sec, and the controller overhead is 0.2 ms. Assume that the disk is idle, so that there is no waiting time.
Reliability
• Reliability – measure of a continuously working system
• Availability – how often, on average, the system is working properly
• MTTF – Mean Time to Failure• MTTR – Mean Time to Repair• MTBF – Mean time between failures
Availability
• Availability – how often, on average, the system is working properly
• Availability = MTTF / (MTTF + MTTR)
RAID - Redundant Arrays of Inexpensive Disks
• Shift from one large disk to several small disks
• Cheaper, smaller, faster
• Inherently less reliable
• Provide redundancy to counteract lower reliability
RAID 0
• No redundancy!!!
• Only a performance increase
• Striping (interleaving) – allocation of logically sequential blocks to separate disks to increase performance
• Parallel access controlled by disk controller – computer knows nothing about it.
RAID 1
• mirroring – write the identical data to multiple disks
• Requires twice as many disks as RAID 0
• If a disk fails, use the backup copy, move to a working set of mirrored space.
RAID 3
• Bit-interleaved parity
• Store only enough data to recover original
• Group N blocks
• Add one bit of parity – xor of all bits.
• Lost data can be reconstructed by looking at the rest of the bits in the group.
On a write
• Read all blocks of data in parity group
• Calculate new parity
• Write new block
• Write new parity
RAID 4
• More efficient parity update
• On write:– Read old data– xor with new data– adjust parity– Write parity, Write new data
Summary
• RAID 1 and RAID 5 most common
• 80% of server disks use RAID
• Repair:– hot swapping – replace disks with power on– Standby spares – spares included in system for
immediate reconstruction of data
Connecting I/O Devices
• Much slower than processor / memory
• Support lots of heterogeneous devices
Bus
• control lines – send / receive commands• data lines – transfer data
• processor-memory bus – fast, small bus connecting DRAM to processor
• I/O bus – slow, long bus connecting many devices to system through a controller.
Synchrony
• ___________________ – clock in control line, fixed protocol is relative to clock.
• _______________________ – no clock – must coordinate through hand-shaking to determine when data is ready to send / receive.
hand-shaking
• Series of steps used to coordinate bus transfers. Both parties must acknowledge they are ready before moving to next step.
• Control lines:
• ReadyReq: proc/device wants to read
• DataRdy: dev/proc is ready to send data
• Ack: acknowledge ReadReq or DataRdy
Metric Units
• Memory: GB = 2^30• I/O: GB = 10^9 • Be careful when reading specs• For this class, we will pretend that all use
base-2 units.• Throughput more important than latency• Large database operations (TP –
Transaction Processing)
Example 1
• Execution time = 100 seconds
• 90 seconds CPU time, 10 sec I/O time
• CPU time improves by 50%/yr for 5 years
• I/O does not improve
• How much faster is program after 5 years?
• What percentage of new time is I/O?