E4RAT - Improving Startup Times by Physical Block Reallocation
by Andreas Rid and Gundolf Kiefer
Augsburg University of Applied Sciences
Table of contents
e4rat ("Ext4 - Reducing Access Times") is a toolset to accelerate the boot process as well as application startups. Through physical file realloction e4rat eliminates both seek times and rotational delays. This leads to a high disk transfer rate.
Placing files on disk in a sequentially ordered way allows to efficiently read-ahead files in parallel to the program startup. The combination of sequentially reading and a high cache hit rate may reduce the boot time by a factor of three, as the example below shows.
e4rat is based on the online defragmentation ioctl EXT4_IOC_MOVE_EXT from the Ext4 filesystem, which was introduced in Linux Kernel 2.6.31. Other filesystem types and/or earlier versions of extended filesystems are not supported.
The following boot charts shows the boot process of an freshly installed Debian Squeeze. The process includes the startup of the Gnome desktop and the Iceweasel browser. The computer is equipped with a E8200 Intel CPU and a Western Digital WD2500YS-01S hard drive with a total size of 250 GB. At the time of the experiment, only three percent of the entire filesystem were in use.
To view the entire boot chart just click on the picture.
And this is the result of using e4rat:
To get help read the README file in the source tree. Furthermore manual pages for e4rat-collect(8), e4rat-realloc(8), e4rat-preload(8) and e4rat-conf(5) are provided.
There also exists good user made documentation for the following Linux distributions:
Get source code and/or Debian package here.
Please send comments or bug reports to: Andreas Rid <conso [at] users.sf.net>
We would also appreciate to get your boot charts if you achieve different results.