Cost effective way to build a server with lots of RAM

hardwarememory

I have a Java application where scalability is primarily limited by RAM, that I would like to run on one or more servers in a datacenter. Where should I be looking for server hardware that can accommodate 100GB – 512GB or more of RAM? I'm not an expert in such matters so I really don't know where to start.

Is this getting into supercomputer territory (6 figures or more), or could I obtain such a server for low 5-digit dollars?

A few notes based on some questions below:

  • Yes I have tried hard to think of ways to remove this scalability requirement, and no its not really an option. The application fundamentally requires very fast random access to very large amounts of data, storing in a hard disk (via a database perhaps) won't cut it.
  • I'm pretty sure the JVM can, at least in theory, scale up that far. I regularly run my code with 10GB allocated to the Sun 1.6 JVM without noticeable problems.

Best Answer

Unusual requirement sometimes benefit from unusual solutions. Sure you can give 6 figures to Sun, Dell or HP and be done with it, but it is not the only game in town.

For single box solutions, getting up to 128GB is very cheap (32 x 4GB ~ USD 3.000), even with homebrew motherboards that cost less than USD 1.000. (don't mock the makers. If it's good enough for Google ... )

256GB is seriously more expensive (32x8GB ~ USD 18.000), and beyond that ...

Alternatively have you considered Infiniband (10Gbps) interconnected cheap boxes as an alternative?

You could build a 4 node, 16 processor (64 cores), 512GB machine that way and still have change from USD 25.000 .

You would furthermore have the added benefits of gracefull degradation, if your application can run on 3 machines if one of them fails, and possibly get a linear scaling in cost up to 8 nodes (just add 4 more nodes). At that point you are looking at a cool 128 core, 1TB RAM beast for < USD 50.000 .

Before you dismiss the Infiniband proposal as exotic, it isn't for the type of machine you are asking for. e.g. 141 of the top 500 supercomputers are built this way, including 4 out of the top 10 ( http://top500.org/connfam/8 )

Related Topic