Can anyone explain how the "next-touch" policy can be implemented using "mprotect" on a NUMA system? Say I have an array of integers, A, I protect it using "mprotect". Next whenever any thread tries to access it i will only have information on the single address trying to be accessed (c-sigsegv-handler-mprotect). What do I do next? If anyone could explain all the steps (from start) needed according to the "next-touch" policy that would be great, thanks!
Asked
Active
Viewed 161 times
1
-
protect the memory segment from reading and writing; in sigsegv handler call libnuma to move the page to ... oh. you have no info about which thread it was and on which numa node it is. Either implement this in kernel or find the numa node number from ucontext (extra parameter of signal handler). – osgx Aug 30 '12 at 11:46
-
also check this " Terboven, C., an Mey, D., Schmidl, D., Jin, H., Reichstein, T.: Data and Thread Affinity in OpenMP Programs. In: Proceedings of the 2008 Workshop on Memory Access on future Processors: A solved problem?" and http://lwn.net/Articles/332754/ – osgx Aug 30 '12 at 11:48