Name: comanche
Owner: International Business Machines
Description: comanche
Created: 2017-10-03 15:40:15.0
Updated: 2018-05-17 16:37:18.0
Pushed: 2018-05-24 03:40:22.0
Homepage: null
Size: 5691
Language: C
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Framework for user-level compositional storage systems development. See wiki for more information.
NOTE: Comanche is in its early stages of development and while we welcome collaboration from the open source community, this effort is not for the faint hearted and requires a certain level of systems expertise.
Comanche currently uses DPDK/SPDK. You should install and test this first (see dpdk/usertools/dpdksetup.sh). Note, it is possible to run in a virtual machine (using UIO) but you will need to run your programs as root.
eps
stall-apts.sh
tch-deps.sh
togen.py (run this once to generate .cmakeinclude files in subdirectories)
e .
Load modules (XMS) and attach NVMe devices to SPDK
./load-module.sh
./tools/nvme_setup.sh /* optionally attach ALL Nvme devices to VFIO */
e .
Build components in debug mode (e.g., with asan)
e -DCMAKE_BUILD_TYPE=Debug .
Other build options:
e -DCMAKE_BUILD_TYPE=ASAN .
e -DCMAKE_BUILD_TYPE=Release .
e -DCMAKE_BUILD_TYPE=NOOPT .
Prepare to run (use tools scripts)
SPDK/DPDK requires huge pages e.g. # echo 2000 > /proc/sys/vm/nr_hugepages
Software
Ubuntu 16.04.3 LTS (x86_64)
gcc 5.4
clang 3.8.0
Hardware
Intel x86
Intel PC3700 and P4800X NVMe SSD
Samsung P1725a SSD
Change compiler preference on Ubuntu with:
o update-alternatives --config c++'
o update-alternatives --config cc'
DPDK
rt EXTRA_CFLAGS='-O0 -g'
SPDK
IG_DEBUG=y (command line or CONFIG file)
C++ style guide - https://genode.org/documentation/developer-resources/coding_style