2011-12-01から1ヶ月間の記事一覧

Lock-free スナップショットの撮り方を説明してみる

マルチスレッドなどの環境下で時間経過によって勝手に変化する複数の変数を読みたい場面は多くあります。 しかしCPUは一度に一つしか値を読み書きできないので、簡単には出来ません。何故なら読んでるそばから値が変動してでたらめな値を読むかも知れないか…

Karesansuiを試す

この記事はカーネルVM Advent Calendarの12/21日分の記事です。前日分はid:rti7743さんのなのは完売 とある関数の電脳戦 (じょうほうせん とある関数のバトルプログラム) - お前の血は何色だ!! 4です。 Karesansuiって? ものすごく大雑把に言うとEC2のオー…

DSIRNLP勉強会で発表しました

@overlastさんのお誘いにより招待講演という形でDSIRNLP勉強会で発表をしました。IRともNLPとも関係のない話ですが、冬のLock-free祭りという題目でお腹いっぱい話せました。 発表資料はこちら 冬のLock free祭り safe View more presentations from Kumazak…

ノンブロッキングでマルチリーダーでserializableなSTM戦略

前回ノンブロッキングなSTMに付いて説明したのですが、トランザクション中での読み出しに関してはあまりに適当な説明しかしていなかったです。 そこをもう少しまともに説明しようと思います。 読み出しトランザクション? 複数の箇所の読み出しをatomicに行う…

LevelDB雑感

LevelDBが公開されて少し経ちました。 全体ではLog Structured Merge Treeという物を実装しているようですが詳しいところは知りません。実装を少し読んだのですが内部で使われているSkipListにいくつも思い切った設計がありました。(参考)togetter「LevelDB…

Non-blocking STMについて頑張って説明してみる

STMはソフトウェアトランザクショナルメモリの略です。 ↓とりあえずwikipedia http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E…