貧弱なシングルタスクOSで処理中

・V-FIELDの実験
前の実験から、並列処理対応 + ラウンドロビンの負荷分散対応と、かなり効きそうな改良をしているにもかかわらず、実験データが無いので早く採る。

ちなみに、もっと速くなる余地としては…
・旧コネクションプール(select使用) → 開発中新コネクションプール(epoll/kqueue、ロックが少ない、データ送信時にデータ受信を並行処理)
・ファイルからpread + ソケットにwrite → sendfile
・ノード一覧テーブルの構造を、変更しやすいが検索が遅い構造 → 変更は面倒だが検索が速い構造
・メモリプール採用
・NBD → カーネル直結インターフェース

どれもかなり効きそう。
これやる全やる=書き直しですねー。



・マルチスレッド用非同期Logger
設計中…
Boostと張り合えるほどのtemplate乱舞で実装してやろうかと画策中。…でもたぶん挫折する。



・コネクションプール
実装中…
poll/epoll/kqueue抽象化インターフェースはできた。
それから、V-FIELDの時に作った&aio_readコネクションプールを作ったときに改良した IPv4/v6両用クラスが、とんでもなく役に立つ。
V-FIELDの時の汚さが考えられないほど簡潔。これはいい。

(ちなみに、poll/epoll/kqueue抽象化インターフェースが既にできていることは、大学内では秘密の方向で。情報特別演習で困るw
C++で実装しているから、「Cでは実装していない」と。Cで実装する気は無いですけどねー



・メモリプール付きスレッドプール
インターフェースを考え中…
Thread Local Storageを使う?
メモリプールクラスをBoostの中に発見。これを使おう。

そういえば、pipeってバッファに使えるなぁ、しかもカーネル内で…メモリプールよりpipeプール? と、ふと思った。



・高速IOラッパー
未着手
中身の実装は後にして、インターフェースだけ作る予定。



・IPAX用ポスター作成
6/8まで…だったかな