Understanding and Mitigating Memory Interference in FPGA-based HeSoCs

Gianluca Brillia, Alessandro Capotondib, Paolo Burgioc, Andrea Marongiud
University of Modena and Reggio Emilia, Italy
aGianluca.Brilli@unimore.it
bAlessandro.Capotondi@unimore.it
cPaolo.Burgio@unimore.it
dAndrea.Marongiu@unimore.it

ABSTRACT


Like most high-end embedded systems, FPGA-based systems-on-chip (SoC) are increasingly adopting heterogeneous designs, where CPU cores, the configurable logic and other ICs all share interconnect and main memory (DRAM) controller. This paradigm is scalable and reduces production costs and time-tomarket, but creates resource contention issues, which ultimately affects the programs’ timing. This problem has been widely studied on CPU- and GPU-based systems, along with strategies to mitigate such effects, but little has been done so far to systematically study the problem on FPGA-based SoCs. This work provides an in-depth analysis of memory interference on such systems, targeting two state-of-the-art commercial FPGA SoCs. We also discuss architectural support for Controlled Memory Request Injection (CMRI), a technique that has proven effective at reducing the bandwidth under-utilization implied by naive schemes that solve the interference problem by only allowing mutually exclusive access to the shared resources. Our experimental results show that: i) memory interference can slow down CPU tasks by up to 16× in the tested FPGA-based SoCs; ii) CMRI allows to exploit more than 40% of the memory bandwidth available to FPGA accelerators (normally completely unused in PREM-like schemes), keeping the slowdown due to interference below 10%.

Keywords: FPGA SoCs, Memory interference.



Full Text (PDF)