Hey Bill: Did you get any input from your team on this yet?
On Fri, 2006-08-25 at 15:05 -0500, Adam Litke wrote: > We are trying to improve the reliability of the libhugetlbfs malloc > function by prefaulting the huge pages at allocation time. If we do > this, we can guarantee (for apps which do not fork) that all of the > pages are available and fall back to normal pages if enough huge aren't > available. > > The problem with prefaulting (via mlock) is that huge pages are > preferentially taken from the numa node which called malloc, not the > nodes where the memory is first accessed. This leads to serious > performance regressions which make it slower than using normal pages. > > The solution, for these applications, is to use the NUMA api to set > bind/interleave policies that make sense for the application in > question. My question for you is: What tuning scenarios would you > require for an environment variable that controls this behavior? > > The two options we mulled over: > - Do nothing -- rely on previously set numa policy (numactl) > (The above will generally exhaust all node-local huge pages first, then > move on to other nodes) > - Interleave on all nodes > > Would these be enough to cover the cases you see when running various > workloads on numa systems? Which option should be the default? My gut > feel is we should take option 1 above for the default. This will handle > single-threaded apps that don't bounce around multiple numa nodes. > > That still leaves one issue -- Applications that move among numa nodes > unpredictably after starting up will always perform worse under this new > algorithm than before, since demand faulting allows the memory to be > instantiated node-local wherever the process happens to be running. > > Ok, I am beginning to ramble. I'll leave it here for now. Hope this > all makes sense --and if not, let me know. > -- Adam Litke - (agl at us.ibm.com) IBM Linux Technology Center ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Libhugetlbfs-devel mailing list Libhugetlbfs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel