Accelerating Linux Bash Commands on FPGAs Using Partial Reconfiguration

Conference: FSP 2017 - Fourth International Workshop on FPGAs for Software Programmers
09/07/2017 at Ghent, Belgium

Proceedings: Fourth International Workshop on FPGAs for Software Programmers (FSP 2017)

Pages: 7Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Authors:
Horta, Edson; Shen, Xinzi; Pham, Khoa; Koch, Dirk (School of Computer Science, The University of Manchester, United Kingdom)

Abstract:
The Linux Operating System is used by a wide range of companies, mainly due to its security and stability. The latest FPGA devices, with embedded processors, allow the development of SoCs running this OS. One of the key features of FPGAs is their ability to change the hardware architecture while the system is running. It is possible to reconfigure one or more regions of the FPGA while the remainder continues to work. These partially reconfigurable regions inside the FPGA can be used to implement software functions, accelerating the execution time for the system. This work presents an FPGA system that provides the required interfaces to deploy Linux bash commands mapped directly into partially reconfigurable blocks of the FPGA. These commands can be executed in any order, thanks to a hardware interface, equivalent to the software pipe interface in Linux, implemented on the static region of the FPGA. The methodology presented in this paper allows the hardware implementations of commands that can be directly interfaced to the std_in and std_out inside the FPGA. This integration is executed in a very flexible manner according to the currently called bash command. This approach can be used to improve the performance of Linux applications through the use of hardware accelerated bash commands. Moreover, this approach is providing a template that will make hardware and software integration very easy.