Hoard

というメモリアロケータがあるそう(Hoard)。マルチプロセッサ用のメモリアロケータで、LD_PRELOAD="/path/libhoard.so:/usr/lib/libdl.so"とかしてmalloc/freeをすりかえて使うみたい。
メモリアロケーション時にロックでシリアライズされるのを防いだり、false sharingを避けたりしてパフォーマンスがあがるそうです。ASPLOSに論文を通しているんだから、ちゃんとしたものなんだろう。
PARDSのメモリアロケーションも考えたほうがいいのかなぁ?共有メモリのアロケーションは確かにシリアライズされるし。しかし、そこまで共有メモリのアロケーションは頻繁じゃないよなぁ。マルチスレッドアプリは共有するつもりがあろうがなかろうが、メモリアロケーション時にロックを取らないといけないわけだから、効果があるのか。
やはり、マルチスレッドが駄目なのでは :-)