Professional Documents
Culture Documents
2
I/O System Characteristics
Dependability is important
Particularly for storage devices
Performance measures
Latency (response time)
Throughput (bandwidth)
Desktops & embedded systems
—3
Dependability
Service accomplishment
Service delivered
as specified
Fault: failure of a
component
Restoration Failure May or may not lead to
system failure
Service interruption
Deviation from
specified service
4
Dependability Measures
Reliability: measure of continuous service
accomplishment
l
or mean time to failure (MTTF)
l
a related term Is Annual failure rate( AFR) –
Expected to fail a year given MTTF
Service interruption
l
Is measured by mean time to repair (MTTR)
Mean time between failures
l
is sum of MTTF + MTTR
MTBF = MTTF + MTTR
Availability
is a measure of service accomplishment with respect
to accomplishment & interrruption
MTTF / (MTTF + MTTR)
Improving Availability
Increase MTTF: fault avoidance, fault tolerance, fault forecasting —5
Reduce MTTR: improved tools and processes for diagnosis and
repair
Disk Storage
Nonvolatile, rotating magnetic storage
Data transfer – transfer time required to transfer a block of bits 70-125 MB/sec
Controller overhead – controller imposes controller time to perform I/O access.
9
Disk Access Example
Given
512Byte sector, 15,000rpm, 4ms average seek time,
100MB/s transfer rate, 0.2ms controller overhead, idle disk
no waiting time. Calculate average read time.
Average read time
= seek time + average rotational delay+ transfer time + controller overhead
Future:
Flash drives used in battery operated devices
Interconnecting Components
Need interconnections between
CPU, memory, I/O controllers
Bus: shared communication channel
Parallel set of wires for data and synchronization of data transfer
Can become a bottleneck
Performance limited by physical factors
Wire length, number of connections
More recent alternative: high-speed serial connections
with switches
Like networks
Bus Types
Processor-Memory buses
Short, high speed
Design is matched to memory organization
I/O buses
Longer, allowing multiple connections
Specified by standards for interoperability
Connect to processor-memory bus through a bridge
(Backplane Bus) ie not directly connected to Memory
blcoks of data
OS provides starting address in memory
I/O controller transfers to/from memory autonomously
Controller interrupts on completion or error
I/O rate : Performance measure of I/O's per unit time (Read's /Sec)
Latency Measurement
1. In an unloaded system – Easy to determine
2. Loaded system – Average latency is hard
May follow : Queueing / Simulation
Bandwidth
Another typical problem
Designers may be given a partially configured I/O and asked
to balance the system to maintain maximum Bandwidth
I/O vs. CPU Performance
Amdahl’s Law : How to speed up computation by running
part of it parallely. ( a-b)/n = (a- b) * (1/n)
Don’t neglect I/O performance as parallelism increases compute
performance
Example
Let us take a Benchmark takes 90s CPU time, 10s I/O time
Double the number of CPUs/2 years
I/O unchanged
§6.9 Parallelism and I/O: RAID
At the end of 6 years how much faster will our program run?
Year CPU time I/O time Elapsed time % I/O time
now 90s 10s 100s 10%
+2 90/2 = 45s 10s 55s 18%
+4 45/2 = 23s 10s 33s 31%
+6 23/2 = 11s 10s 21s 47%
Cpu time 90/11= 8 times , but elapsed time 100/21 = 4.7 only
and I/O increased from 10 to 47
RAID
Redundant Array of Inexpensive (Independent) Disks
Use multiple smaller disks (c.f. one large disk)
Parallelism improves performance
Plus extra disk(s) for redundant data storage
Provides fault tolerant storage system
Especially if failed disks can be “hot swapped”
RAID 0
No redundancy (“AID”?)
Just stripe data over multiple disks
Stripe – Allocation of logically sequential blocks to seperate disks to
allow higher performance
But it does improve performance
redundancy
Multiple RAID
More advanced systems give similar fault
tolerance with better performance