Entries from 2009-06-01 to 1 month

Shibuya.lisp TT #3 観覧募集開始

Shibuya.lisp » Blog Archive » Shibuya.lisp テクニカルトーク #3 観覧者募集開始!

今日の復習

モンスターメソッド 2割 TDD の心構え 2割 FreeBSD プロセス間通信 DLL のロード エンディアン パフォーマンス

割り込み調査 - virtio

割り込みが来るタイミングを調べた。 reset PCI_QUEUE_PFN に 0 を渡してデバイスリセットしたとき PCI_STATUS に 0 を渡してデバイスリセットしたとき デバイスロード時のリセット notify (isr=1) 以下のいずれかの場合に割り込みが通知される avail->flags…

今日の復習

FreeBSD プロセス間通信 3割 以下10割 Micro geomtry Changing Software Material mapping フレネル反射 Erlang 分散プログラム

今日の復習

Micro Geomtry 0割 FreeBSD プロセス間通信 0割 Material/Alpha/Bump Mapping 0割 フレネル反射 2割 Broken Test 10割 Crash test dummy 割

続 単純な場合の Skip Graphs アルゴリズムを実装してみた 2

kvs

http://gist.github.com/131798 insert の間違いを修正 グローバルなものを削除 node 1つから生成可能 などの改善。指定された key の近接ノードを見つけるメソッドが全てにおいて中心的役割を担う感じ。

浮動小数の読み書き改善中

How to read floating point numbers accurately William D. Clinger. Printing floatingpoint numbers quickly and accurately. Robert G. Burger and R. Kent Dybvig. それぞれの論文を入手し、斜め読みした。 実装自体は Ypsilon の実装を移植させてもら…

割り込み関連のバグ - virtio

現象 receive 時に割り込みを見ているのに used->idx が進んでおらず待たされるときがある。 現象を解決する1つの方法 send で割り込み見るようにする。 仮説 send で割り込みを OFF にしているつもりだが割り込みが来ているのでは? 仮説が正しいとすると、…

作業が細切れなので

タスクコンテキストスイッチの軽さが問われる。 broken test pattern すらできずに強制中断なので難しい。

今日の復習

フレネル反射 2割 以下10割 Rasterize GPU パイプライン Parallel and distributed DB オブジェクト共有 simple さのわけまえ

すやすや

続 単純な場合の Skip Graphs アルゴリズムを実装してみた 1

kvs

前回の実装は node の追加方法が間違っていたので修正中。 具体的には検索と同様に任意のピアに対して追加すべきところをグローバルな何かを仮定してたのが間違い。 ToDo が増えてきたので整理。 グローバル要素の完全排除 2段階ではなく n 段階に 動作の主…

Emacs のスペルチェッカ flyspell-mode が便利

最近短い英語の文章を書く事が多いのだが、スペルミスが多い。メールなら Gmail がスペルミスを教えてくれる。 ただ issue tracking でやりとりするときなどは ChangeLog メモに文章を書いてコピペするのでスペルチェッカを通してなかった。 kosaki さんの日…

パケット送信は割り込み使わないように - virtio

前回書いたようにパケット送信では割り込みによる完了通知を使わないようにした。代わりに used->idx で管理する。 完了通知 OFF は desc.flags で VRING_USED_F_NO_NOTIFY を立てればよい。

浮動小数の読み書き

Mosh における浮動小数の読み書きの挙動がおかしいよと指摘を受けた。(他の処理系の方が正確な値を返すよと) というわけで、皆が通る道「How to Read Floating Point Numbers Accurately」を読もうと思う。

今日の復習

オブジェクト共有 3割 GPU パイプライン 2割 simple さの分け前 3割 Transparency Set and Aggregate

単純な場合の Skip Graphs アルゴリズムを実装してみた

kvs

分散などは考えずに、単純な場合の Skip Graphs アルゴリズムを実装してみた。(僕の理解やコードが間違っている可能性があるので注意) Skip graphs by James Aspnes and Gauri Shah という論文に書かれているアルゴリズム。 実装したのは Level 0, Level1 …

OSCompatThread for Windows を書く

pthread と Win32 Thread を wrap したクラスを書くことは先人達によって幾度となく繰り返されたようだ。資料が豊富なので実装は好調に進む(一度もコンパイルはしていないが)。 Boehm GC と Win32 Thread の TLS の関係を調べていないのが不安材料。

今日の復習

Rasterize 0割 以下10割 FreeBSD プロセス間通信 Concurrency control w/o locking ACID 実行性能とスケーラビリティ the heart of software

条件変数の設計ミスを修正

shiro さんにご指摘いただいた条件変数の設計ミスを修正。pthread_cond_wait の使い方が間違っていた。

今日の復習

実効性能とスケーラビリティ 3割 以下10割 Erlang BIF&ビット構文 One Step Test Learning Test SQL -> Algebra

DDD

DDD を最初から読み返して、「The Heart of Software」の部分を読み砕いたら A 氏が僕にこれを読めといった理由が分かった気がした。彼はいつも5歩くらい先を行くんだよな。

Shibuya.lisp #3

Shibuya.lisp » Blog Archive » Shibuya.lisp テクニカルトーク#3 の告知が出ています。 前回に引き続き、聞きたい話・お話ししてみたい人ばかりです。楽しみだ。 今回は子供が生まれたばかりで運営のお手伝いは少ししか出来ていないのですが、会場には何と…

virtio-net で受信、送信の割り込みをどう区別するか? - virtio

前回の懸念事項「ICMP と ARP がまじる」というのは検証ミスだった。動作は正しい。受信は正しく動作してコードもまとまってきた。 virtio-net で送受信の割り込みをどう区別するか迷っている。 送信時には送信が完了したら割り込みが来る パケットを受信す…

今日の復習

全て10割。 Volume Texture Replace function with function pointer ARIES 仮想記憶 タスクキャンセル

浅い眠り

朝方の浅い眠り。vring へのホストの書き込みは可視性が問題だから気をつけろという夢警告を受けた。

合い言葉は「へそ」

いつも通り、ひげ太をお風呂に入れた。ふと気づけばへその緒が見あたらない!。 洗い用のガーゼに埋もれてとれてた。おめでとう。お母さんが必死にへその緒を回収してたよ。 今日はとても蒸し暑かった。暑くてごきげんななめだったのに気づくのが遅れた。 ノ…

パケットが混じるバグに悩む - virtio

ARP と IP(ICMP)のパケットが入り交じってしまうことがある。デスクリプタの設定が間違っているだろうなあ。

(mosh concurrent) を trunk にマージ

Multiple VM の (mosh concurrent) ライブラリを trunk にマージしました。Linux, OSX の pthread 環境では意図通り動作しています。 あとは OSCompatThread.h にあるコードを Windows 対応するのが大仕事になりそうだ。

今日の復習

全て10割。 anti-aliasing ビヘイビアによるサーバー Crash Recovery Log Parameterize constructor Introduce static setter スレッドプールの利用 スレッドセーフとは