|
|
|
The AKT API has been
moved to a separate project (libtune)
|
|
Description
|
|
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.
|
|
|
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.
|
|
|
|