3 ms·
Using Java?
by mring33621 11y ago
Using Java?
- hga 11y agoBetter use Azul's Zing unless you want worst case heap compactions to take 3 hours (maybe it's better now, per their Pauseless paper, I think, they said 1 second per GiB, but it would have to be a LOT better). Their approach is to engineer for the worst case, then everything else is easy ^_^. More seriously, their collectors run all the time and GC the whole heap as well as of course nurseries more often. I'd add that these systems often have NUMA effects in access times, even if it's one big address space, i.e. each chip has better access to the memory directly attached to it than memory on other chips. The mentioned SGI system uses stock Xeon chips, so it's got these sorts of issues I'm pretty sure.
- hyperpape 11y agoPause times are better than 1 sec/GB with CMS and (by all reports) a lot better with G1. We have a service running an 8GB heap and using CMS and I want to say that it has < 100 ms pauses, definitely < 1s. With a 64TB heap, the question isn't "is it better?" but "is pause time O(1)?" I can't recall what the Azul collector does, but I think G1 has some kind of linear behavior that would make it unusable on a heap that big. I don't want to be Pollyannaish, but it is true that as time goes on, people will keep developing technology for handling large heaps. G1 was not fully supported until Java 7 and will probably be the default in Java 9. Meanwhile there's another low pause collector that Red Hat is working on (http://www.infoworld.com/article/2888189/java/red-hat-shenandoah-boosts-java-garbage-collection.html http://www.infoworld.com/article/2888189/java/red-hat-shenan...).