400
Post/Edit Page
ABA問題を回避するためのカウンタ付きポインタを設計しようとしているが、困ったことにカウンタとポインタを同時にCASするための128bit整数型が対象アーキテクチャのひとつに存在しない。どうしたものか。▼カウンタ付きポインタの場合、ロックフリーに扱えるデータ型にいくつかの制約は付くものの、ABAの両端でたまたまカウンタが一周しない限りはABA問題を回避できる。実装や保守が容易で、実行速度のロスがほぼないのも魅力だ。しかし、組み込み関数でアトミックに扱える128bit整数型が存在しないとなると、この路線は捨てなければならないかもしれない。より複雑で、実行速度にもいささか難のあるハザードポインタへ足を運ぶことになる。▼アプリケーションの運用を考えれば、たとえ全人類が利用したとしても確率的にはカウンタ版で十分完璧だった。そういう意味でも棄てるのは惜しい。当該アーキテクチャで良い迂回路がないか検討してみたい。
pass:
Draft