Entries from 2009-05-01 to 1 month
ひたすら教えてもらうの巻。
Mona on QEMU から ICMP ECHO リクエストを投げた。それを Wireshark で眺めていたらホストからターゲットに UDP ECHO(7) が送信されていた。 以下のような流れ。 送信:Mona(guest) => ICMP ECHO Request => Host => UDP ECHO => Target 受信:Target => UD…
メインスレッドで全てのスレッドを 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 に簡単な 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割
あるととても助かる。
pthread/mutex を wrap したクラスを書いてテストを通した。
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 のレスポンスも受信できた。 まだ問題が残っている。5回に1回くらいうまく動かないことがある。 疑っているのはメモリ初期化ミスなのだが、デバッグが難しいな。
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 の並列モデルに関して Wiki にまとめた。細かいところはまだ。 週末は寝かせよう。
Light Source Type 8割 フレネル反射 4割 Buffer Manager 10割 クォータニオン 10割 光 3割
buffer manager 4割 Light Source type 2割 ビヘイビアによるサーバー 10割 Domain Model 10割
古い記事ですが、(The Scheme Way): Erlang or Gambit-C/Termite? A practitioner's perspective。 他人事ではない。
まず礎として desc table がある。これは addr, len, next の配列で、やりとりするデータのアドレス、大きさを指定するもの。 next は複数のページをやりとりしたいときに linked list のように次の desc を指定するために使われる。 図では先頭から数珠つな…
Mosh 0.1.2 をリリースしました。(Downloads) Mosh 0.1.0 のバグ修正・改善リリースです。 (mosh pp) の改善 (id:leque さんご指摘ありがとうございました) strict-aliasing の修正 Bignum の改善(shiro さん、enami さんありがとうございました) など…
解決した。結局やった事は以下の通り。 (1) GMP の allocator には GC のものは使用せず、malloc, realloc, free を使用する (2) Bignum, Ratnum は gc_cleanup を継承し GC 時にデストラクタが呼ばれるようにする (3) Bignum, Ratnum のデストラクタで mpz_…
Domain Model 2割 Buffer Manager 0割
うまくいかなかったのでペンディングにしていた標記の件だが、enami さんの鋭い指摘により進展があった。 以前 mp_set_memory_function で GC_malloc を使う設定にしている場合にも mpz_clear をこまめに呼び出すということを試していたのだがうまく行かずあ…
全て10割 Image Texturing 並行プログラム試験 Micro geometry Erlang 汎用イベント処理
id:leque さんにご指摘いただいた Issue 。 (mosh pp) が利用している pretty-print ライブラリは R6RS に対応していなかったので対応。 以前も書いたかもしれないが、R6RS の codec には codec? 手続きがないのは、codec がクロージャ で実装できる可能性を…
#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