ARM-Based Servers Coming In 2011
markass530 writes with this from the EE Times: "Arm Holdings chief executive officer Warren East told EE Times Wednesday that servers based on ARM multicore processors should arrive within the next twelve months. The news confirms previous speculation stemming from Google's acquisition of Agnilux and a recent job advertisement posted by Microsoft. East said that the current architecture, designed for client-side computing, can also be used in server applications."
I can see myself using an ARM-based linux server in the home.
If they get proper business support from some largeish vendor pushing out rack machines then that'd be great too. All the servers I admin currently run x86 from Intel. Saying that, when idling, they're not terribly power hungry; but arm boxes should be a lot better.
Lowering power consumption is never a bad idea for your bottom line, as long as the performance-per-watt is acceptable. The first thing I thought was that it would be useful for larger clusters of machines if the performance isn't on-par with power6/x86 server chips. At the end of the day the deal breaker will be just how much performance you can get out of their server chips, which will affect what type of environment they're suitable for.
I'd say that ARM is on par with x86 Hz vs Hz, or even better. The problem is that ARM is barely past 1 GHz while x86 is pushing towards 4 GHz. There are just now ARM processors with two high performance cores, while x86 processors are pushing past 12 cores and climbing. There are no ARM cores that I know of that does hyper threading, while almost all x86 cores do at least two way multithreading.
So.. I'd say that we will be using x86 for high performance servers for quite some time still.
However.. putting litterally thousands of low performance ARM cores in a 3U enclosure would certainly be good for some server applications.
ARM is David. x86 is Goliath.
Most of us inherently favor David.
IOW, benchmarks or you're full of shit.
Benchmarks are BS too. Better to check out the in-depth analyses in Microprocessor Report (that was certainly the source for this sort of thing back when I was doing this sort of hardware).
Generally speaking (at a very gross approximation!) the biggest factor in speed seems to be feature size, and ARM cores run cooler than x86 cores. ARM have focussed on the low-power end of the market far more than Intel and AMD (who have been duking it out at the high-speed end) and this means that for some applications, their stuff is absolutely best. I don't know whether that's true for server-class computing; the lower power consumption will get better packing densities but whether that will compensate for the reduced computational power I just don't know.
Of course, a good benefit in the "small server" market would be being able to run normal workloads without active cooling (i.e., fans) in a normal room. That would save loads on power and aircon. (And I know for one thing that there are ARM cores that can cope with very wide temperature variations. It's impressive when you see someone torturing a CPU with a hairdryer and – straight after – some dry-ice...)
"Little does he know, but there is no 'I' in 'Idiot'!"
MIPS and PowerPC. It ran competitively on most of these architectures, but the problem was always the missing third party software. If Microsoft just wants ARM servers for internal use, this wouldn't be a problem. Other people could probably manage too. Server software on Windows tends to be either written by Microsoft, open source, developed in-house, or provided by a small number of other companies. The first three mean it can just be recompiled. The fourth means that MS can apply some pressure to encourage an ARM port relatively easily.
A lot of the win32 API makes stupid 32-bit-and-little-endian assumptions, so Windows hasn't been ported to any big endian systems (PowerPC and MIPS are biendian, and Windows ran them in little endian mode). The 32-bit assumptions are hacked in win64 by using an LLP64 model, which breaks the assumption that sizeof(void*) <= sizeof(long). This is not guaranteed by the spec, but since it's true for pretty much every platform in existence before Win64, a lot of people assume that it is.
ARM is 32-bit and little endian, so userland Windows software should be pretty trivial to port. The only real difference you might notice is that ARM doesn't support unaligned loads, while x86 does (it's just really slow). An ARM OS can trap the exception caused by an unaligned load and emulate it, so even code that depends on it could work, just slowly. The only time you'll notice this in C code is if you are doing a lot of pointer casting - if the compiler can tell that it's an unaligned load, it will do two aligned loads, and shift-and-mask the results together. This is not exactly fast, but it's faster than an OS trap.
I am TheRaven on Soylent News
What's the point of a Beowulf cluster if it doesn't cause the lights to dim when you're performing your mad scientist calculations?
threadeds blog
ARM cores have both cache and pipelines, y'know? But lets find those benchmark results by making them ourselves:
Using one core on an AMD X2 2,8GHz and an ARM Cortex A8 core at 600MHz on a beagleboard, I've done some tests. Cache-optimized matrix multiplication of two matrices at 600x600 takes 0.45 seconds on the AMD, and 4.57 seconds on the A8. That's about 10x slower. However, the A8 (in an OMAP3530 package) produces just under 1W of heat. The TDP for the AMD is 65W, but since it's dual-core let's take half of that, plus an additional 20% fuzz factor because the TDP is the maximum rating.
By this slightly fuzzy, synthetic but memory-heavy benchmark, the performance-per-watt difference is about 2,5x in favor of the ARM Cortex A8 core. One core of an AMD X2 would have to put out below 10W to beat the A8. By my fuzzy math that would mean a TDP of 25W or below for the processor.
There you go, you're welcome! :)
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
I have a Marvell openrd-client. This thing has the guts of a Sheevaplug except it comes in a fancier case, uses a separate wall wart, has onboard video, more peripherals and a spot for a 2.5" hard drive inside.
I've got a 500GB 5400rpm hard drive poked inside and Debian Linux installed, and it acts as a file server, music server, torrent downloader, etc. Pulls about 8 watts from the wall, though I've got video disabled, second ethernet disabled, etc. Couldn't be happier with the thing.
ARM currently supports 4 GB of memory since the ISA is 32-bits. Full 64-bit addessing support is years away. Interim "PAE" extensions will be just as ugly and unused as the x86 PAE.