TY - JOUR
T1 - High-Performance Memory Allocation on FPGA with reduced Internal Fragmentation
T2 - Memory Allocation on FPGA
AU - Sadeghi, Mohamad Mehdi
AU - Timarchi, Somayyeh
AU - Fazlali, Mahmood
N1 - © 2023 The Author(s). This is an open access article under the CC BY-NC-ND licence. https://creativecommons.org/licenses/by-nc-nd/4.0/
PY - 2023/7/7
Y1 - 2023/7/7
N2 - In this paper, we present two distinct hardware dynamic memory allocation schemes that are based on the binary buddy system algorithm. Our aim is to mitigate internal fragmentation without impacting the area and performance of the system. The first scheme introduces a parallel design for calculating the addresses of free blocks, which results in a decrease in allocation latency while maintaining acceptable resource utilization. This scheme is particularly well-suited for managing a limited number of minimum allocable units (MAU). On the other hand, the second allocator can handle a large number of MAUs due to its innovative searching mechanism. This allocator exhibits lower resource consumption and operates with an acceptable allocation latency. Furthermore, to decrease internal fragmentation, we develop a novel update mechanism for allocating information data structures in both methods. By employing these two allocator schemes, we can improve the efficiency and resource management of dynamic memory allocation for hardware systems. Experimental results demonstrate that the first and second proposed schemes achieve a minimum allocation speed-up of ×2 and ×1.8 compared to their counterparts. At the same time, they achieve a reduction of at least 78% and %88 in resource utilization, respectively. The results show that the total fragmentation is reduced by at least 14% due to the lower internal fragmentation.
AB - In this paper, we present two distinct hardware dynamic memory allocation schemes that are based on the binary buddy system algorithm. Our aim is to mitigate internal fragmentation without impacting the area and performance of the system. The first scheme introduces a parallel design for calculating the addresses of free blocks, which results in a decrease in allocation latency while maintaining acceptable resource utilization. This scheme is particularly well-suited for managing a limited number of minimum allocable units (MAU). On the other hand, the second allocator can handle a large number of MAUs due to its innovative searching mechanism. This allocator exhibits lower resource consumption and operates with an acceptable allocation latency. Furthermore, to decrease internal fragmentation, we develop a novel update mechanism for allocating information data structures in both methods. By employing these two allocator schemes, we can improve the efficiency and resource management of dynamic memory allocation for hardware systems. Experimental results demonstrate that the first and second proposed schemes achieve a minimum allocation speed-up of ×2 and ×1.8 compared to their counterparts. At the same time, they achieve a reduction of at least 78% and %88 in resource utilization, respectively. The results show that the total fragmentation is reduced by at least 14% due to the lower internal fragmentation.
KW - Dynamic memory allocator
KW - Dynamic scheduling
KW - Field programmable gate arrays
KW - Hardware
KW - Heuristic algorithms
KW - Memory management
KW - Registers
KW - Resource management
KW - field programmable gate array (FPGA)
KW - high-performance
KW - internal fragmentation
UR - http://www.scopus.com/inward/record.url?scp=85163566782&partnerID=8YFLogxK
U2 - 10.1109/ACCESS.2023.3290100
DO - 10.1109/ACCESS.2023.3290100
M3 - Article
SN - 2169-3536
VL - 11
SP - 66672
EP - 66681
JO - IEEE Access
JF - IEEE Access
ER -