Mona/0.4.0/計画 の変更点



 #setlinebreak(on)
 #topicpath
 *計画 [#b49b0555]
 ここに書いてあるのは妄想。
 ** Xen [#r719b7d7]
 - 目的
 -- ドライバを書くという面倒な作業を遅延させたい
 -- 一方で NIC を利用したい
 -- このような用途に使えるかどうかの調査が必要
 - 調査項目
 -- 仮想化技術自体
 -- 実際に NIC を利用する手間は?
 -- 対応難易度 (minios)
 -- 許容範囲を超える設計変更を強いられるか?
 --- メモリレイアウトの変更を迫られるみたい
 -- Xen が流行らなかったら?
 -- 欠点の洗い出し
 -- これは正しい道なのか?
 -- ライセンスは?
 --- FreeBSD/NetBSDがDomUになることを許すなら大丈夫では。
 ** KVM [#t52fa356]
 - Linux は Xen を見放す?
 - KVM?
 
 ** プロトコルスタック [#g870b174]
 Xen の対応が思い通りに進めば次に必要なのはプロトコルスタック。
 FreeBSD のプロトコルスタックの移植を試みることになる。
 本を読んだ限りでは、自前で実装するよりは移植した方がはるかにコストが低いことは間違いない。
 
 
 軽量プロトコルスタックは結局中途半端なのでやめよう。
 
 ** Mosh [#rf1d9005]
 Xen と並行して Mosh の対応も行う。
 大きな柱として
 - Mona への移植
 - Mosh で Mona のサーバーがかけるようなメッセージングの整備
 -- Erlang メッセージを参考に?
 -- Erlang のメッセージキュー。エラーリンク。の仕組みはもう一度見直して実装すべき。
 -- 透過性:そのマシン、そのCPUで動いていなくても同じように動く。
 --- from,to の pid はバイト列。(中身には関知しないという方針が必要)
 -- 効率性:無駄な抽象レイヤーをなくして速く
 - Mosh で並行プログラムが書けるように整備?
 - Erlang の IRC Lite からのメモ
 -- p157 の start_connector がわざわざ、別プロセスなのは、Erlang のプロセス生成が軽いからと言う理由もあると思う。
 -- このパターンは Mona のメッセージングにも使えるので是非まねをしよう。
 - Erlang のメッセージが優れている点
 -- パターンマッチで、タプル、リストに簡単にマッチさせて取り出せること
 -- アトム(シンボル)をメッセージ ID として使えること
 -- pid が抽象化されていること。
 - 固定長を超えるメッセージは抽象化ライブラリが分割して送信すべき。どうしてこんなものすらなかったのか。
 - エラーロガーサーバー。
 - ソケットが安定したら QEMU の外から簡単に挙動を変えられるように。
 -- クロージャを送り込む。 remote repl
 - プロセス・サービス監視ツリー
 -- スーパーバイザの監視・再起動ポリシーも、ビヘイビアにしてしまえば、やりたいことに集中できる
 - スーパーバイザの管理ができれば、プロセスモニタの監視ツールで可視化できる
 
 ** その先に何を見るか [#i8500dde]
 Mona の中に住むことを目標とする。
 - ブラウザ
 - 音楽
 - エディタ
 
 小さなツールや、OSのコンポーネントは Mosh で書けるようにしたい。遅かったら JIT やネイティブコードにすることも考える。
 
 ** デモ [#y4ea5dcc]
 key-value store なサーバーが動くとインパクトがあるかもしれない。(リリース時期があまりにもおくれたら意味ない)
 // &pageのお尻に ; をつけるとページ名に展開されます。
 // ↓適宜コメントアウトして使いましょう
 //**経緯
 //**目的
 //**概要
 //**アクション
 //**未解決な問題
 //**関連ページ
 //#ls2
 
 *コメント [#l9b5d9e9]
 #pcomment(,1000,below,reply)

リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.016 sec.