110 likes | 242 Views
What is new with RAMA?. Naomi Avigdor. Review. RAMA is a network file system Disks are divided into fixed size lines (rings) File blocks are hashed to a specific disk and a specific line on that disk No need to search inodes for file location
E N D
What is new with RAMA? Naomi Avigdor What is new with RAMA?
Review • RAMA is a network file system • Disks are divided into fixed size lines (rings) • File blocks are hashed to a specific disk and a specific line on that disk • No need to search inodes for file location • Files have parity protection for fault tolerance (optional) What is new with RAMA?
Overflow • When a line is full, the entire disk is full, regardless of data in other lines • What to do? Reserve overflow area on each disk • Simulation: • How full is the disk before overflow happens? • How much overflow area is needed? • Smaller / Larger systems? Any effect on overflow? What is new with RAMA?
Overflow Math C = capacity of each line N = number of disks * number of lines per disk T = total blks at ov point fullness = total blks at ov point / total space = T / N*C What is new with RAMA?
Explanation of Results What is new with RAMA?
Conclusions • Hash function is very good • 1 overflow line is sufficient What is new with RAMA?
What is parity? (single) Fault tolerance by creating a sum (mod2) of the data and saving it on another disk. Ex: d1 =3, d2=5, d3 = 2, d4 = 1 p = 3 xor 5 xor 2 xor 1 = 5 D1, d2, d3, d4, p, each reside on a different disk (why?) D1, d2, d3, d4, p, together are called a stripe If d3 is lost: restore d3 by D3 = p xor d1 xor d2 xor d4 = 5 xor 3 xor 5 xor 1 = 2 If d3 is changed: new p = old p xor old d3 xor new d3 or: new p = old d1 xor old d2 xor new d3 xor old d4 What is new with RAMA?
What happens on a write? If d3 is changed: Traditional: new p = old p xor old d3 xor new d3 Cost = read old p, read old d3, write new p, write new d3 = 2 reads + 2 writes RAMA: New p = read old d1, d2, d4, write new p, write new d3 = 3 reads + 2 writes What is new with RAMA?
What happens on a write (Cont.)? If d3, d4 are changed: Traditional: new p = repeat as before, two times Cost = 4 reads + 4 writes RAMA: New p = read old d1, d2, write new p, write new d3, write new d4 Cost = 2 reads, 3 write What is new with RAMA?
What happens on a write (Cont.)? If d1, d3, d4 are changed: Traditional: new p = repeat as before, three times Cost = 6 reads + 6 writes RAMA: New p = read old d2, write new p, write new d1, d3, d4 Cost = 1 reads, 4 write What is new with RAMA?
Conclusion – RAMA parity • Parity updates can be delayed without the data writes being delayed for more efficiency (since old data is not needed) • For applications where minimum changes are made to each stripe, RAMA may be slower. What is new with RAMA?