|
|
The Active Block I/O Scheduling System (ABISS) is an extension of the
hard-disk storage subsystem of Linux, whose main purpose is to
provide a guaranteed reading and writing bit rate to
applications.
Apart from these guaranteed real-time (RT) streams, we also included
multiple priorities for best-effort (BE) disk traffic.
The system consists of a framework that is added to the kernel, including an elevator implementing multiple priorities, with a policy and coordination unit implemented in user space. This approach ensures separation between the kernel infrastructure (the framework) and the policies (e.g. admission control) in user space. The ABISS extensions are controlled through ioctls applied to files accessed through the regular POSIX API. A small library with wrapper functions shaped after stdio (abiss_fopen(), abiss_fread(), abiss_fwrite(), etc.) is available for applications preferring a higher-level API. This project is conducted by Philips Research, Eindhoven. |
|
|
ABISS is still experimental. It can currently provide high priority
for reading from a FAT, VFAT, ext2, and ext3
file system. Writing is always best-effort.
Only a framework for resource control exists. Therefore, the current implementation can enforce that an application conforms to the requested service, but it cannot make bandwidth guarantees. Furthermore, there are various sources of sporadic but significant delays in the kernel, which can affect the service obtained by an application. |
|
|
The current version is
abiss-13
(153 kB), released 30-MAR-2006.
Changes since the previous version:
Older versions can be found here. |
|
|
General discussion of ABISS takes place on the
ABISS
mailing list. Also announcements of new versions are posted to this
list.
The mailing list is archived at http://sourceforge.net/mailarchive/forum.php?forum=abiss-general |
|
|
Usage information: Documentation is included in the README file inside the ABISS package. Papers:
|
|
|
Related material:
|
Last update: 30-MAR-2006 Werner Almesberger |