Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

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."

The problem is more the apps, windows itself could probably be ported without too much trouble but most windows apps are likely to have code that makes x86 specific assumptions and are closed source so only the vendors can fix them.

Emulation is an option but unless arm cores start performing a LOT better than intel cores of a similar power envelope that won't help much.

If the rumors I hear are true from Microsoft developers, Microsoft is fully committed to moving their applications to the.NET platform. All of that stuff is compiled to an intermediate, interpreted bytecode that runs in a VM, just like Java. So actually, it is very portable. Portable enough that one of the applications I wrote in C#.NET and compiled in Visual Studio on a 32-bit platform ran unmodified on Ubuntu 64-bit with Mono. They may still do some low-level things here and there, but I suspect that

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.

If I see another idiot claiming that LLP64 is a "hack" for the sake of endian compatibility, I'm going to smash something. Yes, Windows uses LLP64 most of the time. That's because too many developers used things like DWORD in their structure definitions, which would be broken if DWORD was suddenly 64 bits wide.

Presumably, if Windows went LP64 tomorrow, this wouldn't mean that DWORD is suddenly 64-bit wide. It would just mean that DWORD would become a typedef for unsigned int, rather than unsigned long.

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.

Another advantage might be lowering the number of components. A Beagleboard would make a great low-volume server, except that it lacks any way other than USB for connecting disks and network adaptors. The same ARM core with the GPU removed and a couple of SATA and GigE controllers added would be a great SMB server platform. You could pop the OS and most apps in the flash and connect an external disk for served files. With the disk spun down, you'd be using under 2W for the rest of the system.

My previous server was 6, 7 years old when it became my server. It did the job nicely until the hardware broke down. The current server is not serving up files any faster (the 100 Mbit LAN is the limiting factor), it is not serving the web pages or sending/receiving e-mail faster (again the network is the limiting factor), backups took a little longer but that no-one is waiting for so that doesn't matter.

My old server probably used less power overall, so it was better for my power bill even tough

I'm wondering how well an ARM multi-core CPU would do just serving up files off a RAID array? x86 quad-core CPUs are probably total overkill for that - and perhaps not worth it because of the power consumption.

The whole hardware stack, UPS included, consumes about 18 watts, although this varies depending on whether the hard drives are spun up or not. Most storage is on a 64GB home-made SSD (4 x 16GB USB keys & RAID!), so it's completely silent.

The SheevaPlug is a 1.2GHz Marvell ARMv5, with 512MB of RAM and 512MB of flash (which I'm not using). It cost me about 70 UKP. Unfortunately it's only got one ethernet port, so I've got way too much stuff hung off its single USB port --- and Marvell's USB hardware is notoriously dodgy. The new GuruPlug looks way more exciting: same processor, but two ethernet ports, more USB ports, and SATA!

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.

On the home scale hassle very often is comparable to the benefit and the margin of benefit is comparable to economic perturbation (your car damaged by the snow truck during the freak-snowstorm of 2010, for example), while on the google serverfarm scale margin of benefit per a processor multiplied by the number of processors and can exceed economic perturbations.

Consider the analogy: home improvements very often are similar to the desire of the intelligent particle in the medium to avoid collisions to stay t

Correct me if I'm wrong, but wouldn't the Nano [wikipedia.org] make a better choice for a low power server chip, with its hardware based encryption support?

As another poster said it isn't some sort of watts limbo, where the only goal is how low can you go, but more importantly how useful those watts are in actual application. The Nano will run existing x86 software, so backwards compatibility is no problem, and with security being in the forefront of everyone's minds these days it seems to me one would get better performa

Forgive an ignorant person, but what sorts of server-like things are we expecting ARM chips to be good at? My understanding is that the ARM architecture is focussed on a reduced instruction set and running at low power. Does this mean I'll be able to run my 10TB Oracle data warehouse on this, or would I more likely use them in my webserver farm to save on power bills?

Performance per watt.ARM gives performance at without massive cost of watt. Just scaling it up would mean performance.ARM already got performance on par with x86, but uses less then 10 times the power. Now, if people are stupid to make use of x86 for servers would not a upscaled ARM cluster beat the crap out of it? Uses less power, faster.

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.

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...)

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.

But isn't that the whole point? Push for server performance by adding more processors, and you keep the performance per watt. If you really need fast individual cores for something that doesn't parallellize, it won't work, but I'd imagine the average web server farm would benefit.

You're making some questionable assumptions. Of course ARM is barely at 1ghz and doesn't have the various performance enhancements that the x86 processor family does, they've been focused on embedded devices and now some netbooks. ARM also lacks the legacy kludge that the x86 chips have as well. At some point there's going to have to be some revision of the processor to get rid of the stuff that hasn't been useful in 20 years.

But more than that, if there is an actual market for ARM based servers, all the

That means it still can do stuff that only a few years ago we called "high end". It is just not top-of-the-line. And what many geeks and nerds tend to forget is that >90% of any market is in the lower end.

Whilst ARM processors do have excellent MIPS/Watt the processors do have lower clock rates, smaller cache, slower/narrower buses so I do n't see these being very useful for general purpose multi user servers. However if your application is mainly I/O bound and you can do most of it via DMA they would be great. I can imagine for google they make alot of sense, however for something that runs on PHP like facebook less so.

They can be excellent as fileservers/cloud stuff, given their performance per watt ratio, dont expect that a computing intensive task is run on them (they are barely 2-3x as fast as an atom in their recent incarnations, but at a fraction of the power an atom uses)but they are an excellent choice for io intensive cloud like tasks where you need a load of machines and have a vfs sitting on top of it.

I know that one of the original developers of the ARM CPU is working on a massively multicore ARM-based project (tens of thousands of cores). Apart from just the low power aspect of ARM, what makes it good for hugely multicore projects compared to x86 is that an entire ARM core is smaller than just the part of an x86 processor that figures out the length of the next instruction - x86's ISA becomes a huge ball and chain if you want to make a massively multicore system.

That used to be true when transistors were expensive and memory was fast. The choice used to be between more CPU registers with less instructions (RISC) or less CPU registers and more instructions (CISC). Today transistors are cheap and memory is slow, so the more things you put on die (within reason) the better. It used to be that multiplication was considered too expensive to put in the ALU of a RISC processor, or barrel shifters, today this is simply not true. In fact even RISC processors have multiply-a

While I agree with you completely, it doesn't seem like it's possible to find MIPS based devices for sale any longer, short of the occasional ancient device or Chinese netbook via eBay.

I suspect the licensing costs are too high or something like that. Back around ~2000 there were a number of handhelds/portables that had MIPS processors; later versions had SmartARM and were not proportionately faster (by clock). MIPS does not appear to have matured as fast as ARM has in terms of most modern features, either

I guess they never could license it properly, or the licensees lack volume. Also MIPS R&D was usually done by SGI. Well SGI was never exactly interested neither in low power, nor in being cheap. I guess that matters.

Depending on your needs you can already use ARM servers. This http://www.open-rd.org/ is perfect as a dns server, dhcp server, firewall, mail server or even a webserver on a small network. I really like using those devices as 'physical virtual servers': ideal as an isolated, task oriented server for tasks that do not need a full fledged server.

I have one of these at home (with Debian on it and a 2TB hard disk attatched).

Hell, you could do that with an NSLU2, running an arm core at 266MHz with 32MiB of RAM and an external drive. That *and* a simple torrent box.

You can do much more with a sheevaplug, mine has a full vnc server and gnome running on it at reasonable speed, or at least it had before I emigrated and gave it away. An OpenRD box should be fully capable of being a basic linux desktop machine.

It is nice to see some alternatives to the x86-monoculture coming along, but I wish MIPS was still around, it is a beautiful architecture with the same efficiency advantages of Arm but an even cleaner design.

Still around? MIPS is going strong in the embedded market. My company works on transit systems and MIPS represents about half of our work. There are lots of networking products that uses MIPS, from the customer to the core. RMI has a MIPS64 eight core SoC with four threads per core.

I'm aware that MIPS is alive and well in the embedded world, but it has pretty much disappeared from the server market where it used to have a very strong presence.

Also, for somebody just interested in playing around with alternative architectures, it has become harder and harder to find cheap MIPS systems to play around with (the PS2 was a mips system, but the PS3 is PPC, the PSP is probably the only easily 'hackable' MIPS hardware still being produced in considerable quantities).

They weren't selling outside of China due to patent issues preventing import into anywhere that the MIPS Technology patents were valid (which is most of the western world - they're hardware patents). That should change now that they've licensed the patents. A few have been available before then - I've heard from a couple of people using them, but they had to import them themselves.

ARM is almost like a fairy tale in which the underdog triumphs. ARM was developed on a shoestring budget by a small team of brilliant anti-establishment engineers. By contrast, the x86 processor was developed on a multi-million-dollar budget by a large team of disciplined slaves across 2 continents.

I favour anyone who can build and deliver a laptop with 12 hours battery live. In addition, a low power ARM server for office work (small and middle enterprise) is a nice to have, too.
I think most users don't give a piece if it's x86 or ARM, as long as their applications are running and it's a good deal. I, for myself, am really glad finally see any innovation in desktop CPUs. I thought in 20 years we will still be using x86 compatible CPUs.

I've always thought that the x86 architecture is a dead horse beaten to the speed of light. It is the 21th century and we need something slightly better than rocks and sticks and x86 to throw at the old monstrosity known as computation. If we're still going to depend on x68 in 20 years I'd rather kill myself by banging my head against an x86 chip.

Thing is, quite cheap and rather small laptops based on Intel CULV chips showed up recently; some of them certainly can do 10h, perhaps there are some with 12h. And they are fast, if needed.

On top of that, if I look at announcements of ARM netbooks - even though they will be purposely quite limited machines, it doesn't appear like manufacturers want a price reflecting that. Certainly not as long as there's not much competition yet, as long as they can offer it as a "premium" machine. Which has a big chance

Of course, you can spin it another way. ARM is an IP company - they don't make chips, they make IP (their architecture specifications, and their CPU designs) that they then license to other companies. Then again, they're not a patent troll, their IP is generally fairly good (even if the various architecture versions and features are ridiculously confusing,) and they actually do license it, rather than just keep it so they can sue people.

OK, ARM is "twice" David:1) for being a challenger to the biggest chipmaker, Intel2) because ARM is RISC... and RISC has always been a niche or vertical application part challenging the dominant CISC designs (Intel, AMD).

After many years, Intel finally has some challenge.
And for those of you who doubt what ARM chips are able to do, I'll tell that I've been surfing the web and chatting through MSN Messenger on an Acorn A7000+, which runs on a 48 Mhz ARM 7500FE.
Now, if they can raise that to 2ghz, I see very nice performance while still retaining a fairly low power consumption.

As the cost of energy continues to rise (due to purely political reasons rather than any actual scarcity, which is sad) there's going to be more and more demand for computing equipment with low power consumption. ARM fits that requirement nicely... and it's all going to be running Linux, even if Microsoft enters the game.

Why?

Windows running on ARM would suffer from the same (imho perceived) problem that desktop Linux on x86 has: it wouldn't be able to run Windows x86 binaries. In fact, for Microsoft it would actually be worse because they'd have to deal with irate customers who thought they'd be able to pop in that CD and install some application they already own.

Linux has been playing this one well by establishing a large base of open source software that can be built on any platform. Combine this with your favorite APT or YUM repository and what do you get? The equivalent of an "app store" which is something the world is now quite familiar with. Linux for the win!/p?

Afaict datacenters generally charge based on peak current anyway since much of the cost of datacenter electricity is actually in the infrastructure (generators, UPSs etc).

Performance per watt does matter to an extent but performance of individual threads also matters. The longer each individual request takes to deal with the more ram you need and the longer you keep any DB locks open for increasing the chance of lock contention there.

Another big problem with arm is that you can't rely on the presence of any

You don't need multiple fast cores necessarily - it depends on the server.

You do need good I/O on most servers. The earlier benchmarks of the Sun T1 was a nice example of this. IIRC 8 cores, each with two threads of execution, back when x86 was single and dual core. The cores were wimpy, but on many server applications (web, file, I believe database) it beat x86.

You need a lot of cores, yes, but they don't need to be powerful for most server applications - since most are parallel.

Even with marginal CPU capability and a 1-4GB RAM limitation, there are many places which could make use of a single-point system which is low heat, low power, and low cost. If the thing has onboard SSL processing built in, it'd be a huge plus.

I can think of about a dozen systems that I manage which I could replace with ARM boards tomorrow to immediate benefit, provided they've got 4GB of RAM and sufficient interfaces (SATA, Eth). Yes, I'd have to rebuild the systems, but it's a fairly inconsequential proce