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.
This is a preview of subscription content, access via your institution.
Buy single article
Instant access to the full article PDF.
Tax calculation will be finalised during checkout.
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
Tax calculation will be finalised during checkout.
Becker J, Brändle K, Brinkschulte U, Henkel J, Karl W, Köster T, Wenz M, Wörn H (2006) Digital on-demand computing organism for real-time systems. In: ARCS Workshops, pp 230–245
Buchty R, Mattes O, Karl W (2008) Self-aware memory: managing distributed memory in an autonomous multi-master environment. In: Architecture of computing systems—ARCS 2008, Lecture Notes in Computer Science, vol 4934, pp 98–113
Duato J (2009) Beyond the power and memory walls: The role of HyperTransport in future system architectures. In: First international workshop on hypertransport research and applications (WHTRA)
Fleig T, Mattes O, Karl W (2014) Evaluation of adaptive memory management techniques on the Tilera TILE-Gx Platform. In: 11th workshop on parallel systems and algorithms (PASA 2014), Lübeck
Gries M, Hoffmann U, Konow M, Riepen M (2011) SCC: A flexible architecture for many-core platform research. Comput Sci Eng 13(6):79–83
Heinecke A, Klemm M, Bungartz H-J (2012) From GPGPU to many-core: nvidia fermi and intel many integrated core architecture. Comput Sci Eng 14(2):78–83
Kalray: KALRAYs MPPA (2013) (Multi-Purpose Processor Array). http://www.kalray.eu/products/mppa-manycore/
Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Comput Soc Press 36(1):41–50
Kramer D, Buchty R, Karl W (2011) Monitoring and self-awareness for heterogeneous, adaptive computing systems. In: Organic Computing - a paradigm shift for complex systems, autonomic systems, vol. 1. Springer, Basel, pp 163–177
Landwehr A, Zuckerman S, Gao GR (2013) Toward a Self-aware system for exascale architectures. In: CAPSL Technical Memo 123
Lee H, Cho S, Childers BR (2011) CloudCache: expanding and shrinking private caches. In: IEEE 17th international symposium on high performance computer architecture (HPCA), pp 219–230
Mathews G, Durrant-Whyte H, Prokopenko M (2007) Decentralized decision making for multiagent systems. In: Advances in applied self-organizing systems. Springer, London, pp 77–104
Mattes O (2013) An Autonomous self-optimizing memory system for upcoming manycore architectures. In: Proceedings of the first organic computing doctoral dissertation colloquium (OC-DDC’13). vol 2013–06, Fakultät für Angewandte Informatik der Universität Augsburg, pp 4–7
Mattes O, Karl W (2013) Self-aware memory - an autonomous self-optimizing memory system for upcoming manycore architectures. In: Memory architecture and organization Workshop (MeAOW’13), Embedded Systems Week 2013, Montreal
Mattes O, Schindewolf M, Sedler R, Buchty R, Karl W (2011) Efficient synchronization techniques in a decentralized memory management system enabling shared memory. PARS 2011, Rüschlikon, Switzerland, In: PARS Mitteilungen GI, vol 28, Gesellschaft für Informatik e.V
Richter U, Mnif M, Branke J, Müller-Schloer C, Schmeck H (2006) Towards a generic observer/controller architecture for organic computing. In: GI Jahrestagung, vol, pp 112–119
Schindewolf M, Mattes O, Karl W (2011) Thread creation for self-aware parallel systems. In: Facing the multicore-challenge, vol 6310., Lecture Notes in Computer Science. Springer, Berlin, pp 42–53
Taylor MB, Kim J, Miller J, Wentzlaff D, Ghodrat F, Greenwald B, Hoffman H, Johnson P, Lee JW, Lee W, Ma A, Saraf A, Seneski M, Shnidman N, Strumpen V, Frank M, Amarasinghe S, Agarwal A (2002) The Raw microprocessor: a computational fabric for software circuits and general-purpose programs. IEEE Micro 22(2):25–35
Tilera Corporation (2012) TILE-Gx8038 processor specification brief. San Jose, CA. http://www.tilera.com/sites/default/files/productbriefs/TILE-Gx8036_PB033-02_web.pdf
About this article
Cite this article
Mattes, O., Karl, W. Self-aware Memory: an adaptive memory management system for upcoming manycore architectures and its decentralized self-optimization process. Des Autom Embed Syst 17, 739–769 (2013). https://doi.org/10.1007/s10617-014-9153-6
- Memory management
- Self-aware Memory (SaM)
- Manycore systems