CS 136 Advanced Architecture Storage CS 136 Case

  • Slides: 37
Download presentation
CS 136, Advanced Architecture Storage CS 136

CS 136, Advanced Architecture Storage CS 136

Case for Storage • Shift in focus from computation to communication and storage of

Case for Storage • Shift in focus from computation to communication and storage of information – E. g. , Cray Research/Thinking Machines vs. Google/Yahoo – “The Computing Revolution” (1960 s to 1980 s) ⇒“The Information Age” (1990 to today) • Storage emphasizes reliability, scalability, and cost/performance • What is “software king” that determines which HW features actually used? – Compiler for processor – Operating system for storage • Also has own performance theory—queuing theory—balances throughput vs. response time CS 136 2

Outline • Magnetic Disks • RAID • Advanced Dependability/Reliability/Availability CS 136 3

Outline • Magnetic Disks • RAID • Advanced Dependability/Reliability/Availability CS 136 3

Disk Figure of Merit: Areal Density • Bits recorded along a track – Metric

Disk Figure of Merit: Areal Density • Bits recorded along a track – Metric is Bits Per Inch (BPI) • Number of tracks per surface – Metric is Tracks Per Inch (TPI) • Disk designs brag about bit density per unit area – Metric is Bits Per Square Inch: Areal Density = BPI x TPI CS 136 4

Historical Perspective • 1956 IBM Ramac — early 1970 s Winchester – Developed for

Historical Perspective • 1956 IBM Ramac — early 1970 s Winchester – Developed for mainframe computers, proprietary interfaces – Steady shrink in form factor: 27 in. to 14 in. • Form factor and capacity drives market more than performance • 1970 s developments – 8”, 5. 25” floppy disk form factor (microcode into mainframe) – Emergence of industry-standard disk interfaces • Early 1980 s: PCs and first-generation workstations • Mid 1980 s: Client/server computing – Centralized storage on file server » Accelerates disk downsizing: 8 -inch to 5. 25 – Mass-market disk drives become a reality » Industry standards: SCSI, IPI, IDE » 5. 25 -inch to 3. 5 inch-drives for PCs, End of proprietary interfaces • 1990 s: Laptops => 2. 5 -inch drives • 2000 s: What new devices leading to new drives? CS 136 5

Future Disk Size and Performance • Continued advance in capacity (60%/yr) and bandwidth (40%/yr)

Future Disk Size and Performance • Continued advance in capacity (60%/yr) and bandwidth (40%/yr) • Slow improvement in seek, rotation (8%/yr) • Time to read whole disk: Year Sequential Random (1 sector/seek) 1990 4 minutes 6 hours 2000 12 minutes 1 week(!) 2006 56 minutes 3 weeks (SCSI) 2006 171 minutes 7 weeks (SATA) CS 136 6

Use Arrays of Small Disks? • Katz and Patterson asked in 1987: • Can

Use 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 3. 5” 5. 25” designs Low End 10” 14” High End Disk Array: 1 disk design 3. 5” CS 136 7

Advantages of Small-Form-Factor Disk Drives Low cost/MB High MB/volume High MB/watt Low cost/Actuator Cost

Advantages of Small-Form-Factor Disk Drives Low cost/MB High MB/volume High MB/watt Low cost/Actuator Cost and Environmental Efficiencies CS 136 8

Replace Small Number of Large Disks with Large Number of Small Disks! (1988 Disks)

Replace Small Number of Large Disks with Large Number of Small Disks! (1988 Disks) IBM 3390 K IBM 3. 5" 0061 x 70 Capacity 20 GBytes 320 MBytes 23 GBytes 97 cu. ft. 0. 1 cu. ft. 11 cu. ft. 9 X Volume 3 KW 11 W 1 KW 3 X Power 15 MB/s 120 MB/s 8 X Data Rate 600 I/Os/s 55 I/Os/s 3900 IOs/s 6 X I/O Rate 250 KHrs ? ? ? Hrs MTTF $250 K $2 K $150 K Cost Disk arrays have potential for large data and I/O rates, high MB per cu. ft. , high MB per KW, but what about reliability? 9 CS 136

Array Reliability • Reliability of N disks = Reliability of 1 Disk ÷ N

Array Reliability • Reliability of N disks = Reliability of 1 Disk ÷ N 50, 000 Hours ÷ 70 disks = 700 hours Disk system MTTF: Drops from 6 years to 1 month! • Arrays (without redundancy) too unreliable to be useful! Hot spares support reconstruction in parallel with access: very high media availability can be achieved CS 136 10

Redundant Arrays of (Inexpensive) Disks • Files are "striped" across multiple disks • Redundancy

Redundant Arrays of (Inexpensive) Disks • Files are "striped" across multiple disks • Redundancy yields high data availability – Availability: service still provided to user, even if some components failed • Disks will still fail • Contents reconstructed from data redundantly stored in the array – Capacity penalty to store redundant info – Bandwidth penalty to update redundant info CS 136 11

RAID 1: Disk Mirroring/Shadowing recovery group • Each disk fully duplicated onto “mirror” –

RAID 1: Disk Mirroring/Shadowing recovery group • Each disk fully duplicated onto “mirror” – Can get very high availability • Lose bandwidth on write – Logical write = two physical writes • But reads can be optimized • Most expensive solution: 100% capacity overhead (RAID 2 not interesting, so skip) CS 136 12

RAID 3: Parity Disk 1010 11001001 10100101. . . logical record 1 1 0

RAID 3: Parity Disk 1010 11001001 10100101. . . logical record 1 1 0 1 Striped physical 1 0 records 0 0 P contains sum of 0 1 other disks per stripe 1 0 mod 2 (“parity”) 0 0 If disk fails, subtract 1 1 P from sum of other disks to find missing information CS 136 P 1 0 1 0 1 1 0 0 0 1 1 0 13

RAID 3 • Sum computed across recovery group to protect against hard-disk failures –

RAID 3 • Sum computed across recovery group to protect against hard-disk failures – Stored in P disk • Logically, single high-capacity, high-transfer-rate disk – Good for large transfers • Wider arrays reduce capacity costs – But decrease availability • 3 data disks and 1 parity disk ⇒ 33% capacity cost CS 136 14

Inspiration for RAID 4 • RAID 3 relies on parity disk to spot read

Inspiration for RAID 4 • RAID 3 relies on parity disk to spot read errors • But every sector has own error detection – So use disk’s own error detection to catch errors – Don’t have to read parity disk every time • Allows simultaneous independent reads to different disks – (If striping is done on per-block basis) CS 136 15

RAID 4: High-I/O-Rate Parity Insides of 5 disks Example: small read D 0 &

RAID 4: High-I/O-Rate Parity Insides of 5 disks Example: small read D 0 & D 5, large write D 12 -D 15 CS 136 D 0 D 1 D 2 D 3 P D 4 D 5 D 6 D 7 P D 8 D 9 D 10 D 11 P D 12 D 13 D 14 D 15 P D 16 D 17 D 18 D 19 P D 20 D 21 D 22 D 23 P . . Columns. . Disk. Increasing Logical Disk Address Stripe 16

Inspiration for RAID 5 • RAID 4 works well for small reads • Small

Inspiration for RAID 5 • RAID 4 works well for small reads • Small writes (write to one disk) problematic: – Option 1: read other data disks, create new sum and write to Parity Disk – Option 2: since P has old sum, compare old data to new data, add the difference to P • Small writes limited by parity disk: Writes to D 0, D 5 must both also write to P disk CS 136 D 0 D 1 D 2 D 3 P D 4 D 5 D 6 D 7 P 17

RAID 5: High-I/O-Rate Interleaved Parity Independent writes possible because of interleaved parity Example: write

RAID 5: High-I/O-Rate Interleaved Parity Independent writes possible because of interleaved parity Example: write to D 0, D 5 uses disks 0, 1, 3, 4 CS 136 D 0 D 1 D 2 D 3 P D 4 D 5 D 6 P D 7 D 8 D 9 P D 10 D 11 D 12 P D 13 D 14 D 15 P D 16 D 17 D 18 D 19 D 20 D 21 D 22 D 23 P . . Disk Columns. . . Increasing Logical Disk Addresses 18

Problems of Disk Arrays: Small Writes RAID-5: Small-Write Algorithm 1 Logical Write = 2

Problems of Disk Arrays: Small Writes RAID-5: Small-Write Algorithm 1 Logical Write = 2 Physical Reads + 2 Physical Writes D 0' new data D 0 D 1 D 2 D 3 old data (1. Read) P old (2. Read) parity + XOR (3. Write) D 0' CS 136 D 1 (4. Write) D 2 D 3 P' 19

RAID 6: Recovering From 2 Failures • Why > 1 failure recovery? – Operator

RAID 6: Recovering From 2 Failures • Why > 1 failure recovery? – Operator accidentally replaces wrong disk during failure – Since disk bandwidth is growing more slowly than capacity, 1 disk MTTR increasing in RAID systems » Increases chance of 2 nd failure during repair – Reading more data during reconstruction means increasing chance of (second) uncorrectable media failure » Would result in data loss CS 136 20

RAID 6: Recovering From 2 Failures • Network Appliance’s row diagonal parity (RAIDDP) •

RAID 6: Recovering From 2 Failures • Network Appliance’s row diagonal parity (RAIDDP) • Still uses per-stripe parity – Needs two check blocks per stripe to handle double failure – If p+1 disks total, p-1 disks have data; assume p=5 • Row-parity disk just like in RAID 4 – Even parity across other 4 data blocks in stripe • Each block of diagonal parity disk contains even parity of blocks in same diagonal CS 136 21

Example (p = 5) • Starts by recovering one of the 4 blocks on

Example (p = 5) • Starts by recovering one of the 4 blocks on the failed disk using diagonal parity – Since each diagonal misses one disk, and all diagonals miss a different disk, 2 diagonals are only missing 1 block • Once those blocks are recovered, standard scheme recovers two more blocks in standard RAID-4 stripes • Process continues until two failed disks are fully restored CS 136 Data Disk 0 Data Disk 1 Data Disk 2 Data Disk 3 Row Parity Diagona l Parity 0 1 2 3 … … 1 2 3 4 … … 2 3 4 0 … … 3 4 0 1 … … 4 0 1 2 … … 0 1 2 3 … … 22

Berkeley History: RAID-I • RAID-I (1989) – Consisted of Sun 4/280 workstation with 128

Berkeley History: RAID-I • RAID-I (1989) – Consisted of Sun 4/280 workstation with 128 MB of DRAM, four dual-string SCSI controllers, 28 5. 25 -inch SCSI disks and specialized disk striping software • Today RAID is $24 billion dollar industry, 80% non-PC disks sold in RAIDs CS 136 23

Summary: Goal Was Performance, Popularity Due to Reliability • Disk mirroring (RAID 1) –

Summary: Goal Was Performance, Popularity Due to Reliability • Disk mirroring (RAID 1) – Each disk fully duplicated onto “shadow” – Logical write = two physical writes – 100% capacity overhead • Parity bandwidth array (RAID 3) – Parity computed horizontally – Logically a single high-BW disk 1 0 0 1 1 1 0 0 1 1 0 0 1 0 • High I/O-rate array (RAID 5) – Interleaved parity blocks – Independent reads & writes – Logical write = 2 reads + 2 writes CS 136 24

Definitions • Precise definitions are important for reliability • Is a programming mistake a

Definitions • Precise definitions are important for reliability • Is a programming mistake a fault, an error, or a failure? – Are we talking about when the program was designed or when it is run? – If the running program doesn’t exercise the mistake, is it still a fault/error/failure? • If alpha particle hits DRAM cell, is it fault/error/failure if value doesn’t change? – How about if nobody accesses the changed bit? – Did fault/error/failure still occur if memory had error correction and delivered corrected value to CPU? CS 136 25

IFIP Standard Terminology • Computer system dependability: quality of delivered service such that we

IFIP Standard Terminology • Computer system dependability: quality of delivered service such that we can rely on it • Service: observed actual behavior seen by other system(s) interacting with this one’s users • Each module has ideal specified behavior – Service specification: agreed description of expected behavior CS 136 26

IFIP Standard Terminology (cont’d) • System failure: occurs when actual behavior deviates from specified

IFIP Standard Terminology (cont’d) • System failure: occurs when actual behavior deviates from specified behavior • Failure caused by error, a defect in a module • Cause of an error is a fault • When fault occurs it creates latent error, which becomes effective when it is activated • Failure is when error affects delivered service – Time from error to failure is error latency CS 136 27

Fault v. (Latent) Error v. Failure • Error is manifestation in the system of

Fault v. (Latent) Error v. Failure • Error is manifestation in the system of a fault, failure is manifestation on the service of an error • If alpha particle hits DRAM cell, is it fault/error/failure if it doesn’t change the value? – How about if nobody accesses the changed bit? – Did fault/error/failure still occur if memory had error correction and delivered corrected value to CPU? • • Alpha particle hitting DRAM can be a fault If it changes memory, it creates an error Error remains latent until affected memory is read If error affects delivered service, a failure occurs CS 136 28

Fault Categories 1. Hardware faults: Devices that fail, such alpha particle hitting a memory

Fault Categories 1. Hardware faults: Devices that fail, such alpha particle hitting a memory cell 2. Design faults: Faults in software (usually) and hardware design (occasionally) 3. Operation faults: Mistakes by operations and maintenance personnel 4. Environmental faults: Fire, flood, earthquake, power failure, and sabotage CS 136 29

Faults Categorized by Duration 1. Transient faults exist for a limited time and don’t

Faults Categorized by Duration 1. Transient faults exist for a limited time and don’t recur 2. Intermittent faults cause system to oscillate between faulty and fault-free operation 3. Permanent faults don’t correct themselves over time CS 136 30

Fault Tolerance vs Disaster Tolerance • Fault Tolerance (or more properly, Error Tolerance): mask

Fault Tolerance vs Disaster Tolerance • Fault Tolerance (or more properly, Error Tolerance): mask local faults (prevent errors from becoming failures) – RAID disks – Uninterruptible Power Supplies – Cluster failover • Disaster Tolerance: masks site errors (prevent site errors from causing service failures) – Protects against fire, flood, sabotage, . . – Redundant system and service at remote site – Use design diversity CS 136 31

Case Studies - Tandem Trends Reported MTTF by Component SOFTWARE HARDWARE MAINTENANCE OPERATIONS ENVIRONMENT

Case Studies - Tandem Trends Reported MTTF by Component SOFTWARE HARDWARE MAINTENANCE OPERATIONS ENVIRONMENT 1985 2 29 45 99 142 1987 53 91 162 171 214 1990 33 310 409 136 346 Years Years SYSTEM 8 20 21 Problem: Systematic Under-reporting Years From Jim Gray’s “Talk at UC Berkeley on Fault Tolerance " 11/9/00 CS 136 32

Is Maintenance the Key? • Rule of Thumb: Maintenance 10 X HW – so

Is Maintenance the Key? • Rule of Thumb: Maintenance 10 X HW – so over 5 year product life, ~ 95% of cost is maintenance • VAX crashes ’ 85, ’ 93 [Murp 95]; extrap. to ’ 01 • Sys. Mgt. : N crashes/problem ⇒ sysadmin action – Actions: set params bad, bad config, bad app install • HW/OS 70% in ’ 85 to 28% in ’ 93. In ’ 01, 10%? CS 136 33

HW Failures in Real Systems: Tertiary Disks • Cluster of 20 PCs in seven

HW Failures in Real Systems: Tertiary Disks • Cluster of 20 PCs in seven racks, running Free. BSD • 96 MB DRAM each • 368 8. 4 GB, 7200 RPM, 3. 5 -inch IBM disks • 100 Mbps switched Ethernet CS 136 34

Does Hardware Fail Fast? 4 of 384 Disks That Failed in Tertiary Disk CS

Does Hardware Fail Fast? 4 of 384 Disks That Failed in Tertiary Disk CS 136 35

High-Availability System Classes Goal: Build Class-6 Systems Unavailable System Type (min/year) Unmanaged 50, 000

High-Availability System Classes Goal: Build Class-6 Systems Unavailable System Type (min/year) Unmanaged 50, 000 Managed 5, 000 Well Managed 500 Fault Tolerant 50 High-Availability 5 Very-High-Availability. 5 Ultra-Availability. 05 Availability Class 90. % 99. 9% 99. 999% 99. 99999% 1 2 3 4 5 6 7 Unavailability = MTTR/MTBF can cut in half by cutting MTTR or MTBF From Jim Gray’s “Talk at UC Berkeley on Fault Tolerance " 11/9/00 CS 136 36

How Realistic is "5 Nines"? • HP claims HP-9000 server HW and HP-UX OS

How Realistic is "5 Nines"? • HP claims HP-9000 server HW and HP-UX OS can deliver 99. 999% availability guarantee “in certain pre-defined, pre-tested customer environments” – Application faults? – Operator faults? – Environmental faults? • Collocation sites (lots of computers in 1 building on Internet) have – 1 network outage per year (~1 day) – 1 power failure per year (~1 day) • Microsoft Network unavailable recently for a day due to problem in Domain Name Server – If only outage in year, 99. 7% or 2 Nines CS 136 37