Affiliation:
1. Northwestern Polytechnical University, Shaanxi, China
Abstract
Dynamic memory allocation plays a vital role in modern application programs. Modern lock-free memory allocators based on hardware atomic primitives usually provide good performance. However, threads may starve in these lock-free implementations, leading to unbounded worst-case execution time that is not allowed in real-time embedded systems. This article presents decentralized dynamic memory management, wfspan, based on non-linearizable wait-free lists. It employs a helping mechanism to ensure no starvation in the lock-free implementation. From the perspective of design tradeoff, wfspan guarantees bounded execution steps in both allocation and deallocation procedure, at the cost of increasing bounded worst-case memory footprint. The results of running benchmarks on an x86/64 and an aarch64 machine illustrate that wfspan achieves competitive performance and memory footprint compared to lock-based and lock-free practical memory allocators while showing superior to other allocators in terms of worst-case execution time.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference46 articles.
1. OLogN Technologies AG. 2018. Retrieved from alloc-test. https://github.com/node-dot-cpp/alloc-test.
2. Verified sequential Malloc/Free
3. ARM. 2020. ARM BIG.LITTLE. Retrieved from https://www.arm.com/why-arm/technologies/big-little.
4. Hoard
5. A wait-free universal construction for large objects
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献