KAL: kernel-assisted non-invasive memory leak tolerance with a general-purpose memory allocator
Cited 0 times inCited 1 times in
- KAL: kernel-assisted non-invasive memory leak tolerance with a general-purpose memory allocator
- Jeong, Jinkyu; Seo, Euiseong; Choi, Jeonghwan; Kim, Hwanju; Jo, Heeseung; Lee, Joonwon
- Address space; Application programs; Application softwares; Computational overheads; Conventional memories; Garbage collection; Linux kernel; Memory allocation; Memory allocators; Memory leaks; Memory utilization; Non-invasive; Operating systems; Programming language; Real-world application; Remote host; Response time; Service availability; Software applications; Synthetic workloads
- Issue Date
- JOHN WILEY & SONS LTD
- SOFTWARE-PRACTICE & EXPERIENCE, v.40, no.8, pp.605 - 625
- Memory leaks are a continuing problem in the software developed with programming languages, such as C and C++. A recent approach adopted by some researchers is to tolerate leaks in the software application and to reclaim the leaked memory by use of specially constructed memory allocation routines. However, such routines replace the usual general-purpose memory allocator and tend to be less efficient in speed and in memory utilization. We propose a new scheme which coexists with the existing memory allocation routines and which reclaims memory leaks. Our scheme identifies and reclaims leaked memory at the kernel level. There are some major advantages to our approach: (I) the application software does not need to be modified; (2) the application does not need to be suspended while leaked memory is reclaimed; (3) a remote host can be used to identify the leaked memory, thus minimizing impact on the application program's performance; and (4) our scheme does not degrade the service availability of the application while detecting and reclaiming memory leaks. We have implemented a prototype that works with the GNU C library and with the Linux kernel. Our prototype has been tested and evaluated with various real-world applications. Our results show that the computational overhead of our approach is around 2% of that incurred by the conventional memory allocator in terms of throughput and average response time. We also verified that the prototype successfully suppressed address space expansion caused by memory leaks when the applications are run on synthetic workloads.
- ; Go to Link
Appears in Collections:
- ECE_Journal Papers
can give you direct access to the published full text of this article. (UNISTARs only)
Show full item record
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.