Node-oriented dynamic memory management for real-time systems on ccNUMA architecture systems
Seyeon Kim
Abstract
Open-access reader
Seyeon Kim
Abstract
Open-access reader
Since the 1960s, most operating systems and programming languages have been able to use dynamic memory allocation and deallocation. Although memory allocation has always required explicit interaction with an allocator, deallocation can be either explicit or implicit. Surprisingly, even though memory allocation/deallocation algorithms have been studied extensively over the last five decades, limited attention has been focused on the real-time properties. Most algorithms are general-purpose and do not satisfy the requirements of real-time systems. Furthermore, the few allocators supporting real-time systems do not scale well on multiprocessors. \n \nThe increasing demand for high-performance computational processing has resulted in the trend of having many cores. ccNUMA architecture systems are part of this trend and provide a systematic scalable design. This thesis contends that current memory allocators for Operating Systems that support cc-NUMA architecture are not appropriate for real-time applications. We further contend that those real-time allocators that have been proposed in the literature are not cc-NUMA aware. The thesis proposes and implements (a prototype of) a new NUMA-aware dynamic memory allocation algorithm for use in soft real-time systems. We study the behaviour of our new allocation algorithm in comparison with related allocators both theoretically and practically.
OpenAlex reports 6 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Since the 1960s, most operating systems and programming languages have been able to use dynamic memory allocation and deallocation. Although memory allocation has always required explicit interaction with an allocator, deallocation can be either explicit or implicit. Surprisingly, even though memory allocation/deallocation algorithms have been studied extensively over the last five decades, limited attention has been focused on the real-time properties. Most algorithms are general-purpose and do not satisfy the requirements of real-time systems. Furthermore, the few allocators supporting real-time systems do not scale well on multiprocessors. \n \nThe increasing demand for high-performance computational processing has resulted in the trend of having many cores. ccNUMA architecture systems are part of this trend and provide a systematic scalable design. This thesis contends that current memory allocators for Operating Systems that support cc-NUMA architecture are not appropriate for real-time applications. We further contend that those real-time allocators that have been proposed in the literature are not cc-NUMA aware. The thesis proposes and implements (a prototype of) a new NUMA-aware dynamic memory allocation algorithm for use in soft real-time systems. We study the behaviour of our new allocation algorithm in comparison with related allocators both theoretically and practically.
Key concepts: Allocator, Computer science, C dynamic memory allocation, Scalability, Memory management, Parallel computing, Distributed computing, Architecture