GPUguard: Towards Supporting a Predictable Execution Model for Heterogeneous SoC
Björn Forsberg1,a, Andrea Marongiu1,2,b and Luca Benini1,2,c
1Swiss Federal Institute of Technology Zürich.
abjoernf@iis.ee.ethz.ch
ba.marongiu@iis.ee.ethz.ch
clbenini@iis.ee.ethz.ch
2University of Bologna
ABSTRACT
The deployment of real-time workloads on commercial off-the-shelf (COTS) hardware is attractive, as it reduces the cost and time-to-market of new products. Most modern high-end embedded SoCs rely on a heterogeneous design, coupling a general-purpose multi-core CPU to a massively parallel accelerator, typically a programmable GPU, sharing a single global DRAM. However, because of non-predictable hardware arbiters designed to maximize average or peak performance, it is very difficult to provide timing guarantees on such systems. In this work we present our ongoing work on GPUguard, a software technique that predictably arbitrates main memory usage in heterogeneous SoCs. A prototype implementation for the NVIDIA Tegra TX1 SoC shows that GPUguard is able to reduce the adverse effects of memory sharing, while retaining a high throughput on both the CPU and the accelerator.