A thread currently ongoing on the LUV list about RAM and swap had me thinking about how to create a desktop system capable of high performance that idles with low power usage.
The way I think that would actually work is to split a system in two. First, a main system containing:
- A dual-core 64-bit ARM CPU (the 64-bit ARM is now standard, but will take a while to make it to mass production)
- A few SATA ports, at least two 6Gb
- A basic 3D GPU, a laptop-level NVIDIA or AMD chip is probably right here, needs to be capable of driving four simultaneous displays and/or two 30" monitors
- A *good* 1Gb ethernet NIC, capable of sustaining wire-speed transfers
- Capable of taking 16GB of RAM, normally 4GB or 8GB for this sort of system
This should easily be doable in less then 30 watts, and, for most operations would not be obviously different from a larger system.
Next, sitting off across a PCIe link (at least 10Gb/sec, so x4 if Gen1), a simple, yet high performance system with a "single-board" system, containing:
- A high end Intel (eg. Core i7 39xx) or AMD (Bulldozer) cpu
- As much RAM as they can take, could be 32GB or more
- BIOS would be LinuxBios to allow fast booting and shutdown
And that's it, all IO would be via the PCIe bus back to the main ARM system. A simple job scheduler on the ARM side could then allow jobs needing high performance to spin up the big system, and after all jobs complete and the big system goes idle, shut it down again.
I have a hefty Intel system (Core i7, 12GB RAM) on my desk at Google, and, for some network simulation jobs this can max-out my system for a few minutes, but the other 99% of the day a much smaller system would be more then enough.