IBuddy: Inverse buddy for enhancing memory allocation/deallocation performanceon multi-core systems

Heekwon Park, Jongmoo Choi, Donghee Lee, Sam H. Noh

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

We present a new buddy system for memory allocation that we call the lazy iBuddy system. This system is motivated by two observations of the widely used lazy buddy system on multi-core systems. First, most memory requests are for single page frames. However, the lazy buddy algorithm used in Linux continuously splits and coalesces memory blocks for single page frame requests even though the lazy layer is employed. Second, on multi-core systems, responses to bursty memory requests are delayed by lock contention caused by concurrent accesses of the multi-cores. The lazy iBuddy system overcomes the first problem by managing each page frame individually and coalescing pages only when an allocation of multiple page frames is requested. We devise the lazy iBuddy algorithm so that single page frame allocation can be done in O(1). The second problem is alleviated by dividing main memory into multiple buddy spaces and applying a fine-grained locking mechanism. Performance evaluation results based on various workloads on the XEON 16core with 32 GB main memory show that the lazy iBuddy system can improve memory allocation/deallocation time by up to 47 percent with an average of 35 percent compared with the lazy buddy system for the various configurations that we considered.

Original languageEnglish
Article number6714431
Pages (from-to)720-732
Number of pages13
JournalIEEE Transactions on Computers
Volume64
Issue number3
DOIs
StatePublished - 1 Mar 2015

Keywords

  • Buddy algorithm
  • Dynamic memory manager
  • splitting and coalescing

Fingerprint

Dive into the research topics of 'IBuddy: Inverse buddy for enhancing memory allocation/deallocation performanceon multi-core systems'. Together they form a unique fingerprint.

Cite this