A disciplined shared-memory model for parallel state-driven algorithms
simonhf.wordpress.com
simonhf.wordpress.com
On the other hand, GPGPU community has an interesting idea to this problem. The idea is to have a memory hierarchy and at the bottom of the level, you have a homogeneous continuous memory space which is painfully slow and have strong consistency. When you walk up the hierarchy, you will have faster, smaller, local memory that have weaker consistency.
Disclaimer: I haven't got time around to read the paper throughly, it is just my two cents.