Disk Management
Disk Management
Disk Management
Peter R. Pietzuch
[email protected]
Disks have come a long way...
http://www.anandtech.com/show/9866/hard-disk-drives-with-hamr-technology-set-to-arrive-in-2018
3
What is driving demand?
5
Tracks and Cylinders
Track
Track
Cylinder
Track
Track
6
Sample Disk Specification
7
Sector Layout
9
Disk Capacity
10
Disk Formatting
• Cylinder skew
• Interleaving
11
Disk Delays I
(Rotational delay)
12
Disk Delays II
• Disk scheduling
– Minimise seek and/or latency times
– Order pending disk requests with respect to head position
13
Disk Performance
1 b
• Total access time: taccess = t seek + +
2r rN
14
Example: Disk Performance
• Example:
Average seek time: 10ms Rotation speed: 10,000 rpm
512 byte sectors 320 sectors per track
File size: 2560 sectors (1.3 MB)
• Case A:
– Read file stored as compactly as possible on disk
• i.e. file occupies all sectors on 8 adjacent tracks
• 8 tracks x 320 sectors/track = 2560 sectors
• Case B:
– Read file with all sectors randomly distributed across disk
15
Answer: Disk Performance
• Case A:
– Time to read first track
Average seek = 10 ms
Rotational delay = 3 ms = 1 / [2 * (10,000 / 60)]
Read 320 sectors = 6 ms = b / ( N * (10,000 / 60)]
19 ms
– Time to read next track = 3 ms + 6 ms = 9 ms
– Total time = 19 ms + 7 x 9 ms = 82 ms = 0.082 seconds
• Case B:
Average seek = 10 ms
Rotational delay = 3 ms
Read 1 sector = 0.01875 ms = 512 / [512*320 * (10,000/60)]
13.01875 ms
– Total time = 2560 x 13.01875 ms = 33.328 seconds
16
Disk Scheduling
17
First Come First Served (FCFS)
18
Shortest Seek Time First (SSTF)
19
SCAN Scheduling
Sometimes called
elevator scheduling
20
C-SCAN
21
N-Step SCAN
22
Linux: Disk Scheduling
23
Linux: Disk Scheduling Algorithms
http://blog.digistor.com/under-the-hood-industrial-ssd-advancements/
25
Internals
26
SSDs vs HDDs
• SSDs
– More bandwidth (1GB/s read/write vs 100MB/s)
– Smaller latencies (microseconds vs milliseconds)
– So SSDs are always better?
27
Detailed tradeoffs
29
RAID
• Problem:
– CPU performance doubling every 18 months
– Disk performance has increased only 10 times since 1970
• Solution: Use parallel disk I/O
30
RAID: Striping
stripe
31
RAID Levels
33
RAID Level 1 (Mirroring)
34
RAID Level 2 (Bit-Level Hamming)
35
RAID Level 3 (Byte-Level XOR)
36
RAID Level 4 (Block-Level XOR)
37
RAID Level 5 (Block-Level Distributed XOR)
38
RAID Summary
40
Disk Cache
41
Buffer Cache
42
Least Recently Used (LRU)
• Replace block that was in cache longest with no references
• Cache consists of stack of blocks
– Most recently referenced block on top of stack
– When block referenced (or brought into cache),
place on top of stack
– Remove block at bottom of stack when new block brought in
43
Least Frequently Used (LFU)
44
Frequency-Based Replacement
45