Entries from 2009-05-01 to 1 month

TAP と bridge と格闘中

ひたすら教えてもらうの巻。

ICMP ECHO と QEMU - virtio

Mona on QEMU から ICMP ECHO リクエストを投げた。それを Wireshark で眺めていたらホストからターゲットに UDP ECHO(7) が送信されていた。 以下のような流れ。 送信:Mona(guest) => ICMP ECHO Request => Host => UDP ECHO => Target 受信:Target => UD…

昨日の Mosh のスレッドの件

メインスレッドで全てのスレッドを pthread_join したら落ちない 子スレッドをdetached しても落ちる デバッガで追うと、どうもメインスレッドで exit 直後に、子スレッドでメモリアクセス違反が起きる とりあえず全てのスレッドのリストを持って終了時に jo…

今日の復習

全て10割 高度なパイプライン DBファイル別超すティ書く Storage Indexing Simple さの分け前 J2EE goals

スレッドデバッグ中

main thread が作った thread を join せずに main thread が先に終了すると、なぜか mosh が死ぬ。 場所はスレッド間で共有しているシンボルテーブル辺り。アクセスを Mutex で制御しても死ぬので、メモリ周りっぽい。 問題は GC の問題? GC の設定の問題…

今日の復習

Storage Indexing 2割 どうやって機能追加する 10割 ランダムウォーク 10割 J2EE Goals 5割 Simple さの分け前 5割

KVS に Index

KVS に簡単な B+ Tree の Index をつける機能があれば、ありがちな range search なども簡単にサポートできてうれしいと思うのだけどどうだろうか。(あくまでもシンプルな Index だけ) ご意見募集。 挿入時 kvs->put(key, {value, timestamp}) indexer->pu…

今日の復習

J2EE Goals 3割 Simple さのわけまえ 4割 Parallel and Distributed DB 10割 Photometry and colormetry 10割 B+ Tree Dynamic Index Structure 10割

Scheme で書かれた B+-Tree ないかな?

あるととても助かる。

pthread/mutex

pthread/mutex を wrap したクラスを書いてテストを通した。

ARP - virtio

ARP Request を送信して、Reply を受信。というのが安定して動くようになった。

今日の復習

Erlang マルチコア 10割 Bus 10割 Parallel and Distributed DB 9割 J2EE Goals 0割 シンプルさの分け前 2割

今日の復習

bus 2割 Tree-based Index 10割 光 10割 Light Source Type 10割 フレネル反射 10割

ARP - virtio

ARP のレスポンスも受信できた。 まだ問題が残っている。5回に1回くらいうまく動かないことがある。 疑っているのはメモリ初期化ミスなのだが、デバッグが難しいな。

ARP Request - virtio

ARP Request の送信に成功した。受信はこれから。 QEMU の起動オプション。 qemu -virtioconsole stdio -net nic,model=virtio -net user -cdrom /home/taro/mona/tool/mkimg/mona.iso -fda /home/taro/mona/tool/mkimg/mona.img -boot d 注意点 ARP Request…

バンド

大学の時に一緒にバンドをやっていた友人の職場とうちの職場が近いことが発覚。 一緒に昼飯を食べているときに「またバンドやろうよ」と言われた。 確かに、またやりたいと思うことがある。 しかし今再開したら、けいおんに影響を受けたと思われるじゃないで…

バグ

ページ境界をまたぐせいかな。再現したが謎だ。物理アドレス変換に失敗しているとか? 追記 自分が悪かった。物理アドレスが連続することを保証できていなかった。明日システムコールを書く。

Mosh の並列

Mosh の並列モデルに関して Wiki にまとめた。細かいところはまだ。 週末は寝かせよう。

今日の復習

Light Source Type 8割 フレネル反射 4割 Buffer Manager 10割 クォータニオン 10割 光 3割

今日の復習

buffer manager 4割 Light Source type 2割 ビヘイビアによるサーバー 10割 Domain Model 10割

Erlang と Scheme

古い記事ですが、(The Scheme Way): Erlang or Gambit-C/Termite? A practitioner's perspective。 他人事ではない。

vring avail の謎が解けた気がする - virtio

まず礎として desc table がある。これは addr, len, next の配列で、やりとりするデータのアドレス、大きさを指定するもの。 next は複数のページをやりとりしたいときに linked list のように次の desc を指定するために使われる。 図では先頭から数珠つな…

Mosh 0.1.2 リリース

Mosh 0.1.2 をリリースしました。(Downloads) Mosh 0.1.0 のバグ修正・改善リリースです。 (mosh pp) の改善 (id:leque さんご指摘ありがとうございました) strict-aliasing の修正 Bignum の改善(shiro さん、enami さんありがとうございました) など…

Re:Boehm GC の Repeated allocation of very large block 問題 その3

解決した。結局やった事は以下の通り。 (1) GMP の allocator には GC のものは使用せず、malloc, realloc, free を使用する (2) Bignum, Ratnum は gc_cleanup を継承し GC 時にデストラクタが呼ばれるようにする (3) Bignum, Ratnum のデストラクタで mpz_…

今日の復習

Domain Model 2割 Buffer Manager 0割

Re:Re:Boehm GC の Repeated allocation of very large block 問題 その2

うまくいかなかったのでペンディングにしていた標記の件だが、enami さんの鋭い指摘により進展があった。 以前 mp_set_memory_function で GC_malloc を使う設定にしている場合にも mpz_clear をこまめに呼び出すということを試していたのだがうまく行かずあ…

今日の復習

全て10割 Image Texturing 並行プログラム試験 Micro geometry Erlang 汎用イベント処理

(mosh pp), display, write の出力をまともに

id:leque さんにご指摘いただいた Issue 。 (mosh pp) が利用している pretty-print ライブラリは R6RS に対応していなかったので対応。 以前も書いたかもしれないが、R6RS の codec には codec? 手続きがないのは、codec がクロージャ で実装できる可能性を…

Gauche VM thread 実装メモ

#define theVM ((ScmVM*)pthread_getspecific(vm_key)) * NOTE: the thread should still be created by Boehm-GC's pthread_create, * for it is the only way for GC to see the thread's stack. VM の thread entry。 static void *thread_entry(void *da…

今日の復習

ともに10割。 キャッシュの性能と速度改善 Basic Transform2