Erlang: Pi2 ARM Cluster vs. Xeon VM
medium.com
medium.com
http://www.anandtech.com/show/8776/arm-challinging-intel-in-...
http://www.cnx-software.com/2014/10/26/applied-micro-x-gene-...
Spoiler: Intel still has the upper hand (for now), at least in perf-per-watt.
Even the green500 (http://green500.org/news/green500-list-november-2015?q=lists... ) is dominated by Xeon-based clusters.
I think we could well see ARM server processors close the gap with Intel by the end of this year, which is an exciting prospect.
IMO ARM's trump card is the diversity of their IP ecosystem. This has been integral to their success in the mobile SoC market and could become a genuine game-changer in the server market.
That iSCSI SAN was probably bloody expensive, yet a pair of SSDs today which are orders of magnitude cheaper would run circles around it. OP is storing text documents, so doesn't need a huge disk.
If you'd go for maximum CPU matching the quoted price instead, you'd easily get 8-16 cores each faster than the old Xeon cores in question depending on CPU model and other specs.
Actually come to think of it, CPUs from five years ago are not bad; I can see a future in a secondhand CPU market, given how CPU's don't really break from usage (normally).
As usual, this follows a statistical distribution. An old CPU isn't guaranteed to break, but it is more likely to, especially if it's been overclocked and/or run without good cooling.
2015? Cortex A7 was released in 2011 to be a lower performance energy efficient in-order core. It's significantly slower per clock than Cortex A9 released in 2007!
If you want fairness, just compare it to any Xeon available in 2007 running with just a few watts.
> Broadcom BCM2836 (quad-core A7 + VideoCore IV GPU), designed specifically for Raspberry Pi 2[7]
No, it says BCM2836 was designed specifically for Raspberry Pi 2. Cortex A7 is a pretty old design, probably that way RPi 2 costs could be kept low.
Edit:
Here's Anandtech 2011 article about Cortex A7:
http://www.anandtech.com/show/4991/arms-cortex-a7-bringing-c...
Wikipedia's Cortex series DMIPS/MHz table. It says Cortex A7 (1.9 DMIPS/MHz) is roughly as fast per clock as Cortex A8 (2.0 DMIPS/MHz) released in 2003:
"Might it be feasible to replace our current infrastructure¹ with an arm based solution², and at the same time: Can we benefit from more cores, lower clock speeds"
1: The article uses their current dev system - there's no reason to buy a shiny new setup if that dev system works fine today and is 'fast enough'
2: The article explicitly mentions upcoming arm8 server boards but uses RPi2s as a general (and low) approximation for 'cheap arm performance' and to test their setup in a multi-node environment (vs. 'one single vm')
I think the article explains quite well what it wanted to do and doesn't claim 'arm is better' or anything like that. For their workload, using Erlang/OTP and their real world application, a multi-node arm-based architecture might be feasible.
Stupid.
ARM design cores since years as IP cores. Then there are chip makers who decide to use these cores or not depending on business opportunities.
https://www.arm.com/about/newsroom/arm-unveils-its-most-ener...
The power efficiency and core count has increased tremendously on Intel CPUs with Sandy Bridge first and late with Haswell. For the same TDP you easily get 8-12 HSW cores these days.
ARM CPUs have likely improved to a similar extent, but given that CPUs are getting "wider" and more sophisticated in terms of caches, power efficiency, etc. it is very hard to extrapolate from assessments made based on hardware that uses >5y old technology.
Before you go out an order a bunch, do keep in mind that the RP2 cluster doesn't support ECC memory and other features often considered necessary in a server environment, like remote management. I'm pleased to see the A1100 does support ECC.
Still, it is an interesting test. I look forward to reading more about ARM servers. And I hope the Mill Computing guys will ship something eventually too.
Do note that an idiomatic Erlang cluster (where the distribution of the system is used to achieve fault-tolerance, rather than for higher throughput) doesn't strictly need ECC memory (though, obviously, it wouldn't hurt.)
Also, such a system should be plenty manageable on its own—insofar as even an Erlang unikernel makes for a relatively ops-friendly system. There's little "remote management" can do that can't be done from an Erlang remsh. (Erlang even offers easy ways to expose e.g. SNMP MIBs.)
If you're talking about being able to re-image the system into being a completely non-Erlang system remotely, that might be hard—but a cluster-of-inexpensive-low-power-nodes setup like this only really has this one niche use-case to begin with, so I'm not sure what else you'd want to change it into.
I've found C programs occasionally returning incorrect results with non-ECC memory, as a memory location got corrupted. Does Erlang have some magic to avoid that?
My point, mainly, if we're talking about costs and power consumption, it isn't quite fair to compare server-grade hardware (which is more expensive than consumer-grade) with a RP2.
This is very much workload-specific. If you cycle your processes out of memory even once a day, the chances of seeing a random gamma ray burst is vanishingly small. Of course, I wouldn't host ZFS or a data store.
I've had systems limp along reliably while throwing EDAC messages every few hours. With non-ECC memory, they would have crashed and burned.
Of course, if you're seeing EDAC messages, you'd be better advised to just shut down the metal and shift your workload to a different machine until you can replace the DIMMs in question.
https://en.wikipedia.org/wiki/Cosmic_ray#Effect_on_electroni...
Other part about the prices - you can have used gen6 server for under $400 which is comparable to RPi's considering that you're getting at the very least 6 times the performance(if you buy it with 2xL5640 processors with 6 cores each). Which means would need at least 18(3*6) RPis to match the performance in theory. Which would total close to $700(assuming $35 per pi).
Raspberry's are not really meant to be used as a heavy load server. They can be used as a cheap cluster for learning purposes but not really a viable option for replacing rack servers, at least today, but who knows maybe some day they will get to the point of competing.
http://www.anandtech.com/show/9956/the-silver-lining-of-the-...
I built a home VMware server a while ago using a 4670T which has similar performance to a Xeon D but does not have ECC and tops out at 32GB. Works pretty darn well even with the multiple VMs I have running on it. I think I measured power consumption at the wall at 40+ish-55W so it's quite efficient.
http://www.phoronix.com/scan.php?page=article&item=raspberry...
For the price of that blade today you can get at least a 1U dual cpu quad- or hex-core server of a far newer/faster CPU model, and with vastly faster storage (NVMe SSD's) and 10GbE ports.
For 2000 euro, I could instead get a server with about a 50% faster CPU, 16GB RAM, and an 800GB NVMe Intel PCIe SSD that'd trounce that iSCSI any time. With 6Gbps SATA III drives instead, and either dropping down a bit in capacity or going for spinning rust, you'd pay ~1000 euro for the same machine.
[1] https://d262ilb51hltx0.cloudfront.net/max/2000/1*KdGdonIRAPy...
There are tons of different use cases of course, and if measuring only raw CPU (not network, not IO, etc.), the benchmarks could be slightly closer, but I'm not going to recommend clients start ditching cloud infra for colocated Pi clusters :)
http://www.hardkernel.com/main/products/prdt_info.php
The gigabit Ethernet alone is a reason to choose it over the RP2.
So it's almost a drop-in replacement depending on the distribution you use. I'm trying to get OSMC to officially support the C2 which would essentially make it a much more powerful media center.
http://www.geek.com/news/new-odroid-dev-board-outmuscles-a-r...