A High-performance, Energy-efficient Modular DMA Engine Architecture


Loading...

Date

2024-01

Publication Type

Journal Article, Journal Article

ETH Bibliography

yes

Citations

Altmetric

Data

Abstract

Data transfers are essential in today's computing systems as latency and complex memory access patterns are increasingly challenging to manage. Direct memory access engines (DMAEs) are critically needed to transfer data independently of the processing elements, hiding latency and achieving high throughput even for complex access patterns to high-latency memory. With the prevalence of heterogeneous systems, DMAEs must operate efficiently in increasingly diverse environments. This work proposes a modular and highly configurable open-source DMAE architecture called intelligent DMA (iDMA), split into three parts that can be composed and customized independently. The front-end implements the control plane binding to the surrounding system. The mid-end accelerates complex data transfer patterns such as multi-dimensional transfers, scattering, or gathering. The back-end interfaces with the on-chip communication fabric (data plane). We assess the efficiency of iDMA in various instantiations: In high-performance systems, we achieve speedups of up to 15.8x with only 1 % additional area compared to a base system without a DMAE. We achieve an area reduction of 10 % while improving ML inference performance by 23 % in ultra-low-energy edge AI systems over an existing DMAE solution. We provide area, timing, latency, and performance characterization to guide its instantiation in various systems.

Publication status

published

Editor

Book title

Volume

73 (1)

Pages / Article No.

263 - 277

Publisher

IEEE

Event

Edition / version

Methods

Software

Geographic location

Date collected

Date created

Subject

DMA; DMAC; Direct Memory Access; Memory Systems; High-performance; Energy-efficiency; Edge AI; AXI; TileLink

Organisational unit

03996 - Benini, Luca / Benini, Luca check_circle

Notes

Funding

101036168 - European Processor Initiative (EPI) SGA2 (EC)
101034126 - Pilot using Independent Local & Open Technologies (EC)

Related publications and datasets