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.

Reply via email to