About the CABI project

Tsugikazu Shibata tshibata at ab.jp.nec.com
Sun Dec 16 10:10:15 EST 2007


On Fri, 14 Dec 2007 16:15:03 +0900 (JST), tshibata wrote:
> 以下のメールがこのMLに投稿されました。
> すでにアーカイブはされていますが、一応再度ポストしておきます。
> 
> 
>  From:    Midori Sugaya <doly at dcl.info.waseda.ac.jp>
>  To:      jp-kernelnewbies at kernelnewbies.org
>  Cc:      doly at dcl.info.waseda.ac.jp
>  Date:    Fri, 14 Dec 2007 15:10:47 +0900
>  Subject: About the CABI project
> ----
> 
> JP kernelnewbies の皆様,
> 
> 菅谷と申します.CABIというリソース管理システムの開発を行って
> おり, kernelML にプロジェクトを紹介したいと思っていますが,
> どのように紹介すべきかアドバイス頂けると助かります.

Linux カーネルメーリングリストに情報を出す前には、以下などを参考にして
もらいたいと思います。

カーネルソースファイルに添付されているドキュメントの内、以下を読んでお
くことをお勧めします。
- Documentation/HOWTO (日本語版は Documentation/ja_JP/HOWTO)
- 上で参照さえている SubmittingPatches, SubmitChecklist, CodingStyle
  などに記述されている規約類
  これらは日本語にも翻訳されているので、www.linux.or.jp/JFを参照して
  ください。ざっとパッチを拝見しましたが、日本語らしきコメントなどが
  ありましたが、これはおおかたの人には読めないので困るのではないかな
  と思いました。

それから、sourceforge.jp にサイトを持つのは結構ですが、日本語のインター
フェイスでは日本語が読めない人に取ってはダウンロードも困難なのではない
かなと思いました。
また、MLが公開されておらず、フィードバックをする方法も見当たらない感じ
がしました。
パッチもどれをダウンロードすればよいのか、どのパッチをカーネルに統合し
たいのかが、sourceforge をみても判りにくかったのですが、どうでしょうか?
一応、v1.3 と v1.2 のものを見てみましたが、v1.3 はどうも量が少なくて、
v1.2 に追加されたもののように見受けられましたが、一目でそれが判る感じ
はしないように思いました。
一般的には、1つのアーカイブをダウンロードしてパッチすれば、ビルドでき
るようにすると良いのではないかと思います。
また、これらのパッチは最新カーネルに対応していないので、多くの人が試す
のに困るのではないかと思います。

細かい話しもしてしまいましたが、このままではカーネルのどこに何を追加し
たいのかを、さっと見つけるのは難しいようなので、少し整理したらどうでしょ
うか?

また、カーネルコミュニティに受け付けてもらうために考えるべきことを
説明した資料としては、
http://jp.kernelnewbies.org/FrontPage
の「オープンソースやコミュニティの理解」の部分に junio hamano
氏や吉藤さん、Randy Dunlap氏のプレゼンなどがあります。
これらには、パッチを小さなピースに分割することなどの経験上のノウハウが
ありますので、参考になると思います。

現実的には スケジューラについては 2.6.23 でCFS が入ったり、それに伴っ
ていろいろは変化があります。その流れの中で 現在のCABI をそのまま統合す
るべきなのか、それともバラバラにして考え方を統合していくのか、などを
考えていく必要がありそうに思います。この話しを先にするべきか、それとも
パッチを整理していくのが先なのか、全体のコードの量や修正する範囲を明ら
かにしてから、考えてみたらどうでしょうか?


> 一応,下記の内容で, 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