On Aug 24, 2009, at 5:42 AM, Steve Loughran wrote:
Raghu Angadi wrote:Suresh had made an spreadsheet for memory consumption.. will check.A large portion of NN memory is taken by references. I would expect memory savings to be very substantial (same as going from 64bit to 32bit), could be on the order of 40%. The last I heard from Sun was that compressed pointers will be in very near future JVM (certainly JDK 1.6_x). It can use compressed pointers upto 32GB of heap.It's in JDK 1.6u14. Looking at the source and reading the specs implies there is savings, but we need to experiment to see. I now know how to do sizeof() in java, (in the instrumentation API), so these experiments are possible
Hey Steve,I'm a bit dumb with Java (so this might be something you already know), but last week I discovered the "jhat" tool. You can dump the Java stack with JMX to a file, then use jhat to build a little webserver that allows you to explore your heap.
One page it provides is a table histogram of the instance counts and # of bytes per class.
This helped me a lot when I was trying to track memory leaks in libhdfs.
I would expect runtime over head on NN would be minimal in practice.I think there's a small extra deref cost, but its very minimal; one 8 bit logical shift left, possibly also an addition. Both of which run at CPU-speeds, not main memory bus rates
One interesting tidbit (from my memory of a presentation 2 months ago... I might have the numbers wrong, but the general message is the same):
On petascale-level computers, the application codes' CPU instructions are about 10% floating point (that is, in scientific applications, there are less floating point instructions than in most floating point benchmarks). Of the remaining instructions, about 1/3 are memory- related and 2/3 are integer. Of the integer instructions, 40% are computing memory locations.
So, on the biggest DOE computers, about 50% of the CPU time is spent on memory-related computations. I found this pretty mind-boggling when I learned this. It seems to me that the "central" part of the computer is becoming the bus, not the CPU.
Brian
smime.p7s
Description: S/MIME cryptographic signature
