Thursday, January 17, 2008

Linux: I/O throttling (again)

I've improved my per-task I/O throttling patch to support per-uid/gid I/O throttling. As reported in the patch description:

Allow to limit the I/O bandwidth for specific uid(s) or gid(s) imposing
additional delays on those processes that exceed the limits defined in a
configfs tree.

A typical use of this patch could be on a shared Linux system under heavy load condition due to I/O-intensive applications. In this scenario it's possible to assign a different amount of available I/O bandwidth for each group or user (read also fair sharing, I/O shaping, etc.): for example 5MB/s to group A (students), 20MB/s to group B (professors), unlimited MB/s for user C (sysadmin), etc.

But a vastely more interesting approach would be to implement a control group (cgroup) based I/O throttling... and I've just started to work on this! ;-)

No comments: