News Focus
News Focus
icon url

aixman

09/01/03 12:57 PM

#12486 RE: kpf #12485

kpf - Could you elaborate what exactly is the benefit of the extra adress space for the users of AMD-64? (I'm pretty sure they would not care at all of what the benefits are from a programmer's viewpoint).

In a nutshell, with 32 bits under a 32 bit OS the memory limit per process is somewhere around 2Gb, may be 3Gb if some tricks which slow down the OS are used.

Imagine, your 32 bit application needs 5Gb of RAM to do the job. Your options are 1) make your code 64 bit clean and use a 64 bit architecture 2) try to rewrite the program for Intel's PAE extentions, or make it require less memory

Now, 1) is the easiest, 2) is really ugly and often is not even doable.

So, all 64 bits get you is unlimited memory space. Or yeah, and also, under a 64 bit OS 32 bit applications can have full 4Gb instead of just 2Gb. Other advantages are pure fiction. This all may not seem like a lot until you need to run something that can't get enough memory under 32 bits, and you're basically stuck. And SMP and iHT won't bail you out because you're still dealing with 32 bits.

This also means that 64 bits are now a feature that is really only needed on high end. Yet few years down the road some of the consumer applications may need it too (bloated MS Word, anyone ?) With AMD64 the whole setup is so damn attractive to high end users, get a 64 bit OS, run your database in 64 bits, and run everything else in 32. Or run your favorite monstrous application in 64 bit, and the rest in 32 bits. Can't beat this offer ...
icon url

sgolds

09/01/03 1:56 PM

#12501 RE: kpf #12485

kpf, first I think that aixman was mistaken because he did not account for the fact that longs continue to be 32-bit under AMD64 (see my previous post). They use a different variable for 64-bit, longlong.

So even code under 2GB should run faster under a proper 64-bit compiler because of the extra registers (reduced memory accesses). Right now, Intel has the best compilers, hands down (and they don't do AMD64). We have a bit of compiler work to do.

Could you elaborate what exactly is the benefit of the extra adress space for the users of AMD-64?

This becomes a really big thing for programs which use more than 2GB of space (under Windows, or 3.5GB under Linux). Currently, either the application has to be optimized for Intel's PAE architecture - which is a bear for the programmer, and introduces runtime overhead - or worse, it has to disk thrash. Even with disk swapping, the whole application space hits a wall because of Windows limitations on how much space it can automatically use on the disk.

Here is the rub (and controversy): Currently there are no desktop applications which can use these huge address spaces. However, there are two catagories of desktop applications which are bumping up against the limit: High-end gaming and graphics development (things like Photoshop, Illustrator and video editing). The key to Athlon64 is a few compelling programs from this catagory - then the P4 will grind to slo-mo while the Athlon64 briskly sprints along. Will key game makers and Adobe come on board?

On servers, databases are already across the 4G line and require 64-bit machines to hold their working set of data in memory. That is one of the reasons that AMD released Opteron first: The applications are already compelling on servers.