Skip to content

szn-cs/cs739-p1-distributed-fs

Repository files navigation

WiscFS [cs739-p1-distributed-fs]

AFS-like Distributed FS project based on https://github.com/ligurio/unreliablefs. AFSv1: whole-file caching on local client machine.

  • OSTEP book: AFSv1 Protocol Highlights (Early version: caches only files, while directories are kept on the server) - check protobuf interface.

    • Update visibility; Cache staleness
    • Provide consistency between processes on different machines
    • AFS semantics: Last writer/closer winds approach for race conditions
  • P1 Instructions

  • build (adding AFS protocol based on RPC) on top of an existing FUSE filesystem unreliablefs

  • CloudLabs Ubuntu 20.04

Design Overview

Setup

  • execute ./script/provision.sh to setup repo and install dependencies
  • run script build.sh will result in binary files in ./target/release
  • run individual commands (copy & paste) in run.sh
  • run tests: filebench and consistency setups.

NOTE: run funcitons in script files using: . ./script/<scriptname>.sh && <functioname>

FUSE resources:

gRPC resources:

Protocal Buffers

Resoureces:

papers: