Title: IO System
1Chapter 8
2IO System
- Storage
- Must be dependable
- Networks
- Must tolerate faults in communications by
including mechanisms to detect and recover form
faults. - Peripherals
- Extremely Diverse
3I/O Systems
- Emphasis is placed on dependability and cost.
- Processors and memory emphasize performance and
cost. - I/O System performance must keep pace with
processor performance. - I/O can become a bottleneck.
4(No Transcript)
5I/O performance
- Complex
- Access Latency
- Throughput
- Depends on many aspects of the system.
- Device characteristics
- Connection between device and rest of system
- Memory hierarchy
- Operating system
- Etc.
- I/O benchmarks are primitive compared to
processor benchmarks.
6(No Transcript)
7(No Transcript)
8Transferring data between a device and memory
- Polling
- I/O interrupts
- DMA
- Special DMA controller handles transfers
- Processor sets up DMA
- DMA controller starts operation, arbitrates the
bus, and interrupts processor when DMA is
complete.
9Disk Storage
- Nonvolatile Data is not lost when power turned
off. - Consists of platters (1-4) each with two
recordable disk surfaces, and R/W heads. - Platters are rotated at 5400-15,000 RPM.
- Each dist is divided into tracks.
- Tracks are divided into sectors.
10(No Transcript)
11Answer Second. Track Seek time.
12(No Transcript)
13Disk manufactures report minimum, maximum and
average seek time. The first two are easy to
measure. Average is open to wide interpretation
because it depends on seek distance. The standard
is Sum of the time for all possible seeks
divided by number of possible seeks. Actual
average may be considerably less.
14(No Transcript)
15Transfer time time to transfer a block of bits.
Function of sector size, rotation speed and
recording density. 30 80 MB/sec
typical. However, most disk controllers have a
built-in cache that stores sectors as they are
passed over. Resulting in higher transfer
rates. Today most disk transfers are multiple
sectors lengths. Controller time Overhead
imposed by controller in performing disk
I/O. Disk I/O time consists of the above times
plus any wait time because other processes are
using the disk.
16(No Transcript)
17(No Transcript)
18(No Transcript)
19Replace large disk with many small disks.
20(No Transcript)
21RAID
- RAID 0 Spread data over multiple drives.
- Called striping improves performance but no
redundancy. - RAID 1 Mirrors or shadows data to redundant
drive. - RAID 2-6 Incorporates error correction
techniques.
22Error detection and correction.
- Single error correction. HD 3.
- P1 D3 ? D5 ? D7
- 2 3 4 5 6 7 P2 D3 ? D6 ? D7
- P1 P2 D3 P4 D5 D6 D7 P4 D5 ? D6 ? D7
- 0 0 0 1 1 1 1 C4 P4 ? D5 ?
D6 ? D7 - 0 1 1 0 0 1 1 C2 P2 ? D3 ?
D6 ? D7 - 1 0 1 0 1 0 1 C1 P1 ? D3 ?
D5 ? D7
23RAID 6
- Allows for the simultaneous loss of two drives.
- Much better data protection than RAID 5.
- Implementation is based on Galois Field (GF)
mathematics. - Object is to achieve Maximum Distance Separable
(MDS) coding. - There are two implementations
- Reed-Solomon PQ
- Double Parity
24(No Transcript)
25GF - mathematics
- A GF is a set of values that contains a finite
number of elements. - For example GF(28) contains 28-1 elements.
- GF is closed under addition, subtraction,
multiplication, and division operations. - These operations are defined differently than the
corresponding operations normal arithmetic. - Addition is bitwise XOR.
- Subtraction same as addition.
- Multiplication and division are more complicated,
and are typically accomplished by adding or
subtracting gflogs.
26P and Q Parity blocks
27Problem 8.1
System A 1500 I/O operations per second. System
B 1000 I/O operations per second. Both systems
use a 500 MIPS processor. Each transaction
requires 5 I/O operations and each I/O operation
requires 10,000 instructions. Ignoring response
time and assuming the transactions may be
arbitrarily overlapped, what is the maximum
transaction-per-second rate that each machine can
sustain? Each transaction requires 5 X 10,000
50K inst. CPU limit 500M/50K 10,000
trans/sec I/0 limit for A is 1500/5 300
trans/sec I/O limit for B is 1000/5 200
trans/sec Therefore, I/O limits both systems.
28Buses
- A bus is a shared communication link, which uses
one set of wires to connect multiple subsystems. - Advantages
- Versatile
- Low cost
- Disadvantage
- Communication bottleneck
- A bus generally consists of data, and control
lines. - Control lines are used to signal request and
acknowledgments, and to indicate what type of
information is on the data lines. - Data lines carry information between the source
and destination. These lines are often separated
into address and data.
29Bus Transactions
- A sequence of bus operations that includes a
request and may include a response, either of
which may carry data. - May require several bus operations to complete.
- Includes two parts sending address and sending or
receiving data.
30Processor-memory bus
- Connects processor and memory.
- Short
- High speed
- Matched to memory system to maximize
memory-processor bandwidth.
31I/O Buses
- Can connect many types of I/O devices.
- Can be long.
- Wide range of data bandwidths.
- Provides a way of extending the machine and
adding new peripherals.
32Backplane Bus
- Allows processor, memory and I/O to exist on a
single bus.
33Synchronous Bus
- Contains a clock as part of the control lines,
and uses a fixed protocol for communicating that
is relative to the clock. - Every device must run at the clock rate.
- Because of clock skew synchronous busses can not
be long. - Processor-memory buses tend to be synchronous.
34Asynchronous Buses
- Not clocked.
- Uses handshaking.
- Can accommodate wide variety of devices.
- Can be long.
- Frequently used in I/O buses.
- USB and Firewire are asynchronous buses.
35(No Transcript)
36data
address
37(No Transcript)