A High-performance, Energy-efficient Modular DMA Engine Architecture
OPEN ACCESS
Loading...
Author / Producer
Date
2024-01
Publication Type
Journal Article, Journal Article
ETH Bibliography
yes
Citations
Altmetric
OPEN ACCESS
Data
Rights / License
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.
Permanent link
Publication status
published
External links
Editor
Book title
Journal / series
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
Notes
Funding
101036168 - European Processor Initiative (EPI) SGA2 (EC)
101034126 - Pilot using Independent Local & Open Technologies (EC)
101034126 - Pilot using Independent Local & Open Technologies (EC)