How To Use a Terabyte of RAM 424
Spuddly writes with links to Daniel Philips and his work on the Ramback patch, and an analysis of it by Jonathan Corbet up on LWN. The experimental new design for Linux's virtual memory system would turn a large amount of system RAM into a fast RAM disk with automatic sync to magnetic media. We haven't yet reached a point where systems, even high-end boxes, come with a terabyte of installed memory, but perhaps it's not too soon to start thinking about how to handle that much memory.
Add-Free one-page Version of the story (Score:5, Informative)
Power Failure (Score:3, Informative)
For example, will the stuff synced from magnetic media be stored elsewhere? If so, what happens to the speed?
-B
uh - there is at least one system with 1TB of RAM (Score:5, Informative)
nothing new here (Score:4, Informative)
Re:1 TB of memory... (Score:2, Informative)
Re:Power Failure (Score:5, Informative)
Re:The problem with giving Windows 1TB... (Score:4, Informative)
If you find this in any way strange, wrong or confusing, perhaps you should read up as to what the primary purpose of a frikkin' DATABASE SERVER is.
Here's a hint: the more data it can keep readily accessible (that is, in RAM) the better it will perform. And as you mentiones, you can of course set it to use less RAM if you have to. It's just that it's optimized for performance by default.
Re:You only need 16GB of RAM for this to be useful (Score:3, Informative)
Re:Add-Free one-page Version of the story (Score:5, Informative)
http://lwn.net/Articles/272011/ [lwn.net]
Re:1TB of RAM is available today in a server (Score:2, Informative)
Re:1TB of RAM is available today in a server (Score:3, Informative)
Re:Add-Free one-page Version of the story (Score:1, Informative)
Out of curiosity, why the link to PC World when the summary specifically mentions that it's on LWN? If Jon get paid for the PC World version because of the ad revenue, that's fine with me. However saying that it's an LWN piece and linking to another source is a bit misrepresentative.
cachefs (Score:3, Informative)
Another historically interesting ram file system was the Amiga Recoverable RAM Disk. You coudl even boot off it.
Re:uh - there is at least one system with 1TB of R (Score:3, Informative)
Re:8 GB (Score:2, Informative)
Re:You only need 16GB of RAM for this to be useful (Score:3, Informative)
Re:You only need 16GB of RAM for this to be useful (Score:3, Informative)
Re:1 TB of memory... (Score:2, Informative)
cosmology simulations (Score:1, Informative)
Cosmology simulations take as much memory as you can throw at them. You think a few exabytes is big, but that's just peanuts to space!
This one is one is the most complex (by most measures) cosmological simulation ever run, using just over 10 billion particles and nearly the entire terabyte of the computer's available memory:
http://www.mpa-garching.mpg.de/galform/millennium/ [mpa-garching.mpg.de]
They ran it on a 512-CPU IBM p690, which took about 28 days of parallel runtime. (2^40) / (10^10) ~= 100 bytes per particle, which is high by maybe 50% but accounts for overhead and is a reasonable value. The paper reports ~200 Gflops sustained, which is certainly memory bound in any distributed N-body simulation, giving ~5*10^17 total floating-point ops.
They only did total output at 64 output timesteps because each of those took about 300GB for ~20TB total, which filled up a decent sized storage rack 3+ years ago (and still). The contemporary highest-detail galaxy clusters were modeled with as many as 3 million particles, but the simplest interesting "structures" (the dark-matter halo detection threshold was 20 particles) contained 20~100 particles.
Now for the cool stuff:
- there are ~400 billion galaxies in the observable universe, even if galaxy surveys (Sloan, etc.) catalog only a small fraction of them
- reasonable (i.e. "useful") resolution for typical structures of interest (quasars, typically) is ~1~10 million particles; better if you can get it
So:
You have to model dark matter halos with useful precision. Even if you are satisfied with modeling whole galaxies as point-like objects:
(4*10^11 galaxies) * (100 bytes/particle) = 4*10^13 bytes ~= 40 TB
(~10^12 CDM particles) * (100 bytes/particle) = ~100TB
=> allowing a little slush, 200TB of RAM would get you some very valuable theoretical simulation data of an object/construct/whatever that approaches literally the size and complexity of the observable universe at a galactic scale. More memory will just make that even better, too.
Desktop memory doubles say, every 2 years; look at the typical "consumer" systems the last few years:
1994: 16MB (P1... wow; 16 is a little high for '94 I guess)
1996: 32MB
1998: 64MB
2000: 128MB
2002: 256MB
2004: 512MB
2006: 1GB
2008: 2GB
We want to see when we have about 100,000 times as much memory as now, which is about 16.5 doublings, each of which take around 2 years, so we should see this some time around 2035-2040 on consumer grade machines. A purpose-built supercomputer can contain, say, 1000 times the consumer amount, so today's 4~50TB supercomputers need to double, drumroll.... 2~5.5 times. The top supercomputers will probably have 200 terabytes of ram within 2 years, and the lowly supercomputers cosmology simulations have to settle for will probably have that within 10-12 years; i.e. by 2020 (yeah, it's getting closer!).
It may even be possible to do quad-precision floats in hardware, which would be beneficial for cosmological simulation (or any N-body simulation), and that will cost a doubling too. And after a petabyte or so, the resolution gets *really* interesting because you can start modeling macro-scale systems of micro-scale (you know, individual atoms or stars) as long as you know the force laws, and you can start finding those out numerically if you don't. So there's plenty of use for *truly* astronomical, dizzying amounts of memory way, way beyond one measly terabyte.