Lecture 23 & 24 - UCSB Computer Science

advertisement
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, …
Goals & Constraints
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
Anatomy of a Disk Drive
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)
Improving MTTF
• Fault avoidance
• Fault tolerance
• Fault forecasting
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
RAID 5
• Rotate parity blocks around system
• Spread out writing (since parity always
written)
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?
Example 2
• System A:
– .005 sec per I/O op
– 4 overlapping I/O ops at a time
• System B:
– .002 sec per I/O op
– no overlapping I/O ops
• Which has the higher throughput?
Download