110 likes | 127 Views
Learn about RAMA, a network file system using fixed size lines for data allocation, employing parity for fault tolerance, and addressing overflow challenges. Discover how write operations are optimized for efficiency and the implications for system scalability.
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?