TY - GEN
T1 - A fast lock-free user memory space allocator for embedded systems
AU - Lee, Dongwoo
AU - Kim, Junghoon
AU - Kim, Ungmo
AU - Eom, Young Ik
AU - Jun, Hyung Kook
AU - Kim, Won Tae
PY - 2011
Y1 - 2011
N2 - Many embedded systems get improvements on hardware such as massive memory and multi-cores. According these improvements, some application that demands per-formance of excessive operations per seconds has been app-eared. These applications often use dynamic memory allocation. But, existing allocators does not scale well, thus those applications is limited theirs performance by allocators. Moreover, because the applications that run on embedded systems are rarely powered-off, the external fragmentation problem is critical. This paper introduces the allocator, lock-free and scalable that free the synchronization cost and low the fragmentation. Our allocator has per-thread heap and allocate the close size memory instead of the exact size of memory to reduce synchronization cost and allocation/de-allocation time. Our result on test application that can be run with 1 to 32 threads demonstrate that our allocator yields low average fragmentation and improves overall program performance over the standard Linux allocator by up to a factor of 60 on 32 threads, and up to a factor of 10 over the next best allocator we tested.
AB - Many embedded systems get improvements on hardware such as massive memory and multi-cores. According these improvements, some application that demands per-formance of excessive operations per seconds has been app-eared. These applications often use dynamic memory allocation. But, existing allocators does not scale well, thus those applications is limited theirs performance by allocators. Moreover, because the applications that run on embedded systems are rarely powered-off, the external fragmentation problem is critical. This paper introduces the allocator, lock-free and scalable that free the synchronization cost and low the fragmentation. Our allocator has per-thread heap and allocate the close size memory instead of the exact size of memory to reduce synchronization cost and allocation/de-allocation time. Our result on test application that can be run with 1 to 32 threads demonstrate that our allocator yields low average fragmentation and improves overall program performance over the standard Linux allocator by up to a factor of 60 on 32 threads, and up to a factor of 10 over the next best allocator we tested.
KW - Dynamic memory allocator
KW - Embeded system
KW - Lockfree
UR - https://www.scopus.com/pages/publications/80052249338
U2 - 10.1109/ICCSA.2011.46
DO - 10.1109/ICCSA.2011.46
M3 - Conference contribution
AN - SCOPUS:80052249338
SN - 9780769544045
T3 - Proceedings - 2011 International Conference on Computational Science and Its Applications, ICCSA 2011
SP - 227
EP - 230
BT - Proceedings - 2011 International Conference on Computational Science and Its Applications, ICCSA 2011
T2 - 11th International Conference on Computational Science and Its Applications, ICCSA 2011
Y2 - 20 June 2011 through 23 June 2011
ER -