We thought it would be interesting to mint ourselves some Amazon Cloud servers and put them to the test. The results were quite interesting when compared to our home grown cluster.
First order of business was to create 3 t1.micro instances (because they're free) and install OpenMPI. This was a bit of a mission as the one we installed doesn't completely replace the default version provided by AMI which needed some environment changes. We also set up hostbased authentication which required changing the default AMI authentication procedure and then dealing with the Amazon private DNS.
We then used one of the C programs we'd concocted to test CPU speed and memory. The program creates and manipulates a large array in memory and spreads the load over the cores provided by OpenMPI.
As the t1.micro AMIs simulate a single core we emulated this on our cluster by spreading the load over 3 nodes allowing only 1 core per node. We used the 200 and 400 series, allowing for the fact that our 400 series are fairly heterogeneous when it comes to CPU speed. Hence we distinguished between the slowest and fastest nodes available in this series. In the graph below a higher Y axis placement is worse (slower).
The t1.micro instance was faster than our 200 series (3.6GHz but relatively small CPU cache) and 400 series (1.6GHz 12MB smart cache) servers, but as we increased the number of computations the time to completion increased considerably. Our fastest 400 series servers (2.8GHz) ultimately proved the fastest.
According to the AWS site one EC2 Compute Unit provides the equivalent CPU capacity an early-2006 1.7 GHz Xeon processor. The t1.micro instance provide a small amount of consistent CPU resources and allow you to increase CPU capacity in short bursts when additional cycles are available.
This explains why for short jobs the t1.micro instances outperformed our cluster but as complexity increased the AWS scheduler decreases the relative speed of t1.micro cores. While we'd never consider the micro instances for real HPC it does bode well for the higher end AWS products. Issues still to be addressed though are cost per cpu cycles over time and data transfer to and from the cloud.