Automatic Kernel Tunables






Mailing Lists


Sourceforge project info


The AKT API has been moved to a separate project (libtune)


The AKT project aims at making the kernel able to automatically tune the kernel tunables as it sees appropriate. This eliminates the need for applications tuning things.

 More details...

The procfs pseudo-filesystem, which is used as an interface to kernel data structures, contains some writable files that allow kernel variables to be dynamically changed, making these new values taken into account by the kernel without any need to recompile or reboot the system.
These files contain default values that do not necessarily suit the system needs for a given activity and they may rapidly become under / over evaluated.

This raises the need for a way to automatically adjust the kernel tunables as the resources are seen to be running out.

The solution proposed by AKT is to make the kernel subsystems call a tunable adjustment routine upon object creation or removal.

The AKT framework is made of:
  • a kernel part: AKT provides a set of interfaces for the kernel subsystems to register the tunables they want to be automatically tuned in the future. The subsystems can also define their own automatic tuning routine, or use the default one provided by AKT. Finally, they can use AKT interfaces to call the automatic tuning routine when appropriate (object creation / release).
  • a module: uses sysfs to make the registered tunables manageable from the user world. When loaded, this module also sets the appropriate value into the automatic tuning routine pointer. Thus, while the module is not loaded, the kernel remains unchanged from a functional point of view.
  • a user part: each tunable that has been registered by a kernel subsystem has a file assosicated in sysfs. Storing 1 or 0 into that file activates or deactivates automatic tuning for that tunable. The default behavior is that automatic tuning is not activated.

Page hosted by : Logo