Monday, November 28, 2011

ARM in HPC

Does ARM, the lower power CPU being pushed forward rapidly by the mobile device market have a place in traditional HPC?  I think for the future this is not the case. Where I think ARM will become interesting is in non-traditional HPC.  I am still not so sure.

Vendors such as IBM with the BlueGene and SciCortex already demonstrated that a very fast tight network combined with thousands of lower power, low performance, cores can make in total a powerful energy efficient beast.

Both platforms though are far from traditional. If you look towards the usual rack and stack model these network types required to provide the parallel performance are nonexistent. So where do I expect ARM or any other lower power non-vector (GPU/MIC) core to show up?

I think it would be prudent to build regular cluster nodes where the low power core is master over an array of vector type units. Think a GPU or MIC farm.  This would require applications for these machines to be almost 100% reliant on the accelerator for performance.  This limits the usefulness of such a platform to specific users with specific applications.  This will keep such a market small and thus prices high.

The other location is pure speculation: Map Reduce.  I have yet to implement and operate Hadoop (RCE4), a Map Reduce implementation, at scale to see how CPU heavy it is. My understanding, speaking with users, is that it is IO heavy and that CPU's currently are more powerful than needed.  Why not slap a few ARM cores in front of a pile of disk and stack them together to build such a system?

To some degree both system I propose would save energy on the CPU side but are both attached to power hungry accessories.  How much energy and thus cost could be saved by using such cores when 4 GPUs draw almost 1KWatt?  How much is saved when a Hadoop node has 6 drives attached and buckets of memory?  How valuable is a 10% power savings (estimate) for higher hardware cost (ARM in servers is a thin market) when data center space is factored in?

To some degree for generic HPC providers I think the Hadoop model is the more likely. The accelerator model, would not fit many engineering applications ran by generic HPC resource providers who do not have a single killer app.  I think ARM has an uphill battle, that said there is one advantage of trying to work a new architecture into HPC style systems. Many if not most of our codes are compiled, and thus platform support is not as big a deal as buying a desktop for my parents or <vendor here>'s database.

No comments:

Post a Comment