Homework 5 examples
Purposes:
(1) perform availability and failure rate/percentage calculations;
(2) perform disk performance calculations.
Note: Interpret K, M, and G as powers of ten.
1. What is the expected number of disk failures for 100 disks each with
an MTTF of 4 years? Assume that they are operational 24/7.
expected number of disk failures = ( #disks * usage ) / MTTF
= (100 disks * 1 year/disk) / 4 years/failure = 25 failures
2. What is the annual failure rate for the disks in question (1)?
AFR = expected number of disk failures / #disks = usage / MTTF
= (1 year/disk) / (4 years/failure) = 0.25 = 25%
3. If the MTTR for a disk in question (1) is one day, what is the
availability?
availability = MTTF / ( MTTF + MTTR )
= (4 years/failure * 365 days/year) /
(4 years/failure * 365 days/year + 1 day/failure)
= 1460 days/failure / 1461 days/failure = 0.9993 ("three nines")
4. What is the average rotational latency for a disk spinning at 2400 RPM?
2400 rotations per minute
=> divide by 60 secs/min to get rotations per second
2400 rpm / 60s/m = 40 rps
=> take reciprocal to get second per rotation
(40 rps)^(-1) = 1 second per 40 rotations = 25 msec per rotation
=> average latency is 1/2 of a rotation
1/2 rotation * 25 msec/rotation = 12.5 msec
5. Consider a disk with 2 millisecond average seek time, 2 millisecond
average rotational latency, and a data transfer rate of 2000 KB/sec.
Consider also the transfer of unrelated blocks of 2 KB each (that is,
use average seek and rotational latency). What is the average number
of such blocks transferred per second?
2 ms seek + 2 ms rot. latency + 2KB / 2000KB/s transfer time
= 2 + 2 + 1 ms = 5 ms
5 ms / block => take reciprocal => 1 block / 5 ms = 200 blocks/sec
6. Consider the same disk as in question (5) but now consider the transfer
of six contiguous blocks at a time. That is, the data transfer is
12 KB (= 6 * 2 KB each), but there is only a single seek and a single
wait for rotational positioning for the complete transfer. What is the
average number of 2KB blocks transferred per second?
2 ms seek + 2 ms rot. latency + 12KB / 2000KB/s transfer time
= 2 + 2 + 6 ms = 10 ms
10 ms / 6 blocks => reciprocal => 6 blocks / 10 ms = 600 blocks/sec