Proposals

Taking Linux Filesystems to the Space Age: Space Maps in Ext4

This proposal has been rejected.

*

One Line Summary

The underlying phenomenon of the success of extents, is that the filesystem usually deals with blocks in chunks, unlike inodes which are dealt with individually. Creation/deletion of files/directories mostly involves dealing with chunk of blocks. It thus seems natural to represent their free space status, also in the form of chunks. We take this idea further and explore a technique that is based entirely on extents. This technique is called Space Maps.

Abstract

With the ever increasing filesystem sizes, there is a constant need for faster filesystem access. A vital requirement to achieve this is efficient filesystem metadata management.

The bitmap technique currently used to manage free space in Ext4 is faced by challenges owing to this exponential increase. This has led us to re-examine the available choices and explore a radically different design of managing free space called Space Maps.

This paper describes the design and implementation of Space Maps in Ext4. The paper also highlights the limitations of bitmaps and does a comparative study of how Space Maps fare against them. In Space Maps, free space is represented by extent based red-black trees and logs. This design makes the free space information of the filesystem extremely compact allowing it to be stored in memory at all times. This significantly reduces the long, random seeks on the disk that were required for updating the metadata. Since seeks are the bottleneck as far as filesystem performance is concerned, their extensive reduction leads to faster filesystem operations. Apart from the allocation/deallocation improvements, the log based design of Space Maps helps reduce fragmentation at the filesystem level itself. Space Maps uplift the performance of the filesystem and keep the metadata management in tune with the highly scalable Ext4.

Tags

Ext4, red-black tree, space map, log, allocation, filesystem

Speakers

  • Biography

    Shweta Jain is a software engineer with experience in the cloud computing, storage and Linux kernel domains. She has worked on enhancing the features of linux filesystems, specifically the Ext4 filesystem. Currently she is involved in developing a solution for easy provisioning of servers, in and out of the cloud.

  • Saurabh Kadekodi

    Spring Computing Pvt. Ltd.

    Biography

    Saurabh Kadekodi is a software engineer based in Pune, India. His experience includes linux kernel porting and application porting to customized embedded boards. He also has experience in development of iPhone applications. He has done paper presentations in conferences and technical competitions at various levels.

Leave a private comment to organizers about this proposal