Report Bugs
Forum

E4RAT - Improving Startup Times by Physical Block Reallocation

by Andreas Rid and Gundolf Kiefer
Augsburg University of Applied Sciences


Table of contents

Introduction

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.

An Example

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.

Regular boot process

And this is the result of using e4rat:

Boot process after using e4rat

Documentation

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:

Download

Get source code and/or Debian package here.

Contact

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.