Title: IO
1I/O RAID
- COMP381
- Tutorial 12
- 18-21 Nov, 08
2I/O Performance
- Disk Latency Seek Time Rotation Time
Transfer Time Controller Overhead - Seek Time depends on number of tracks and
movement of arm - Rotation Time depends on how fast the disk
rotates and how far sector is from head - Transfer Time depends on data rate (bandwidth) of
disk and size of request
3I/O Performance Example 1
- Compare the time to read and write a 64KB block
to Flash memory and magnetic disk. - For Flash, assume it takes 65ns to read 1 byte,
1.5us to write 1 byte, and 5ms to erase 4KB. - For disk, average seek time 12ms, rotation
speed 3600rpm and data transfer rate
2.6-4.2MB/s. - Assume the measured seek time is one-third of the
calculated average, the controller overhead is
0.1ms, and the data are stored in the outer
tracks (the disk rotates in one direction).
4Example 1 - Analysis
- File to transfer 64 KB
- Magnetic Disk
- average seek time 12ms
- rotation speed 3600rpm
- data transfer rate 2.6-4.2MB/s
- controller overhead 0.1ms
- Flash
- 65ns to read 1 byte
- 1.5us to write 1 byte
- 5ms to erase 4KB
- Some Key points
- Data are stored in the outer tracks
- We want to use the average rotational delay in
order to find the time to read to or write from
the disk
5Example 1 - Solution
- Average disk access is equal to measured seek
time average rotational delay transfer time
controller overhead. The average time to read or
write 64KB for the disk is - 12ms / 3 0.5 / 3600RPM 64KB / (4.2MB/s)
0.1ms 27.3ms - Flash read time 64KB / (1B / 65ns) 4.3ms
- Flash write time erase time write time
- 64KB / (4KB / 5ms) 64KB / (1B / 1.5us)
178.3ms - Thus, Flash memory is about 6 times faster than
disk for reading 64KB, and disk is about 6 times
faster than Flash memory for writing 64KB.
6Impact of I/O on System Performance
- Suppose we have a benchmark that executes in 100
seconds of elapsed time, where 90seconds is CPU
time and the rest is I/O time. If the CPU time
improves by 50 per year for the next five years
but I/O time does not improve, how much faster
will our program run at the end of the five
years? - Answer Elapsed Time CPU time I/O time
- Over five years
- CPU improvement 90/12 7.5 BUT System
improvement 100/22 4.5
7Motivation for RAID
- As a first solution to increase disk performance
we could use Disk Arrays - Reliability of N disks Reliability of 1 Disk
N - 1,200,000 Hours 100 disks 12,000 hours
- 1 year 365 24 8700 hours
- Disk system MTTF Drops from 140 years to about
1.5 years! - Problem No redundancy between the disks failed
data cannot be retrieved
8Use Arrays of Small Disks?
Katz and Patterson asked in 1987 Can smaller
disks be used to close gap in performance
between disks and CPUs?
Conventional 4 disk designs
10
5.25
3.5
14
High End
Low End
Disk Array 1 disk design
3.5
9RAID-0
- Striped, non-redundant
- Parallel access to multiple disks
- ?Excellent data transfer rate
- ? Excellent I/O request processing rate (for
large stripes) if the controller supports
independent Reads/Writes - ? Not fault tolerant (AID)
- Typically used for applications requiring high
performance for non-critical data (e.g., video
streaming and editing)
10RAID1 - Mirroring
- Called mirroring or shadowing, uses an extra
disk for each disk in the array (most costly
form of redundancy) - Whenever data is written to one disk, that data
is also written to a redundant disk good for
reads, fair for writes - If a disk fails, the system just goes to the
mirror and gets the desired data. - Fast, but very expensive.
- Typically used in system drives and critical
files - Banking, insurance data
- Web (e-commerce) servers
11RAID3 - Bit-interleaved Parity
- Use 1 extra disk for each array of n disks.
- Reads or writes go to all disks in the array,
with the extra disk to hold the parity
information in case there is a failure. - The parity is carried out at bit level
- A parity bit is kept for each bit position across
the disk array and stored in the redundant disk. - Parity sum modulo 2.
- parity of 1010 is 0
- parity of 1110 is 1
12RAID5 - Block-interleaved Distributed Parity
- Distributes the parity blocks among all the
disks. - Allows some writes to proceed in parallel
- I/O request rate excellent for reads, good for
writes - Data transfer rate good for reads, good for
writes - Typically used for high request rate,
read-intensive data lookup
13RAID TechniquesGoal was Performance, Popularity
due to Reliability
1 0 0 1 0 0 1 1
1 0 0 1 0 0 1 1
Disk Mirroring, Shadowing (RAID 1)
Each disk is fully duplicated onto its "shadow"
Logical write two physical writes 100
capacity overhead
1 0 0 1 0 0 1 1
0 0 1 1 0 0 1 0
1 1 0 0 1 1 0 1
1 0 0 1 0 0 1 1
Parity Data Bandwidth Array (RAID 3)
Parity computed horizontally Logically a single
high data bw disk
High I/O Rate Parity Array (RAID 5)
Interleaved parity blocks Independent reads and
writes Logical write 2 reads 2 writes
14Example 2
- Suppose we have a RAID 5 system with 5 disk. A
disk is failed and is being replaced. Assume the
remaining disks are error-free. Reconstruct the
data for the new disk.
15Example 2 - Solution
16Example 3
- Suppose we want to build a RAID 0 system with
4000GB storage capacity. There are two options
available - SysA 100 x 40GB and 400 per disk
- SysB 50 x 80GB and 1000 per disk
- Assume the MTTF for every disk is 1,000,000
hours. - What is the cost and MTTF of the each option?
17Example 3 - Solution
- Cost of SysA 100 x 400 40000
- Cost of SysB 50 x 1000 50000
- MTTF of SysA 1000000 / 100 1000hrs
- MTTF of SysB 1000000 / 50 2000hrs
- SysA has a lower cost while SysB has a better
MTTF value
18Storage Example Internet Archive
- Goal of making a historical record of the
Internet - Internet Archive began in 1996
- Wayback Machine interface performs time travel to
see what a web page looked like in the past - Contains over a petabyte (1015 bytes)
- Growing by 20 terabytes (1012 bytes) of new data
per month - Besides storing historical record, same hardware
crawls Web to get new snapshots