back

by jeffreyrogers·12y ago·view on hn ↗
My understanding is that even with PAE (Physical Address Extensions) a 32bit OS can only provide 4GB of RAM to any individual application (but more than 4GB or RAM can be used in total). In which case there is a benefit to 64bit OS's, particularly with memory intensive applications such as games, CAD tools, or audio/video processing.

Edit: Actually you already addressed this in your post, with forking a process, which does seem like a potentially better solution in many situations.

Also, not sure why you're being downvoted, since your post seems intelligent and well thought out.

1 comments
> games

Almost all games are distributed as 32 bit binaries, albeit more recent titles are coming out 64 only. Point is, only one ever really comes out, because the vendors don't want to support two independent binaries, and in practice games really have no excuse to use more than 4GB of ram - you really should be caching to disk any scene or environment data that is that large, and all your texture data is already resident on the GPU. GPU drivers would have to be PAE aware, though, if you wanted to address more than 4GB of video memory (such as on the Titan).

And all the media creation tools do fall under that "business class use case". It is not that I think 64 bit is stupid - if you need 64 bit addressing, you need 64 bit addressing - just that the average consumer did not need it, at all. Business applications that needed 64 bit could have been shipped as such, hopefully for Itanium (read some docs on it, the ASM and pipeline model were way ahead of their time - to its detriment, sadly) which could have been the Xeon-esque business CPUs.

...this complaint makes no sense. By having consumer 64-bit, we make 64-bit processing cheap for everyone. If it's a business-only thing, then it's going to be a lot more expensive and hard to innovate on.

32-bit memory limits in applications suck. My machine has 16gb of RAM. Heck many laptops have 16gb of RAM. No one should have to faff around with forking and IPC if they want to use a large amount of memory for an application.

You list of a whole lot of gotchas and workarounds which could be solved by PAE...or we could just do what we actually did, which is use a 64-bit architecture and get it consumerized so it was everywhere ASAP.

The point is that the industry effort to move to 64 bit, which consumed significant effort, and introduced (at the time) noticeable overhead in increased memory consumption and reduced cache efficiency was unnecessary.

There were solutions to all the problems encountered in 32 bit back in 2004 that could have been easily solved without doubling word size and creating the 32 / 64 split that means, at the least, all the Linux distros are shipping two versions of everything, for example. And the same thing is happening again, now.

> we make 64-bit processing cheap for everyone.

The business class that really has a practical use for >4GB per application already buys the extremely overpriced Xeon chips. Back in the day, those would have been Itanium, which were also 64 bit. There was a market for that technology in place before AMD64, and nothing about consumerizing 64 bit indicates it got cheaper - silicon is silicon, and the business world is big enough to easily support maintaining a technology end users don't need.