shengwenliang / FastPath_MP

FastPath_MP: An FPGA-based multi-path architecture for direct access from FPGA to NVMe SSD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FastPath_MP

Description

This repository stores the source code of FastPath_MP, an FPGA-based multi-path architecture for direct access from FPGA to NVMe SSD. In particular it includes three modules:

  • The FastPath_MP FPGA architecture implemented in fpga-design.
  • The libfnvme library that implements the C-based API that applications can utilize to communicate with FastPath_MP.
  • The modified NVMe driver in the Linux kernel (linux-4.4-zynq) for the Xilinx Zynq 7000 SoC.

License

The three modules of FastPath_MP are licensed as follows:

Module License
FastPath_MP FPGA Design License
Libfnvme Library License
Modified NVMe driver License: GPL v2

Acknowledgements

This work was partially supported by EU Horizon 2020 grants: (i) EuroEXA (ID: 754337); and (ii) E2Data (ID: 780245) with hardware platforms from Kaleao Limited. A. Stratikopoulos was funded by an Arm Ltd. & EPSRC iCASE PhD Scholarship during this work. Prof. Mikel Luján is funded by an Arm/RAEng Research Chair Award and a Royal Society Wolfson Fellowship.

Citation

If you are using FastPath_MP, please use the following citation:

@article{10.1145/3423134,
author = {Stratikopoulos, Athanasios and Kotselidis, Christos and Goodacre, John and Luj\'{a}n, Mikel},
title = {{FastPath\_MP: Low Overhead \& Energy-Efficient FPGA-Based Storage Multi-Paths}},
year = {2020},
issue_date = {December 2020},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {17},
number = {4},
journal = {ACM Trans. Archit. Code Optim.},
issn = {1544-3566},
url = {https://doi.org/10.1145/3423134},
doi = {10.1145/3423134}
}

About

FastPath_MP: An FPGA-based multi-path architecture for direct access from FPGA to NVMe SSD


Languages

Language:C 96.7%Language:Assembly 1.8%Language:C++ 0.8%Language:Makefile 0.3%Language:Perl 0.1%Language:Objective-C 0.1%Language:Shell 0.1%Language:Python 0.1%Language:Yacc 0.0%Language:Bluespec 0.0%Language:SmPL 0.0%Language:Lex 0.0%Language:Roff 0.0%Language:Awk 0.0%Language:GDB 0.0%Language:UnrealScript 0.0%Language:Gherkin 0.0%Language:Raku 0.0%Language:M4 0.0%Language:XS 0.0%Language:Clojure 0.0%