3 ms·
The ghc gc, and the ghc rts generally, are really great pieces of engineering. Very readable code too! And the ghc gc / rts are getting better every release.
by carterschonwald 13y ago
The ghc gc, and the ghc rts generally, are really great pieces of engineering. Very readable code too!
And the ghc gc / rts are getting better every release. I'm hoping to spend some time late summer / early fall evaluating how to get better Numa support in. (And jvm notably lacks any Numa story as far as I can tell)
- pjmlp 13y agoAt least Oracle and IBM VM do support NUMA. Surely there might be other vendors supporting as well. http://docs.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html http://docs.oracle.com/javase/7/docs/technotes/guides/vm/per... http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=%2Fcom.ibm.java.doc.60_26%2Fvm626%2FJ9%2FGC%2Fmm_gc_balanced_numa.html http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?top... -
- carterschonwald 13y agoGc support is the important first step. But then the next step of work is scheduling work in a locality aware way. The libnuma lib in Linux and the portable hwloc lib that's part of the openmpi project are example substrates. Admittedly, for most applications this second step won't make a large difference, but in my application domain, numerical computing, better memory locality at any given granularity can yield an order of magnitude improvement. Locality aware scheduling in this context can actually yield a slightly super linear speed in the multicore / multi socket regime because of vagaries of a systems memory bus topology. Ill hopefully be in a better position to quantify this last remark more precisely middle to late summer, assuming Wellposed's numerical product launch results in signing some early customers in the next 2 months.
- pjmlp 13y agoThanks for the explanation. I never used NUMA systems.