Direct Memory Access Optimization in Wireless Terminals for Reduced Memory Latency and Energy Consumption

Today, wireless networks are becoming increasingly ubiquitous. Usually several complex multi-threaded applications are mapped on a single embedded system and all of them are triggered by a single wireless stream (which corresponds to the dynamic run-time behavior of the user). It is almost impossible to analyze these systems fully at design-time. Therefore, run-time information has also to be used in order to produce an efficient design. This introduces new challenges, especially for embedded system designers using a Direct Memory Access (DMA) module, who have to know in advance the memory transfer behavior of the whole system, in order to design and program their DMA efficiently. In this paper, we propose a mixed Hardware/Software optimization at system level. More specifically, we propose to adapt DMA usage parameters automatically at run-time based on online information. With our proposed optimization approach we manage to reduce the mean latency of the memory transfers while optimizing energy consumption and system responsiveness. We evaluate our approach using a set of real-life applications and real wireless dynamic streams.

[1]  Axel Jantsch,et al.  Synthesis of DMA controllers from architecture independent descriptions of HW/SW communication protocols , 1999, Proceedings Twelfth International Conference on VLSI Design. (Cat. No.PR00013).

[2]  Mahmut T. Kandemir,et al.  Compiler-directed scratch pad memory hierarchy design and management , 2002, DAC '02.

[3]  Yongmin Kim,et al.  Data Cache and Direct Memory Access in Programming Mediaprocessors , 2001, IEEE Micro.

[4]  Tristan Henderson,et al.  The changing usage of a mature campus-wide wireless network , 2004, MobiCom '04.

[5]  Francky Catthoor,et al.  Template-Based Semi-Automatic Profiling of Multimedia Applications , 2006, 2006 IEEE International Conference on Multimedia and Expo.

[6]  Lieven Eeckhout,et al.  Quantifying the Impact of Input Data Sets on Program Behavior and its Applications , 2003, J. Instr. Level Parallelism.

[7]  Yuanyuan Zhou,et al.  DMA-aware memory energy management , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[8]  Erik Brockmeyer,et al.  A combined DMA and application-specific prefetching approach for tackling the memory latency bottleneck , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Bradford Nichols,et al.  Pthreads programming , 1996 .

[10]  J. C. Ebergen VLSI design , 1992, IEEE Des. Test Comput..

[11]  Luca Benini,et al.  Scenario-based SDRAM-Energy-Aware Scheduling for Dynamic Multi-Media Applications on Multi-Processor Platforms. , 2002 .

[12]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[13]  Sanjive Agarwala,et al.  A scalable high-performance DMA architecture for DSP applications , 2000, Proceedings 2000 International Conference on Computer Design.

[14]  Kai Li,et al.  Protected, user-level DMA for the SHRIMP network interface , 1996, Proceedings. Second International Symposium on High-Performance Computer Architecture.

[15]  Luca Benini,et al.  An integrated hardware/software approach for run-time scratchpad management , 2004, Proceedings. 41st Design Automation Conference, 2004..

[16]  Sumesh Udayakumaran,et al.  Compiler-decided dynamic memory allocation for scratch-pad based embedded systems , 2003, CASES '03.

[17]  Henk Corporaal,et al.  Intra-task scenario-aware voltage scheduling , 2005, CASES '05.