Sciweavers

FAST
2011

Making the Common Case the Only Case with Anticipatory Memory Allocation

12 years 7 months ago
Making the Common Case the Only Case with Anticipatory Memory Allocation
We present Anticipatory Memory Allocation (AMA), a new method to build kernel code that is robust to memoryallocation failures. AMA avoids the usual difficulties in handling allocation failures through a novel combination of static and dynamic techniques. Specifically, a developer, with assistance from AMA static analysis tools, determines how much memory a particular call into a kernel subsystem will need, and then pre-allocates said amount immediately upon entry to the kernel; subsequent allocation requests are serviced from the pre-allocated pool and thus guaranteed never to fail. We describe the static and run-time components of AMA, and then present a thorough evaluation of Linux ext2-mfr, a case study in which we transform the Linux ext2 file system into a memoryfailure robust version of itself. Experiments reveal that ext2-mfr avoids memory-allocation failures successfully while incurring little space or time overhead.
Swaminathan Sundararaman, Yupu Zhang, Sriram Subra
Added 28 Aug 2011
Updated 28 Aug 2011
Type Journal
Year 2011
Where FAST
Authors Swaminathan Sundararaman, Yupu Zhang, Sriram Subramanian, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau
Comments (0)