Previous | Next --- Slide 35 of 37
Back to Lecture Thumbnails

Great link! Is there any way to consciously avoid false sharing in a parallel cache oblivious algorithm though? Or does the compiler usually do a good enough job?


So by consciously avoiding false sharing you mean something like we did on quiz 3? Changing the access patterns so that caches on 2 different cores don't access the same line during the same time period? I don't think the compiler would do much in such a case.


An Analysis of Linux Scalability to Many Cores. mentioned that false sharing will trigger snooping protocol which generates communication overhead. They solved it by using per-core data structure to avoid false sharing.