ABISS
Hosted by
SourceForge.net Logo
Status
Download
Mailing list
Documentation
Links

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.

 Status
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.

 Download
The current version is abiss-13 (153 kB), released 30-MAR-2006.

Changes since the previous version:

  • Kernel:
    • upgraded to 2.6.16.1
    • switched compatibility ioctls from global handler to compat_ioctl
    • priority scheme is now compatible with CFQ and ABISS does no longer insist on using the ABISS elevator
    • also compiles with CONFIG_ABISS=n

Older versions can be found here.

 Mailing list
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

 Documentation
Usage information:
Documentation is included in the README file inside the ABISS package.

Papers:

Presentations:

 Links
Related material:
  • coming soon !

Last update: 30-MAR-2006   Werner Almesberger