Litcius/Paper detail

A High-Performance, Energy-Efficient Modular DMA Engine Architecture

Thomas Benz, Michael Rogenmoser, Paul Scheffler, Samuel Riedel, Alessandro Ottaviano, Andreas Kurth, Torsten Hoefler, Luca Benini

2023IEEE Transactions on Computers32 citationsDOI

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.8 <inline-formula><tex-math notation="LaTeX">$\boldsymbol{\times}$</tex-math></inline-formula> 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.

Topics & Concepts

Computer scienceModular designLatency (audio)Efficient energy useForwarding planeEmbedded systemDistributed computingComputer architectureData accessComputer networkOperating systemTelecommunicationsEngineeringProgramming languageElectrical engineeringNetwork packetAdvanced Neural Network ApplicationsParallel Computing and Optimization TechniquesAdvanced Data Storage Technologies