Transcript
Swap-Space Management • Swap-space — Virtual memory uses disk space as an extension of main memory • Swap-space can be carved out of the normal file system, or, more commonly, it can be in a separate disk partition • Swap-space management Allocate swap space when process starts; holds text segment (the program) and data segment Kernel uses swap maps to track swap-space use
Data Structures for Swapping on Linux Systems
Mass-Storage Systems
UCSB CS170 Tao Yang
Mass-Storage Systems: What to Learn • Structure of mass-storage devices and the resulting effects on the uses of the devices Hard Disk Drive SSD Hybrid Disk • Performance characteristics and management of mass-storage devices Disk Scheduling in HDD • RAID – improve performance/reliability • Text book Chapter 12 and 14.2.
Mass Storage: HDD and SSD • Most popular: Magnetic hard disk drives
• Solid state drives: (SSD)
Magnetic Tape • Relatively permanent and holds large quantities of data • Random access ~1000 times slower than disk • Mainly used for backup, storage of infrequentlyused data, transfer medium between systems • 20-1.5TB typical storage • Common technologies are 4mm, 8mm, 19mm, LTO2 and SDLT
Disk Attachment • Drive attached to computer via I/O bus • USB • SATA (replacing ATA, PATA, EIDE) • SCSI itself is a bus, up to 16 devices on one cable, SCSI initiator requests operation and SCSI targets perform tasks • FC (Fiber Channel) is high-speed serial architecture Can be switched fabric with 24-bit address space – the basis of storage area networks (SANs) in which many hosts attach to many storage units Can be arbitrated loop (FC-AL) of 126 devices
• SATA connectors
• SCSI
• FC with SAN-switch
Network-Attached Storage • Network-attached storage (NAS) is storage made available over a network rather than over a local connection (such as a bus) • NFS and CIFS are common protocols • Implemented via remote procedure calls (RPCs) between host and storage • New iSCSI protocol uses IP network to carry the SCSI protocol
Storage Area Network (SAN) • Special/dedicated network for accessing block level data storage • Multiple hosts attached to multiple storage arrays - flexible
Performance characteristics of disks • Drives rotate at 60 to 200 times per second • Positioning time is time to move disk arm to desired cylinder (seek time) plus time for desired sector to rotate under the disk head (rotational latency)
Effective bandwidth: “average data transfer rate during a transfer– that is the, number of bytes divided by transfer time” – data rate includes positioning overhead
Moving-head Disk Mechanism
Disk Performance Disk Latency = Seek Time + Rotation Time + Transfer Time Seek Time: time to move disk arm over track (1-20ms) Fine-grained position adjustment necessary for head to “settle” Head switch time ~ track switch time (on modern disks) Rotation Time: time to wait for disk to rotate under disk head Disk rotation: 4 – 15ms (depending on price of disk) On average, only need to wait half a rotation Transfer Time: time to transfer data onto/off of disk Disk head transfer rate: 50-100MB/s (5-10 usec/sector) Host transfer rate dependent on I/O connector (USB, SATA, …)
Toshiba Disk (2008)
Moving-head Disk Mechanism
128MB/s
54MB/s
Question • How long to complete 500 random disk reads, in FIFO order? Each reads one sector(512 bytes).
Question • How long to complete 500 random disk reads, in FIFO order? Each reads one sector(512 bytes). Seek: average 10.5 msec Rotation: average 4.15 msec – Disk spins 120 times per second (7200 RPM/60) – Average rotational cost is time to travel half track: 1/120 * 50%=4.15msec
Transfer: 5-10 usec – 54MB/second to transfer 512 bytes per sector – 0.5K/(54K) =0.01 msec
• 500 * (10.5 + 4.15 + 0.01)/1000 = 7.3 seconds • Effective bandwidth: 500 sectors*512 Bytes / 7.3 sec =0.034MB/sec Copying 1GB of data takes 8.37 hours
Question • How long to complete 500 sequential disk reads?
Question • How long to complete 500 sequential disk reads? Seek Time: 10.5 ms (to reach first sector) Rotation Time: 4.15 ms (to reach first sector) Transfer Time: (outer track) 500 sectors * 512 bytes / 128MB/sec = 2ms
Total: 10.5 + 4.15 + 2 = 16.7 ms • Effective bandwidth: 500 sectors*512 Bytes / 16.7 ms =14.97 MB/sec This is 11.7% of the maximum transfer rate with 250KB data transferring.
Question • How large a transfer is needed to achieve 80% of the max disk transfer rate?
Question • How large a transfer is needed to achieve 80% of the max disk transfer rate? Assume x rotations are needed, then solve for x: 0.8 (10.5 ms + (1ms + 8.5ms) x) = 8.5ms x Total: x = 9.1 rotations, 9.8MB ( with 2100 sectors/track) • A simplified approximation is to compute the effective bandwidth first x/(10.5ms + x/128 ) = 0.8 *128 x=7.5MB Copying 1GB of data takes 10 seconds!
Disk Scheduling: Objective • Given a set of IO requests Hard Disk Drive
• Coordinate disk access of multiple I/O requests for faster performance and reduced seek time. Seek time seek distance Measured by total head movement in terms of cylinders from one request to another.
FCFS (First Come First Serve) total head movement: 640 cylinders for executing all requests
… 2 1
Disk Head
199
SSTF (Shortest Seek Time First) • Selects the request with the minimum seek time from the current head position • total head movement: 236 cylinders
Question • Consider the following sequence of requests (2, 4, 1, 8), and assume the head position is on track 9. Then, the order in which SSTF services the requests is _________
Anthony D. Joseph UCB CS162
Question • Q5: Consider the following sequence of requests (2, 4, 1, 8), and assume the head position is on track 9. Then, the order in which SSTF services the requests is _________ (8, 4, 2, 1)
SCAN Algorithm for Disk Scheduling • SCAN: move disk arm in one direction, until all requests satisfied, then reverse direction • Also called “elevator scheduling”
SCAN: Elevator algorithm • total head movement : 208 cylinders
CSCAN for Disk Scheduling • CSCAN: move disk arm in one direction, until all requests satisfied, then start again from farthest request Provides a more uniform wait time than SCAN by treating cylinders as a circular list. The head moves from one end of the disk to the other, servicing requests as it goes. When it reaches the other end, it immediately returns to the beginning of the disk, without servicing any requests on the return trip
C-SCAN (Circular-SCAN)
Scheduling Algorithms Algorithm Name Description FCFS
First-come first-served
SSTF
Shortest seek time first; process the request that reduces next seek time
SCAN (aka Elevator) C-SCAN
Move head from end to end (has a current direction) Only service requests in one direction (circular SCAN)
Selecting a Disk-Scheduling Algorithm • SSTF is common with its natural appeal (but it may lead to starvation issue). • C-LOOK is fair and efficient • SCAN and C-SCAN perform better for systems that place a heavy load on the disk • Performance depends on the number and types of requests
Solid State Disks (SSDs)
• Use NAND Multi-Level Cell (2-bit/cell) flash memory Non-volatile storage technology Sector (4 KB page) addressable, but stores 4-64 “pages” per memory block No moving parts (no rotate/seek motors) Very low power and lightweight
SSD Logic Components
Transfer time: transfer a 4KB page Limited by controller and disk interface (SATA: 300600MB/s) Latency = Queuing Time + Controller time + Xfer Time
SSD Architecture – Writes (I) •
Writing data is complex! (~200μs – 1.7ms ) Can only write empty pages in a block Erasing a block takes ~1.5ms Controller maintains pool of empty blocks by coalescing used pages (read, erase, write), also reserves some % of capacity
https://en.wikipedia.org/wiki/Solid-state_drive Anthony D. Joseph UCB CS162
SSD Architecture – Writes (II) • Write A, B, C, D
https://en.wikipedia.org/wiki/Solid-state_drive Anthony D. Joseph UCB CS162
SSD Architecture – Writes (II) • Write A, B, C, D
• Write E, F, G, H and A’, B’, C’, D’ Record A, B, C, D as obsolete
https://en.wikipedia.org/wiki/Solid-state_drive Anthony D. Joseph UCB CS162
SSD Architecture – Writes (II) • Write A, B, C, D • Write E, F, G, H and A’, B’, C’, D’ Record A, B, C, D as obsolete
• Controller garbage collects obsolete pages by copying valid pages to new (erased) block • Typical steady state behavior when SSD is almost full One erase every 64 or 128 writes
Anthony D. Joseph UCB CS162
SSD Architecture – Writes (III)
• Write and erase cycles require “high” voltage Damages memory cells, limits SSD lifespan Controller uses ECC, performs wear leveling
• Result is very workload dependent performance Latency = Queuing Time + Controller time (Find Free Block) + Xfer Time Highest BW: Seq. OR Random writes (limited by empty pages) Rule of thumb: writes 10x more expensive than reads,
and erases 10x more expensive than writes
Flash Drive (2011)
Storage Performance & Price Bandwidth (Sequential R/W)
Cost/GB
Size
HDD2
50-100 MB/s
$0.03-0.07/GB
2-4 TB
SSD1,2
200-550 MB/s (SATA) 6 GB/s (read PCI) 4.4 GB/s (write PCI)
$0.87-1.13/GB
200GB-1TB
DRAM2
10-16 GB/s
$4-14*/GB
64GB-256GB
*SK Hynix 9/4/13 fire 1http://www.fastestssd.com/featured/ssd-rankings-the-fastest-solid-state-drives/ 2http://www.extremetech.com/computing/164677-storage-pricewatch-hard-drive-and-ssd-prices-drop-making-for-a-good-time-to-buy
BW: SSD up to x10 than HDD, DRAM > x10 than SSD Price: HDD x20 less than SSD, SSD x5 less than DRAM Anthony D. Joseph UCB CS162
SSD Summary
• Pros (vs. hard disk drives): Low latency, high throughput (eliminate seek/rotational delay) No moving parts: – Very light weight, low power, silent, very shock insensitive
Read at memory speeds (limited by controller and I/O bus) • Cons Small storage (0.1-0.5x disk), very expensive (20x disk) – Hybrid alternative: combine small SSD with large HDD
Asymmetric block write performance: read pg/erase/write pg Limited drive lifetime – Avg failure rate is 6 years, life expectancy is 9–11 years Anthony D. Joseph UCB CS162
Questions: HDDs and SSDs • Q1: True _ False _ The block is the smallest addressable unit on a disk • Q2: True _ False _ An SSD has zero seek time • Q3: True _ False _ For an HDD, the read and write latencies are similar • Q4: True _ False _ For an SSD, the read and write latencies are similar
Anthony D. Joseph UCB CS162
Questions: HDDs and SSDs • Q1: True _ False _X The block is the smallest addressable unit on a disk • Q2: True _X False _ An SSD has zero seek time • Q3: True _X False _ For an HDD, the read and write latencies are similar X For an SSD, the read and write • Q4: True _ False _ latencies are similar
Hybrid Disk Drive A hybrid disk uses a small SSD as a buffer for a
larger drive All dirty blocks can be flushed to the actual hard
drive based on:
Time, Threshold, Loss of power/computer shutdown Dram Cache ATA Interface Add a nonvolatile cache
NV Cache
Hybrid Disk Drive Benefits
Up to 90% Power Saving when powered down
Dram Cache
ATA Interface Read and Write instantly while spindle stopped
NV Cache
How often do disk drives fail? • Schroeder and Gibson. “Disk Failures in the Real World: What Does and MTTF of 1,000,000 Hours Mean to You?” USENIX FAST 2007 Typical drive replacement rate is 2-4% annually In 2011, spinning disk have 0.5% (1.7*106 hours) • 1000 drives 2%* 10000 means 20 failed drives per year A failure every 2-3 weeks! • 1000 machines, each has 4 drives 2%*4000 = 80 drive failures A failure every 4-5 days!
Fault Tolerance: Measurement • Mean time before failure (MTTF) Inverse of annual failure rate In 2011, advertised failure rates of spinning disks – 0.5% (MTTF= 1.7*106 hours) – 0.9% ( MTTF= 106 hours) – Actual failure rates are often reported 2-4%.
• Mean Time To Repair (MTTR) is a basic measure of the maintainability of repairable items. It represents the average time required to repair a failed component or device Typically hours to days.
High Availability System Classes Availability %
Downtime per year Downtime per month Downtime per week
90% (“one nine”)
36.5 days
72 hours
16.8 hours
99% (“two nines”)
3.65 days
7.20 hours
1.68 hours
99.9% (“three nines”) 8.76 hours
43.2 minutes
10.1 minutes
99.99% (“four nines”) 52.56 minutes
4.32 minutes
1.01 minutes
99.999% (“five nines”) 5.26 minutes
25.9 seconds
6.05 seconds
99.9999% (“six nines”) 31.5 seconds
2.59 seconds
0.605 seconds
Gmail, Hosted Exchange target 3 nines (unscheduled) 2010: Gmail (99.984), Exchange (>99.9) UnAvailability ~ MTTR/MTBF Can cut it by reducing MTTR or increasing MTBF 4/14/2014
Anthony D. Joseph
CS162
©UCB Spring 2014
Lec 20.49
RAID (Redundant Array of Inexpensive Disks) • Multiple disk drives provide reliability via redundancy. Increases the mean time to failure • Hardware RAID with RAID controller vs software RAID
RAID (Cont.) • RAID multiple disks work cooperatively Improve reliability by storing redundant data Improve performance with disk striping (use a group of disks as one storage unit) • RAID is arranged into six different levels Mirroring (RAID 1) keeps duplicate of each disk Striped mirrors (RAID 1+0) or mirrored stripes (RAID 0+1) provides high performance and high reliability Block interleaved parity (RAID 4, 5, 6) uses much less redundancy
RAID Level 0 • • • • •
Level 0 is nonredundant disk array Files are striped across disks, no redundant info High read throughput Best write throughput (no redundant info to write) Any disk failure results in data loss
RAID Level 1 • Mirrored Disks • Data is written to two places
On failure, just use surviving disk and easy to rebuild • On read, choose fastest to read
Write performance is same as single drive, read performance is 2x better • Expensive (high space overhead)
RAID 1: Mirroring • Replicate writes to both disks • Reads can go to either disk
RAID 5 •Files are striped as blocks. •Blocks are distributed among disks. •Parity blocks are added
Parity Block for Failure Recovery • Parity block: Block1 xor block2 xor block3 … 10001101 block1 01101100 block2 11000110 block3 -------------00100111 parity block • Can reconstruct any missing block from the others Assume block 3 is lost – Block3 = block1 xor block 2 xor Parity – = 10001101 xor 01101100 xor 00100111
RAID 5: Rotating Parity
RAID Update • Mirroring Write every mirror • RAID-5: to write one block Read old data block Read old parity block Write new data block Write new parity block – Old data xor old parity xor new data
• RAID-5: to write entire stripe Write data blocks and parity
RAID Summary • Replicate data for availability RAID 0: no replication RAID 1: mirror data across two or more disks – Google File System replicated its data on three disks, spread across multiple racks
RAID 5: split data across disks, with redundancy to recover from a single disk failure RAID 6: RAID 5, with extra redundancy to recover from two disk failures
6 RAID Levels
RAID Level 0+1 • Stripe on a set of disks • Then mirror of data blocks is striped on the second set.
Stripe 0
Stripe 1
Stripe 4
Stripe 5
Stripe 8
Stripe 9
Stripe 2 Stripe 6
data disks
Stripe 3
Stripe 0
Stripe 1
Stripe 7
Stripe 4
Stripe 5
Stripe 8
Stripe 2 Stripe 6 Stripe 9
mirror copies
Stripe 3 Stripe 7
RAID Level 1+0 • Pair mirrors first. • Then stripe on a set of paired mirrors • Better reliability than RAID 0+1
Stripe 0
Stripe 0
Stripe 4
Stripe 4
Stripe 8
Stripe 8
Stripe 2
Stripe 2
Stripe 6
Stripe 6
Stripe 10
Stripe 10
Stripe 3
Stripe 3
Stripe 7
Stripe 7
Stripe 11
Stripe 11
Mirror pair
Stripe 1 Stripe 5 Stripe 9
Stripe 1 Stripe 5 Stripe 9
Mass-Storage Systems: Summary • Structure of mass-storage devices and the resulting effects on the uses of the devices Hard Disk Drive: high seek cost SSD: fast seek time, but more expensive Hybrid Disk • Performance characteristics and management of mass-storage devices Disk Scheduling in HDD • RAID – improve performance/reliability for higher availability MTTF, MTTR RAID 0, RAID 1, RAID 1+0, RAID 5