Author: Guillaume Michel
Master Semester project: Speeding up the Inter-Planetary File System
Laboratory: DEDIS, EPFL
Project Advisor: Prof. Bryan Ford
Project Supervisor: Cristina Basescu
Student: Guillaume Michel
Presentation slides
Project report
IPFS and IPFS Cluster configuration guide
This repository contains Cruxified IPFS, an implementation of Crux [1] applied on IPFS Cluster. Crux provides an upper bound to the interaction between any two nodes running IPFS, that is a small multiple of their RTT. This repository contains the interaction latency tests, that were performed on the platform Deterlab. I invite you to read the report for a better understanding.
First, make sure to have Go installed.
In order to generate a network topology, go to scripts/ and run the script detergen.sh. Then upload the output file deter.ns on the platform deterlab to create the simulated network, and swap in the experiment. Once the experiment is swapped in, you can run the script run.sh to start the measurement on the experiment. If you run the experiment locally, you shouldn't need to have installed ipfs nor ipfs-cluster, the prescript should install it on your machine. Feel free to contact me if you experience any issue.
Contains the data related to the current simulation.
Contains the code that generate a network topology to be deployed on deterlab.
Contains the code that generates ARAs, and create Onet trees for these.
Contains Cruxified IPFS client and performance tests.
Contains the source code and pdf of the report of the project.
Contains results of various simulation as well as tools to anaylze the results.
Contains the scripts used to run the simulation.
Contains the code used to interact with Onet, the Services, Protocols and IPFS configuration.
Contains the skeleton of the program.
[1] Cristina Basescu, Michael F. Nowlan, Kirill Nikitin, Jose M. Faleiro, and Bryan Ford. Crux: Locality-Preserving Distributed Services. May 2018. arXiv, cs.DC:1405.0637v2. https://arxiv.org/pdf/1405.0637.pdf.
Contact: guillaume.michel@epfl.ch