MLDPBS: A Machine Learning based Dynamic Partitioning Buddy System for Efficient Memory Allocation in Embedded Systems

Sweta Kumari, Dhruv Mishra, Aaradhy Sharma, Archit Somani · 2024

The Buddy system is a memory management technique used in operating systems to allocate memory blocks. Traditional Buddy system partitions the memory block in the power of 2 until the system finds the smallest available block to accommodate the memory allocation request. These systems suffer from efficient memory allocation and fragmentation.We propose a novel approach called Machine Learning based Dynamic Partitioning Buddy System (MLDPBS) for the efficient memory allocation and fragmentation. Our propose MLDPBS enhances traditional Buddy Systems by leveraging Machine Learning (ML) for efficient memory allocation. Instead of relying on fixed partition sizes, we dynamically adjust memory partitions based on predicted memory usage through ML model, significantly reducing fragmentation and improving overall efficiency compared to conventional memory allocation techniques like First Fit and Best Fit. To improve the performance of MLDPBS, we propose a multi-threaded lock-free model that minimizes the overhead caused by partitioning and merging memory blocks, a common issue in traditional Buddy Systems.Our experiments demonstrate that the proposed MLDPBS achieves 1.5x and 1.76x average speedup over the traditional memory allocation techniques and state-of-the-art Buddy Systems, respectively, for embedded systems red on various benchmarks.

Read the paper · More papers on PaperTik