Two years ago when I first covered Intel’s Atom architecture I proposed that Moore’s Law has paved the way for two things: 1) ridiculously fast microprocessors, and 2) fast enough microprocessors.

The first category is used to push the bleeding edge of software. Everything from scientific computation to 3D gaming. If it’d never been done before, Moore’s Law enabled companies like AMD, Intel and NVIDIA to build the microprocessors we needed to make it happen.

The second category is a more recent development. If you don’t need the compute power, Moore’s Law enabled the creation of smaller, cheaper, more power efficient microprocessors to deliver performance that’s good enough. These types of chips are found in everything from netbooks to smartphones.


Intel's Atom (Silverthorne) Processor

A number of folks are arguing that the same approach can be applied to server workloads. They argue that the majority of time the servers that drive your favorite websites or cloud services are idle, at least from the CPU perspective. For servers that aren’t virtualized, this is largely true. You don’t build servers for average load, you build them to make sure they can withstand maximum load. The unfortunate result is that when these servers are running during periods of low traffic, they aren’t very power efficient.

For a small operation like AnandTech this isn’t much of a problem. But on a larger scale, it adds up. Data centers are easily power constrained. High density servers give us dozens of microprocessor cores in the space of several rack units. That’s great for compute, but terrible for power consumption.

Also keep in mind that even the slowest servers you can buy today are still pretty powerful. In many cases you need physical box redundancy but not the added horsepower of having more hardware. Add in live fail-over support to minimize downtime and you’ve got even more wasted power.

Today if you don’t need the performance a multi-core Xeon can offer you, but you need tons of physical servers, there are very few options. You can stick with a simple single core server but then your power consumption even at idle is still in the range of dozens of watts. You could make the argument that as CPUs get more powerful, there’s room for a category of “fast enough” servers. And thankfully we already have a processor that’s “fast enough”. The Atom.

Take 512 Atom based servers, cram them into a box that consumes 2kW of power, give it boatloads of networking and you’ve got the SM10000 by SeaMicro. This $139K box is designed to replace dozens of quad core Xeon/Opteron boxes that remain idle most of the time. According to SeaMicro if your business model is that you’re giving something away for free on the Internet, then the SM10000 might be for you.

SeaMicro’s CEO comes from the network field, while its CTO is a former Sun and AMD microprocessor architect (he was apparently one of five chief architects on AMD’s Bulldozer core). The company not only makes the 512 Atom server but also a custom ASIC inside that makes the technology work.

The SM philosophy is simple; you don’t take a space shuttle to the grocery store. If you don’t need such a beefy server for your workload, why continue to use one?

Understanding the SeaMicro Architecture
Comments Locked

53 Comments

View All Comments

  • CharonPDX - Monday, June 14, 2010 - link

    Except the ENTIRE POINT of this is maximum compatibility with minimum power draw. It is *NOT* meant for maximum power, at all.

    Intel chips are standard. (They could have used an AMD Geode, or Via Nano, same effect.) They run all standard server OSes, all standard software. If you have to get custom-written server software, there goes your money savings!

    Yes, someone could re-compile their software for ARM, but this isn't meant for audiences that recompile their software. It's meant for audiences that need a lot of low-end servers.
  • code65536 - Tuesday, June 15, 2010 - link

    Um, why are you citing flops? Unless this server is being used for scientific computing (or other applications along that sort of line) (for which this is unsuitable anyway for a variety of other reasons), you don't care about how many floating-point operations this thing can do; the number of flops is totally irrelevant. You only care about the integer rate.
  • Shining Arcanine - Tuesday, June 15, 2010 - link

    I was probably wrong to call it flops, as what I did was multiply the number of instructions per clock (2) by the clock and the number of of cores.
  • Calin - Tuesday, June 15, 2010 - link

    This is consumer-driven equipment and consumer-driven requirements.
    Many customers would like quite a bit of RAM in their servers, but the processing need would be small enough. Also, they would like to use "industry-standard" software (SQL, Apache, PHP, ...) for Linux, and it might not be completely and totally supported under ARM.
    Yes, using ARM processors would give you better everything (I'm not sure about allowing access to 2GB of RAM), but it would be like trying to sell a Formula 1 car to someone living in a swamp.
  • Shining Arcanine - Tuesday, June 15, 2010 - link

    ARM is completely supported by Linux:

    http://www.gentoo.org/doc/en/handbook/handbook-arm...
    http://www.debian.org/ports/arm/

    I am running Linux on my Linksys NSLU2 and I can run just about whatever application I want on it.
  • MySchizoBuddy - Tuesday, July 6, 2010 - link

    ARM server using the 4-core Cortex A9 the would have 8 teraflops of computing power.
    Whats the source of this number. or how did you calculate it.
  • yanfei - Sunday, July 25, 2010 - link

    ======= http://www.fashionshoppong.us=======
  • chromal - Monday, June 14, 2010 - link

    Or you could instead embrace virtualization and oversubscribe the hardware a little. I'm not sure who is in the market for a $100000+ machine that does even offer basic enterprise features like ECC memory. Seems like a solution in search of a problem. I'm sure the problem is real and 'out there,' but I'm also sure that that the specific instances that wouldn't better be accommodated by other technology are niche, indeed...

    Myself, I'd rather have one good Xeon X5550 CPU than 24 crappy Atoms.
  • vol7ron - Monday, June 14, 2010 - link

    I'm curious to see how this will pan out.

    What would the ideal server type be? A web server w/ little computational processes?

    I'm trying to think how little the computational processes would be. Would something like a blog/forum based enterprise or maybe a eStore be the ideal? I'm guessing something like a gameserver would not be suitable for this type of technology, nor would something like eBay that's continuously calculating the difference in time?

    I'm also curious how this would scale down in price. How much would something like ~20 cores (w/ less memory) run? Something like this seems nice because it seems more economical to add on to.

    As stated, it'd be nice to see this in other varieties (ARM-based) with ECC support. For some reason I get the feeling SeaMicro has been at this a while and the Cortex A9 may not have been available when this project was started. Though, I think the A9 also lacks certain instructions that the Intel does provide.
  • spazoid - Monday, June 14, 2010 - link

    This is some very interesting hardware, but I see a problem with the money savings comparison.

    If you have a Dell R610 running at 100%, you can't replace it with X amount of Atom CPU's until you hit the same SPECint performance. You'd need a lot of these Atom CPU's to equal one Quad core Xeon, and seeing as they can't work together in any way other than access each others virtual harddrives, the comparison is totally ridiculus.

    Yes, for something like web servers or similar where the CPU usage on a quad core CPU is very low, this could work, but I don't see any good reason for not just virtualizing such a server, which gives you many advantages that this setup simply cannot provide.

Log in

Don't have an account? Sign up now