Skip to content

Bipinoli/distributed-file-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Distributed file system based on Frangipani paper

Frangipani paper (https://pdos.csail.mit.edu/6.824/papers/thekkath-frangipani.pdf)

This was part of our distributed systems course.

Some highlights:

  • File system operations based on FUSE (userspace filesystem framework in Linux)
  • Reliable RPC (at-least-once model with retransmission) with sequence number and sliding window approach
  • Separate lock server & extent server. The Lock server provides locks for concurrent filesystem operations, and the extent server keeps the directory tree & all the content.
  • Distributed lock implementation (lock server). Not session dependent i.e. a granter doesn't keep the state within (e.g. mutex, conditions) so it's independent of the granted.
  • Caching locks in the clients for efficiency
  • Replication of lock servers & keeping them in sync using replicated state machine approach(RSM)
  • Implemented basic paxos for consensus on view changes such as master failure, new nodes, etc. in RSM

About

Distributed file system based on Frangipani paper

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published