思うだけで学ばない日記 2.0

思うだけで学ばない日記から移転しました☆!よろしくお願いします。

少なくとも後退はしていない…

T/O
この先ハマりそうな要素はマルチコア間の同期なので調査中
フェンス命令でロード/ストアを順序化しつつオプティミスティックロックするのが常識的な作りっぽい
が、巨大な置換表をコア間で共有しようとしているのだが、そのエントリへのアクセスごとにオプティミスティックロックするのはやめた方がいいかも
いかにx86アーキテクチャに不案内な漏れとはいえ、ギザ広いアドレス空間に散在するアドレスについてフェンス命令を乱発したのではコア共通のL3キャッシュがあってもとうてい有効活用されないのではという疑念を抱く(全くの皮算用であってまだ北森2.8 GHz使用中でCore i7マシンを物色もしてないけど!

じゃあどうするか?

置換表の共有というのは単にメモリの有効活用目的の側面が強いのであって、個々のエントリが壊れさえしなければコア間で内容の同一性が保証される必要はないはずので、キャッシュライン境界が32バイトとして、32バイト境界で整列したデータはコアから見て常にアトミック(32バイト全てがキャッシュにヒットするか、あるいは完全にミスするかの2者択一)という仮定の下に一切ロックもフェンスもしないというのはどうか、