ちょっと未来のことを考えてみる
http://norvig.com/21-days.html#answers
mutexのlock/unlockが25nanosecでmain memoryへのアクセスが100nanosecかかる時代だ。
isuconでユーザ空間にアクセスがいったら負けとかいってる間に、メインメモリにアクセスがいったら負けという時代がもうすぐそこにきている。
少し未来に思いを馳せてみる。
そう遠くない未来には個人の所有するコンピュータが100コアのCPUを積んでいるだろう。
そして各コアはそれぞれL1、L2キャッシュをもっているだろう。
そこで果たして100個のスレッドをうまく協調させながら並列に動かすことができるのだろうか。
なんとなくだけど各スレッドはスレッド固有のデータ領域を持つ前提で動いて、メッセージングでやりとりする方向に収束するんじゃないかなあ。
もちろん、未来では今とはまったく違うアーキテクチャになっているのかもしれないが。