Resource Elastic Dynamic Stream Processing on FPGAs Exemplified on Database Acceleration

Student thesis: Phd


While FPGAs are becoming mainstream in the deployment of datacenters and cloud systems, they are mostly used as updatable ASICs. This thesis shows that it is feasible to achieve acceleration for runtime-only known problems using dynamically built stream processing pipelines if we efficiently exploit the given FPGA resources and utilize additional techniques such as resource elasticity. To achieve this, the requirements for stream processing accelerators are researched and an efficient dynamic stream processing protocol is proposed. Exemplifying our approach to database query processing due to its key importance in the Big Data era, a module library of the most used database operators is built. For this purpose, design factors for building scalable streaming accelerators are discussed and efficient accelerators for filter, sort, and join are proposed. Accelerators are fully decoupled from the external infrastructure through a partially reconfigurable generic DMA module that converts standard AXI interfaces into the proposed streaming protocol. To improve the flexibility and throughput of the proposed system, resource elastic techniques are discussed and applied to key accelerators. This allows a runtime scheduler to fully tailor the execution pipeline to the runtime-only known problem and available FPGA resources. The performance and overheads in the prototyped system are evaluated and show that our approach is beneficial for FPGA acceleration. Overall, with these contributions, this thesis shows stream processing acceleration achieved by execution pipelines that are adapting, through using resource elasticity, to the problem and available resources at runtime.
Date of Award1 Aug 2022
Original languageEnglish
Awarding Institution
  • The University of Manchester
SupervisorJames Garside (Supervisor) & Dirk Koch (Supervisor)


  • Resource Elastic
  • Partial Reconfiguration
  • FPGA
  • Database Acceleration

Cite this