On 16-Nov-09, at 2:40 PM, Eliot Miranda wrote:
One was Quallaby. They did a network monitoring app that had huge numbers of large integers in a graph representing the state of the network.
I worked on that app for bit. We had one installation we had to be careful with because the images were 3.5 GB, and if we got beyond that, there wasn't enough room for the VM to work. Other customers were smaller but headed upwards and we could see that we would hit the limit eventually. At that point we were already processing much more than 4GB of data at once, but the partitioning into separate images was based on external factors and wasn't very flexible. Before I left, I was part of a project to move to a more cloudy architecture where partitioning was much more flexible.
I guess the take-away from that was that many cooperating smaller images works as well or better than one huge image. There might be applications where that's not true, and everything *has* to be in the same address space, but I can't think of any.
That is not to say, however, that 64-bit images aren't needed, just that images larger than 4 GB are the least interesting implication of having 64-bit pointers. I'd rather use the pointer bandwidth for more/ better immediate values, and run in 64-bit mode for better use of the hardware and integration with the host OS.
Colin