7 ms·
For the benefit of those of us who don't know much about Atom, could you explain what the limitations are of using Atom for webserving?
by bravura 13y ago
For the benefit of those of us who don't know much about Atom, could you explain what the limitations are of using Atom for webserving?
- Tuna-Fish 13y agoIt is a very slow CPU designed for power efficiency, not speed. As such, it can be quite surprisingly slow, managing to limit a lot of loads that most devs take for granted these days.
- dragontamer 13y agoThe Atom is Intel's weakest chip. It is designed for super-low power consumption, which means that they cost very little money to run. (so usually, data-centers like running them, because they don't use much electricity. Naturally, the savings are typically passed onto the consumer). The Atom is Intel's line of chips designed to compete against the iPad. It is still fully x86 compatible, its just slow. Roughly... the speed of a Pentium 4 or so. Current generation Atoms are 32-bit only, which means 4GB maximum RAM (not an issue for smaller webservers with only 2GB). Atoms tend to be best for I/O limited tasks. If you do video streaming for instance, the vast majority of your CPU power is going to be "wasted" on waiting for the Hard Drives and the Network. So the Atom makes a good, cheap CPU for that kind of task. For tasks with tons of computations, (ie: game servers), the Atom is woefully inadequate. You can purchase an Atom computer for ~$165: http://www.superbiiz.com/detail.php?name=MB-ZID60-U http://www.superbiiz.com/detail.php?name=MB-ZID60-U. So play around with the performance yourself, and see if its enough.
- benologist 13y agoAtoms predate iPads by approximately 11 billion years. They're the chips used in Windows-based netbooks, nettops etc.
- _delirium 13y ago> Current generation Atoms are 32-bit only Some lines of Atoms since mid-2010 or so have supported x86_64. The Sxxxx "server" atoms released at the end of 2012 are all 64-bit-enabled, for example, although they can still only take 8GB of RAM: http://ark.intel.com/products/series/71265 http://ark.intel.com/products/series/71265 I agree that this is mainly interesting if you're I/O-limited. Most benchmarks show a "regular" recent-gen Intel CPU performing around 5x-10x the Atom, so if you're CPU-limited, even a low-end VPS that gives you an average of 1/4 share of a core will probably outperform sole tenancy on an Atom core. But a high-contention VPS in most cases will give you much worse I/O performance. Also, the storage space and bandwidth quota here are much better than with a comparably priced VPS.
- dragontamer 13y agoThanks for pointing that out. It seems odd to me that a system that only supports single-channel DDR2 RAM would be 64-bit however. With so little RAM, the benefits of 64-bit computing are basically void.
- justincormack 13y agoBut it is more work to make a 32 bit system. They are probably all 64 bit locked into 32 bit compatibility mode.
- Tobu 13y agoTheir 64bit kernels can run a 32bit distro too. With multiarch you also get to cherry-pick packages of the other arch.
- icebraining 13y agoThe virtual space can be useful too. I remember reading that Go had some issues due to the limited address space in 32-bit systems.
- _delirium 13y agoYeah, that's an issue with conservative garbage collectors. When memory actually in use is a large fraction of the address space, then random values can look like pointers too often. When valid_memory << address_space, on the other hand, most non-pointer values won't alias a valid pointer. The specific issue with Go was significantly mitigated in Go 1.1 by making much more of the GC precise rather than conservative. Here's a comment from about a month ago on the current state: http://code.google.com/p/go/issues/detail?id=909#c59 http://code.google.com/p/go/issues/detail?id=909#c59
- csense 13y agoIsn't the x86_64 instruction set more RISC-like and compiler-friendly (i.e. more registers, 3-address instructions)?
- ricardobeat 13y ago> The Atom is Intel's line of chips designed to compete against the iPad The Atom came out in 2008, two years before the iPad, and come from a lineage started in 2003. It was designed for the now dead netbook category that required low power consumption. 64-bit versions have been available since 2010, both versions used by OVH are x86-64. There are also server-specific versions with support for ECC memory, though they doesn't seem to be using them.
- dragontamer 13y agoiPad's CPU/GPU uses ~5W of power. These Atoms use ~8W of power. Regardless of the 'ordering', the Atom line of processors are designed for the <10W form factor. True, Atoms existed before the iPad, but they are in fact designed to compete in that power-range. The analogy works very well: the iPad 4th generation A6x processor is just slightly slower than the newest Clovertrail Atoms. The older Atoms (like the 330) probably are a bit slower than an iPad. http://www.anandtech.com/show/6522/the-clover-trail-atom-z2760-review-acers-w510-tested/ http://www.anandtech.com/show/6522/the-clover-trail-atom-z27... So yes, perhaps I misspoke earlier. Nonetheless, I stand behind the analogy. Intel Atoms are Intel's version of the iPad A6x. They use roughly the same power and give roughly the same performance... but Atoms give you full x86 compatibility. Perhaps a more appropriate way to say it... is that the Atom is designed to be a competitor to low-power ARM chips in general. Intel is making strides in making extremely slow, but power efficient chips. And in Performance/Watt, they're roughly on the same scale.
- ricardobeat 13y agoYes, meaning they were made to compete with ARM makes more sense, not the ipad (non-existent att) specifically. It was Intel's bet on mobile. The cortex processors used in the iOS line have only caught up recently regarding performance.
- corresation 13y agoThe Atom was made for the burgeoning market of low power, low performance, low priced netbooks. That was seen as the probable breakout market, though it was short-lived. So Intel wanted a fairly power efficient chip, but they also wanted to ensure that it didn't cannibalize their own sales, so they intentionally crippled it from a performance perspective, not least by always building it on the last or second-last process. This is an aspect of the Atom that is missed by so many, sure that Intel was caught with their pants down by ARM: Intel's biggest fear wasn't ARM, but that their pricey high-end CPUs would get replaced by their low cost variants. They still fight with this paranoia to this day. The Atom was neither inspired by the iPad (obviously given that it far preceded it) or even ARM. At best you could say Intel had some concern about Transmeta, leading to some of the early Atom work. This isn't a minor error of "ordering". These were critical mistakes in your retelling of history.
- revelation 13y agoThey are on the level of a Pentium 4, but running at 1.6GHz. Thats bad news for a Pentium 4, and the Atoms...
- txutxu 13y agoIf you web application could run ok (for the number of visitors) in a netbook with mechanical disk, then an Atom is ok. Note that I've seen people running gnome on a netbook. Still, I see this, and I think more about: "backups", "configuration management", "shell access", "VPN to other more powerful dedicated servers in OVH", "personal storage", "scheduled tasks", "monitoring systems", "status pages", etc... The price is nothing, I still ask myself if it's rentable because "it's an Atom" and changes the power bill, or this is more a unprofitable product to attract you to other products. Lets say 3€ * 12m = 36€ year, It takes some years to recover the hardware costs (without count electricity bills, company salaries, connectivity, taxes, etc).
- codesuela 13y ago> The price is nothing, I still ask myself if it's rentable because "it's an Atom" and changes the power bill, or this is more a unprofitable product to attract you to other products. pretty sure it's the latter. Even if there is minimal human effort on part of OVH involved that probably leads to unprofitability. For example a RAM stick breaks and has to be switched out, I guess it takes a systems engineer in the NOC at least 30 minutes to locate the server, disconnect it, replace the stick, mount the server again, make sure it is running fine. Assuming that employee get's paid 20 GBP, that is a 10 pound cost plus replacement RAM which is...I dont know...let's say 20 GBP, recouping that kind of money would take about a year (I know very dirty napkin calculations). I bet they have a handful of these gimmick servers and they are going to sell out very soon. Comparable to the Raspberry Pi colocation edis offers ( http://www.edis.at/en/server/colocation/austria/raspberrypi/ http://www.edis.at/en/server/colocation/austria/raspberrypi/ ) try to order and you will find that they are sold out.
- dylz 13y ago>For example a RAM stick breaks and has to be switched out, I guess it takes a systems engineer in the NOC at least 30 minutes to locate the server, disconnect it, replace the stick, mount the server These servers run without cases, using water cooling. Hardware failure automatically notifies the NOC with the location of the failed hardware and replacement parts are already waiting on the desk. >handful of these gimmick servers OVH is one of the largest ISPs in the world, and is well known for disruptive pricing and services, such as 100/100 Mbps broadband to the home for $20/month.
- hosay123 13y agoThe other responses to this have been woefully speculative at best, plain wrong in others. The short answer is to rent one for a month and benchmark your particular application. I was surprised to discover that with a workload composed entirely of XML parsing using Python+lxml, an OVH 1.8ghz Atom N2800 beat hands down my mid-2010 2.4ghz Macbook Pro. This isn't a crazy result either. For instance, while the Macbook is equipped with dual cores, each core supports only one hardware thread, and thus is blocked while waiting to complete a load from RAM (a common occurrence when dealing with giant cache-unfriendly DOM trees that don't benefit from the Core 2's much increased L2). In contrast the N2800 has 2 cores with 2 hardware threads each (hyperthreading), so each core can progress while its buddy thread is stalled. In my particular workload this was enough to beat by a significant margin a much faster, expensive and power-hungry processor.
- dragontamer 13y agoNo offense... I don't buy it. Core2s have significantly better memory bandwidth, because they're dual-channel. They stream memory significantly more efficiently than N2800 Atoms. When a Core2 Duo has a memory stall, it can start executing other instructions out of order to compensate. Typically, out-of-order cores seem to do more for efficiency than hyperthreading. If Apple screwed up by only giving a single DIMM (it happens on lower-end hardware, but I'd be pissed if I learned that an expensive Macbook were improperly configured memory-wise)... maybe the Atom would have a chance. But a properly-configured dual-channel RAM Core2 Duo, as old as it is, still would stream data faster from RAM than an Atom could. Almost twice as fast in fact. If the N2800 does perform better on this workload, I'd be definitely interested in seeing the exact numbers... if you don't mind. I actually do own a Hyperthreaded Atom (N570) and Core2 Duo (some old crap desktop version) myself. So... I'd be able to repeat the experiment :-p
- hosay123 13y agoAll the bandwidth in the world shouldn't matter if the underlying technology has the same latency and the memory bus is serving a fixed number of small requests in parallel, right? Overall processing speed in an uncached memory bound application is limited by the latency of the storage tech (somewhere around 10 million "requests"/sec assuming 100ns access time, and assuming the app did absolutely nothing except randomly access memory). In my case I had 1 software thread per thread, I'm not sure if over-subscription would make any difference. Also, out of ordering processing is only possible in the absence of data dependencies (I have no idea how to even go about measuring this). Also tree structures are no different to random walks from the hardware's perspective, i.e. the hardware has no useful predictive ability to prefetch data in this case. The main point was that it's so cheap to test, there's little value in speculating about architecture specifics few are qualified to understand, assuming they're publicly documented in the first place
- dspillett 13y agoThe Atom range are intended to be low power draw CPUs for use in things like netbooks and server environments where I/O and bandwidth are going to be the bottleneck not CPU. As such their suitability depends greatly on your particular application. They aren't so good for high concurrency for instance, but if you are using a mainly event driven server where concurrency isn't a massive issue you'll not notice that limitation. At this price, the most cost effective option is going to be to rant one for a month or few and give it a try. In fact at that price if the machine works for you it is an absolute bargain, you could pay more for a much smaller VPS where you are competing with others for I/O bandwidth. I have a machine at OVH currently for a few bits and bobs - for my use pattern I might be better off cancelling it and getting a few of these instead for the same price.