How much memory is "enough"?

Bill Gates is often misquoted as having said something to the effect that "no one will ever need more than 640K of memory!" Happy to poke some fun at himself, Gates suggested that anyone that actually believed this legendary quote probably also thinks that Microsoft is working on an email tracking system.



While the actual specifics of what was said may be lost to time and fading memories, the basic idea is that at some point, even unimaginable amounts of memory are likely to be exhausted. With the availability of 64-bit computing - and obviously XP-64 is not first to the party, although we'll leave discussions of Linux and other 64-bit OS solutions out for now - we now have the potential to address up to 2^64 bytes of memory (or 16 EiB of memory if you prefer). Gates quipped, "I'll be very careful not to say that 2 to the 64th will be enough memory for anyone. I will say that it might last us for a little while; it's quite a bit of memory, but some day somebody will write code that wants to go even beyond that."

In reality, our current x86-64 systems can't actually address that much memory - and with the largest readily available DIMMs currently coming in at 2 GB in size, it would require over two billion such DIMMs to provide 2^64 bytes of memory! For the present, hardware is limited to 40-bit or 48-bit physical address spaces, depending on implementation, which would still require hundreds or even thousands of 2 GB DIMMs to reach. As the hardware limits are approached, things can be modified to stretch the physical address space until it eventually reach 64-bits. When will this occur? Given that it took nearly two decades to go exceed the constraints of the 32-bit address space, 64-bits could very well last for several decades (at least on the desktop). But that's just speculation for now.



One of the areas that we really need to talk about is who specifically needs more than 32-bit memory spaces. While everyone stands to benefit in some ways from additional memory, the truth is that we will not all benefit equally. Servers and high-end workstations have already been available in 64-bit designs for a while, and they remain the primary examples of usage models that require more memory. You can see some examples of the server uses for 64 bit outlined above. A further example given was the MSN Instant Messenger servers. MS was able to reduce the number of servers - and thus the space required - while improving performance by shifting to a 64-bit environment.

On the desktop front, the vast majority of people aren't waiting with bated breath for Word 64 and Excel 64; instead, it's the content creation people that are working with large 3D models, movies and images that are beginning to run into the memory wall. 3D gaming may hit that wall next, although it may still be a couple more years. After conversations with several vendors following the keynote, we feel safe in stating that a major need for 64-bit Windows will only come if you're already running at least 2 GB of RAM. If you're not running that much memory, it doesn't necessarily mean you should avoid upgrading to XP-64, but you'll certainly get diminishing returns. On the other hand, if you're running 4 GB of RAM in your system and still running into memory limitations, 64-bit Windows has the potential to bring vast performance improvements.

What Took So Long? The Benefits of XP-64
Comments Locked

36 Comments

View All Comments

  • AtaStrumf - Tuesday, April 26, 2005 - link

    OK fitten, that clears up the grammatical "errors", but what's up with the 16-bit colors? Some sort of a graphical pun?
  • mikecel79 - Tuesday, April 26, 2005 - link

    There's a typo on page 4 in the 6th paragraph. It reads "The next example given was of SQL Server 2003". It should be "The next example given was of SQL Server 2005".

    There is no SQL 2003.
  • ukDave - Tuesday, April 26, 2005 - link

    Typo: Page 7, "Thoughts on the Longhorn Driver Model". Second paragraph, last line.

    'loose' should be 'lose'.

    *cough* bored :P
  • fishbits - Tuesday, April 26, 2005 - link

    #10 I always wondered how many more people would try Linux, but were scared off by the hatred and snobbery of so many of its users.

    Seriously, would you personally be happier if more people moved to Linux, or would you rather they stay where they are so you can feel better hurling abuse at them?
  • Truder - Tuesday, April 26, 2005 - link

    I've seen this news about hybrid harddrives a few places, but I keep wondering about the nand flash on these drives.
    Wont it wear out relatively quick, due to the numerous rewrites, like other solid state media?
  • Googer - Tuesday, April 26, 2005 - link

    I wish MS would keep their nose out of hardware design. If they start messing up hardware like they do software, then I am permanently becoming a MAC user.
  • Beenthere - Tuesday, April 26, 2005 - link

    Why would ANYONE desire to be at WinHell ??? Sombody must be into "PAIN"! From the reviews of Windoze 64 it would appear that MICROSUCKS is the best advertisement in the World for Linux.
  • Viditor - Tuesday, April 26, 2005 - link

    "uh, "readily available" "

    Don't bother me with details...;-)
  • fitten - Tuesday, April 26, 2005 - link

    Just a follow-on:

    From the site: http://webster.commnet.edu/grammar/determiners/det...

    "Merriam-Webster's Dictionary says that we can use an before an h- word that begins with an unstressed syllable. Thus, we might say an hisTORical moment, but we would say a HIStory book. Many writers would call that an affectation and prefer that we say a historical, but apparently, this choice is a matter of personal taste."
  • fitten - Tuesday, April 26, 2005 - link

    #2

    "An Historical" is grammatically correct British. American English uses "A Historical". I believe either are OK no matter where you are. Do a Google search on "grammar "an historical"" (must have the "an historical" in quotes or google will throw out the "an").

    The term "Compute Cluster" has been in use for a decade in the HPC field. Compute clusters are clusters dedicated for computationally intensive tasks (rather than a render farm or a cluster for visualization, for example).

Log in

Don't have an account? Sign up now