About the CABI project
Midori Sugaya
doly at dcl.info.waseda.ac.jp
Fri Dec 14 01:10:47 EST 2007
JP kernelnewbies の皆様,
菅谷と申します.CABIというリソース管理システムの開発を行って
おり, kernelML にプロジェクトを紹介したいと思っていますが,
どのように紹介すべきかアドバイス頂けると助かります.
一応,下記の内容で, kernelnewbies にメールを出そうと思っています.
ご意見いただければ幸いです.
----------------------------------------------------------------------------
Hello everyone,
I am working on a research project that I would like to present to the kernel
ML for eventual integration into the mainstream kernel. Could you tell me what
the requirements are to send a patch to the LKML? Here is a proposal of our
work, in order to explain the intention of our development.
-----------------------------------------------------------------------------
CABI (Common Accounting and Blocking Interfaces Systems).
CABI provides a resource control mechanism for embedded Linux. These days,
resource control in Linux is one of the hot Linux kernel topics along with
containers. Compared to containers, our control algorithm is more fine grained
to meet the requirements of embedded system. Moreover, our system can be
suitable to the develpper who wants to use the resource control system
lightweight and independent from the basic scheduler. Our system provides a
lightweight implementation and uses independent resource management from the
main scheduler. These are the favorable features for embedded systems.
CABI system provides Accounting Object (AO), an abstraction of our system that
is the interface of a process group of processes. It stores parameters
from the users. The accounting system allows to operate the AO based on
parameters. If they are bind to an AO, they are controlled under the parameters
set in the AO. For example, in CPU resource control, if a developer sets the
parameters for AO such as period is set to 100ms and execution to 60ms, The
result is that 60% of cpu is given to the AO group.
<-- period (100ms) --> <-- period (100ms) -->
|----------------------|----------------------|
|<----------->|
execution (60ms)
If the AO reaches the limit for the execution within that period, an event is
triggered. User can select the event as signal or block. This notification is
very useful to prevent malicious attacks. For periodic tasks, the system
provides a general framework for controlling their resource under periodic
constraints.
We also have a memory management system based on almost the same concept. Our
memory system shares the architecture with cpu one. The user can set the
parameter for an accounting object which controls the group of processes, such
as 100MB or 500MB within the whole physical memory as a constraint.
-----------------------------------------------------------------------------
In embedded system, there are sensitive resource requirements, especially for
CPU and memory with fine grained control. For example, a video player that
should process 20-60 frames within a second. If we want a multimedia system of
quality, we need to think about resource management for the application to
reserve the cpu and memory. Now even the general-purpose operating system need
to support embedded system application's constrains more precisely, even in
overload condition.
Our patches are uploaded on sourceforge in Japan:
https://sourceforge.jp/projects/cabi
And our project pages are located here:
http://osrg.dcl.info.waseda.ac.jp/~doly/cabi/
This is little bit out of date, since we also have memory extension now.
----------------------------------------------
Midori SUGAYA
School of Science and Engineering
Waseda University
3-4-1 Okubo, Shinjuku-ku, Tokyo 169-8555, Japan
More information about the JP-kernelnewbies
mailing list