Design Automation for Embedded Systems

, Volume 17, Issue 3, pp 739–769

Self-aware Memory: an adaptive memory management system for upcoming manycore architectures and its decentralized self-optimization process

Article

DOI: 10.1007/s10617-014-9153-6

Cite this article as:
Mattes, O. & Karl, W. Des Autom Embed Syst (2013) 17: 739. doi:10.1007/s10617-014-9153-6
  • 163 Downloads

Abstract

The number of cores per processor has been increased on and on in recent years. Carrying on with that, manycore processor systems will be the future system structure, and even within range for usage in desktop or mobile systems. But today’s manycore processors are primarily designed for high performance applications. Access to the external memory from the individual cores is avoided. As yet the system memory commonly consists of only one or a few memory components and offers access over a small number of controllers. This leads to congestion, inefficient memory assignment and the scalability of the memory is limited. However, there will be additional new scenarios, with multiple concurrently running dynamic applications, changing I/O characteristics and a not predictable memory usage in the near future. Highly dynamic workloads with varying memory usage have to be utilized. Consequently, the memory management must become more flexible and distributed in nature. Moreover, dynamic memory allocation will be a necessity, and a transparent optimization of the physical memory resource utilization can be done with integrated self-organization mechanisms, e.g. for locality, load distribution or energy efficiency issues. The autonomous self-optimizing memory architecture Self-aware Memory satisfies all these challenges with a scalable pooling of fully-decentralized interacting memory components. With it, flexible, reliable and scalable memory management is available. Access to private and shared memory is enabled in a flexible way and efficient synchronization mechanism are offered while contemporaneously providing comfortable usage and supporting well-known programming mechanisms. The presented evaluation addresses the parameters of the included self-optimization mechanism and their impact on the optimization. The results show that the overhead of the decentralized optimization process is amortized by the optimized runtime using the appropriate parameter settings.

Keywords

Optimization Adaptation Memory management  Self-aware Memory (SaM) Manycore systems Scalability 

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.Institute of Computer Science & Engineering (ITEC)Karlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations