Efficient Dynamic Memory Management for Multiprocessor Cyber-Physical Systems

Efficient Dynamic Memory Management for Multiprocessor Cyber-Physical Systems

Ali Ahmadinia (California State University, San Marcos, USA)
Copyright: © 2019 |Pages: 10
DOI: 10.4018/IJCPS.2019010103


Dynamic data management for multiprocessor systems in the absence of an operating system (OS) is a challenging area of research. OSs are typically used to abstract developers from the process of managing dynamic data at runtime. However, due to the many different types of multiprocessor available, an OS is not always available, making the management of dynamic data a difficult task. In this article, we present a hardware and software co-design methodology for the management of dynamic data in multiprocessor system on chips (MPSoC) development environments without an OS. We compare and contrast the method of sharing dynamic data between cores with standard methods and also to static data management methods and find that the proposed methodology can improve the performance of dynamic memory operations by up to 72.94% with negligible power and resource consumption.
Article Preview

Anagnostopoulos et al. (Anagnostopoulos et al., 2011) perform microcode optimizations for the DMM of an MPSoC through a hardware-based dual-microcoded controller. A dynamic multithreaded application is statically analyzed to obtain DMM decision trees, where exploration is performed based on a constraint-orthogonal partition methodology, similar to (Atienza, Mendias, Mamagkakis, Soudris, & Catthoor, 2006; Xydis, Bartzas, Anagnostopoulos, Soudris, & Pekmestzi, 2010). Variable sized and types of heaps, with local or global visibility (w.r.t other cores), can be refined for different MPSoC topologies. However, allocations made to local or global heaps are at most 1500 bytes in size and are stored in SDRAM. Therefore, in order for an application to manage larger dynamic allocations, a large amount of SDRAMs would be consumed.

Atienza et al. (Atienza et al., 2006) present a methodology for the management of memory and the reduction of the footprint of dynamic memory allocations for embedded multimedia and wireless applications. Fragmentation was found to impact the memory footprint of systems and was reduced by applying their memory management methodology, albeit with an increase in execution time.

Koutras, Bartzas, and Soudris (Koutras, Bartzas, & Soudris, 2012) investigate the use of adaptive dynamic memory allocators to predict the amount of memory an application might want. Runtime information is used to ascertain the current memory requirements of the application and the current state of memory space. A goodness factor is used to predict future memory accesses and how blocks are allocated.

Xydis et al. (Xydis et al., 2010) define a design space for multithreaded DMM for MPSoCs and explore it to find the optimal solution. They extend a previous single-threaded DMM design space model (Atienza et al., 2006) and capture multiprocessor and multithreaded decisions. However, the work assumes the presence of an OS to manage heaps for threads and the MPSoC which is quoted as being an Intel Quad Core MPSoC operating at 2.66 GHz, making it uncertain of the applicability to embedded systems.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 2: 2 Issues (2020): Forthcoming, Available for Pre-Order
Volume 1: 2 Issues (2019): 1 Released, 1 Forthcoming
View Complete Journal Contents Listing