+ All Categories
Home > Documents > I/O – Chapter 8 Introduction - 8.1 Disk Storage and Dependability – 8.2 Buses and other...

I/O – Chapter 8 Introduction - 8.1 Disk Storage and Dependability – 8.2 Buses and other...

Date post: 27-Dec-2015
Category:
Upload: melvyn-rose
View: 218 times
Download: 0 times
Share this document with a friend
28
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
Transcript

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?


Recommended