_, ,_____, __ __,_ __ ___ __
/ | / ( ( / ( ( / ( ( / )
/--| / `. / `. /--' / / /
_/ |(___/(___(/___/ (___/ _/_/ (_
Tested on Ubuntu 15.04 with Linux kernel 3.19.0-47
Includes:
- spindrv kernel module
- libspin LD_PRELOAD library
- patched nvme module
Make sure no NVME FS are mounted unload the nvme module
In spindrv:
$ make
$ sudo make install
In spinnvme
$ make
$ sudo insmod nvme.ko
In libspin
$ make
Then run applications which utilize pread64 with LD_PRELOAD=<libspin.so> command
NOTE: This is an experimental POC and is provided AS IS. Feel free to use/modify/distribute, If used, please retain this disclaimer and cite
"SPIN: Seamless Operating System Integration of Peer-to-Peer DMA Between SSDs and GPUs", Bergman S, Brokhman T, Cohen T, Silberstein M. USENUX ATC 17, July 2017, Santa Clara, USA