TY - JOUR
T1 - LWMalloc
T2 - A Lightweight Dynamic Memory Allocator for Resource-Constrained Environments
AU - Kim, Taehyeon
AU - Kim, Hwajung
N1 - Publisher Copyright:
© 2014 IEEE.
PY - 2025
Y1 - 2025
N2 - In this study, we propose LWMalloc, a lightweight dynamic memory allocator designed for resource-constrained environments. LWMalloc incorporates a lightweight data structure, a deferred coalescing (DC) policy, and dedicated small chunk pools to optimize memory allocation. The lightweight data structure minimizes metadata overhead, ensuring a compact and efficient implementation. The DC policy reduces execution overhead by postponing redundant operations until allocation, maintaining both efficiency and low-response times. Dedicated small chunk pools enable O(1) allocation for small memory requests, which are common in dynamic allocation patterns, by segregating them into fixed-size pools. Experimental results using real-world applications demonstrate that LWMalloc outperforms ptmalloc, the default allocator in Linux, achieving up to 53% faster execution time and 23% lower memory usage. With a compact implementation of only 530 lines of code and a 20-KB size, significantly smaller than ptmalloc’s 4838 lines and 116 KB, LWMalloc achieves an effective balance between performance and memory efficiency, making it highly suitable for resource-constrained environments.
AB - In this study, we propose LWMalloc, a lightweight dynamic memory allocator designed for resource-constrained environments. LWMalloc incorporates a lightweight data structure, a deferred coalescing (DC) policy, and dedicated small chunk pools to optimize memory allocation. The lightweight data structure minimizes metadata overhead, ensuring a compact and efficient implementation. The DC policy reduces execution overhead by postponing redundant operations until allocation, maintaining both efficiency and low-response times. Dedicated small chunk pools enable O(1) allocation for small memory requests, which are common in dynamic allocation patterns, by segregating them into fixed-size pools. Experimental results using real-world applications demonstrate that LWMalloc outperforms ptmalloc, the default allocator in Linux, achieving up to 53% faster execution time and 23% lower memory usage. With a compact implementation of only 530 lines of code and a 20-KB size, significantly smaller than ptmalloc’s 4838 lines and 116 KB, LWMalloc achieves an effective balance between performance and memory efficiency, making it highly suitable for resource-constrained environments.
KW - Dynamic memory management (DMM)
KW - memory allocation
KW - memory fragmentation
KW - memory optimization
UR - http://www.scopus.com/inward/record.url?scp=85217796314&partnerID=8YFLogxK
U2 - 10.1109/JIOT.2025.3541247
DO - 10.1109/JIOT.2025.3541247
M3 - Article
AN - SCOPUS:85217796314
SN - 2327-4662
VL - 12
SP - 19532
EP - 19548
JO - IEEE Internet of Things Journal
JF - IEEE Internet of Things Journal
IS - 12
ER -