On Dec 29, 2011, at 5:40 PM, Kevin Wright wrote: > Not just the CPU! It really helps to be aware of how cores interact, > caching, the memory controller, and how your operating system manages paging > and virtual memory.
Yeah, I should have been more specific.... > > For an idea of this level of systems thinking, I still stand in awe of the > Varnish architecture notes as one of the best examples of its kind: > https://www.varnish-cache.org/trac/wiki/ArchitectNotes > > Sure, there's value in knowing about pipelining, branch prediction, Compare > and Swap vs Load Link/Store conditional, etc, etc. But you'll still gain > more from familiarity with memory management and the garbage collector first. Well, most of the people now interested in the CPU are already reasonably well versed in GC/memory management. And there is certainly a lot more that can be done there in terms of tooling... education. Anytime I put GC in a title I find the room easily fills... but people understand generational spaces, they are looking for practical information. I don't see many out there offering that type of here's a condition, here's how you got here, and here are some things you can do about it. That said, I'm speaking about this leading edge that is pushing out.. that's what I'm really addressing. How do we make this @hi# really rock. How can we see if our code is cooperating or fighting against the hardware. Banking's been doing it for a while but not every where. And to be quite honest, I've got a personal bias in that I've just started a new open source project, jPCM with and eye on exposing cpu counter values on a variety of modern intel chips. For example, would your app benefit from large pages? Well, unless you can get a look at the tlab miss rate.. it's a stab in the dark (performance tuning anti-pattern). I want to be able to see that value in a production system, Do you suffer from false sharing? Are there other conditions resulting in frequent thread stalls? Each of these problems has Java code/JVM Hotspot code solutions.. but you can't improve what you can't see.. ;-) Happy New Year Kirk -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
