やっと負荷かけても落ちなくなった。 詳細書こうかと思ったけどめんどいので適当に概要… 結局、freed memoryを参照しても落ちないように自前でメモリ管理をやる必要があったというだけでした。そもそもせっかくLockFreeなコンテナなのに、メモリ管理がlockfreeじゃないとか悲しいしね。 あとは、CASが失敗したらちょっとwaitをかけて、他スレッドを優先させてやったりとか。こうした方がむしろパフォーマンスあがった。 実装はここらへんを見てください: http://nyaxtstep.com/trac/libfecti/browser/trunk/fecti/Utility FMTQueueとかFBlockMemoryAllocatorあたり 左からNon-blocking Concurrent Queue, Two-lock Blocking Queue, std::queue
Over the past two decades the research community has developed a body of knowledge concerning “Lock-Free” and “Wait-Free” algorithms and data structures. These techniques allow concurrent update of shared data structures without resorting to critical sections protected by operating system managed locks. A number of wait-free and lock free algorithms for simple data structures such as LIFO stacks a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く