Scalable Multi-Queue Data Transfer Scheme for FPGA-Based Multi-Accelerators
Siavash Rezaei, Kanghee Kim, Eli Bozorgzadeh · 2018
In this paper, we present MQMAI, multi-queue command-based data transfer mechanism that enables efficient and scalable access to multiple accelerators on FPGA via PCIe. The proposed framework provides a user-friendly non-blocking API with enhanced I/O parallelism to access FPGA-based accelerators. MQMAI is composed of I/O software stack in host CPU and accelerator controller in FPGA. A round-robin policy is developed to allow efficient run-time access to shared accelerators requested through multiple threads/applications. Our experimental results show that our proposed framework reduces the total latency of multi accelerators access significantly compared to the current state-of-the-art framework, RIFFA, by 18x for 4 threads per accelerator access.