Score
0
Watch 3 Star 8 Fork 2

OpenCloudNeXt / DHLCMulanPSL-1.0

Clone or download
README.en.md
Copy Edit Web IDE Raw Normal History
Yipei   build repo 2019-08-18
# [DHL][dhl]
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
DHL (Dynamic Hardware Function Libraries) is a high performance FPGA-CPU co-design framework for accelerating software NFs (Network Functions) with [Intel DPDK][dpdk]. 
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
# About
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
DPDK is capable of manipulating the network traffic at line-rate of 40 ~ 100 Gbps, for the network functions like L2-forward and L3-forward. That indeed improves the power of software NFs, however, when it comes to the complicated NFs containing computation-intensive operations, like IPsec gateway, the only-DPDK/only-CPU solution is facing the price of a lot of CPU cores. On the other hand, owing to its high concurrency and programmability, there are a lot of works implement NFs in FPGA. However, the programmable logic blocks on an FPGA board are very limited and expensive. Deploying the entire NF on FPGA is thus resource-demanding. Further, FPGA needs to be reprogrammed when the NF logic changes which can take hours to synthesize the code to generate new programs, hindering the rapid deployment of NFs. 
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
Under this circumstances, it calls for DHL framework which flexibly offloads server cycles of computation-intensive to FPGA gates. DHL framework abstracts accelerator modules in FPGA as a hardware function library, and provides a set of transparent APIs for software developers. Moreover, DHL framework provides orchestration and management of different accelerator modules (hardware functions) among multiple FPGA cards.
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
If you are interested in DHL framework, detailed description can be got in our [ICDCS 2018][icdcs2018] paper.
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
# InstallationTo install DHL, please see the [DHL Installation][install] guide for a specific walkthrough.
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
# Using DHL framework1. Software NF developing
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
	DHL comes with several [sample network functions][examples]. 	To get started with these examples, please see the [Example Uses][examples_doc] guide.	2. Hardware Accelerator module developing
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
	There are two pre-designed hardware accelerator modules (ipsec-crypto and pattern-matching) along with DHL framework. 	Of course, you can customize your own accelerator module based on the requirement of your software NF. 	Please see the [Customizing Hardware Accelerator][customizing_hw_acc] guide for detailed information.
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
# Citing DHLIf you use DHL in your work, please cite our paper:```@inproceedings{Li2018DHL,  title={DHL: Enabling Flexible Software Network Functions with FPGA Acceleration},  author={Li, Xiaoyao and Wang, Xiuxiu and Liu, Fangming and Xu, Hong},  booktitle={Distributed Computing Systems (ICDCS), 2018 IEEE 38th International Conference on},  year={2018},  organization={IEEE}}```
OpenCloudNext_Admin   Initial commit 2019-08-18
Yipei   build repo 2019-08-18
_Please inform us if you use DHL in you research by [emailing us](mailto:fmliu@hust.edu.cn)._
Yipei   add url 2019-08-18
[dhl]: https://gitee.com/opencloudnext/DHL 
Yipei   build repo 2019-08-18
[dpdk]: http://dpdk.org/[icdcs2018]: http://grid.hust.edu.cn/fmliu/icdcs18-DHL-FPGA-FangmingLiu.pdf[install]: docs/Install.md[examples]: examples/[examples_doc]: docs/Examples.md
Yipei   add url 2019-08-18
[customizing_hw_acc]: docs/Customizing_hardware_accelerator.md