In December we published our first set of Amazon EC2 benchmarks for their Elastic Compute Cloud using Ubuntu EC2 and the different instances that were compatible. Now though we are in the process of carrying out a new set of benchmarks from Amazon's cloud that not only contains more tests, but using the official Amazon Linux AMI we tested nearly every instance type. Except what is missing are the results for the "micro" (the t1.micro API name) instance. Why? It is simply too slow and irregular.
An Amazon EC2 Micro instance is the slowest class available in the Elastic Compute Cloud, but at the same time, it is what Amazon gives away free. New customers to Amazon's EC2 cloud get one year free of EC2 Micro usage using a Linux/Unix AMI (Amazon Machine Instance). An Amazon EC2 Micro instance has 612MB of memory, up to two EC2 Compute Units, 32-bit or 64-bit support, and is rated for low I/O performance. The compute power of a micro instance varies depending upon the workload and availability of resources in the cloud where small bursts up equivalent to two EC2 Compute Units are available for short periods. With this Amazon cloud computing performance measurement, one EC2 Compute Unit is equivalent to a 2007-era 1.0~1.2GHz AMD Opteron or Xeon processor. So not only is the micro instance slow, but its performance varies from time to time, which is also bad for reproducible benchmarking.
We have now tried multiple times to properly benchmark an EC2 Micro Instance but all efforts to carry out the same set of test profiles that we execute on instances up to 26 EC2 Compute Units have taken too long, produced unreliable results with the compute power varying greatly for the micro instance. We at least though have been able to get a small number of these tests processed on the t1.micro and have included them in this article for anyone curious about this EC2 computing instance that packs 612MB of memory, low I/O performance, and up to two EC2 Compute Units of power. The Micro Instance was running Amazon Linux AMI with the Linux 188.8.131.52-56.40.amzn1.x86_64 kernel, GCC 4.1.2, and an EXT3 file-system.
For comparison we included the results from this small set of cloud computing tests to that of the Nokia N900 (yes, really, the smart-phone) running Maemo 5, and the Dell Mini 9 netbook with an Intel Atom N270 CPU, 1GB of RAM, 8GB SSD, and it was running Ubuntu 10.10. We also setup a Fedora 14 KVM guest under a Fedora 14 host on an Intel Core i3 330M net-top that had access to just one CPU core, 34GB of storage space on the HDD, and 1GB of system memory.
With the Phoronix Test Suite 3.0 "Iveland" software on the four distinct platforms we ran a small set of tests including LZMA file compression, dcraw, FFmpeg, John The Ripper, OpenSSL, PostMark, Unpack Linux, and SQLite.
Fortunately, the Phoronix Test Suite runs each test multiple times and when the standard deviation exceeds a defined threshold the run count will dynamically increase to ensure stable and reproducible results. With the Amazon EC2 t1.micro instance, we ended up running all of these tests multiple times independently over the course of multiple days to ensure we were getting an accurate picture due to the fluctuating compute power for this cloud instance. Even still though, from the error bars on the graphs you can see the t1.micro results would deviate more than any other platform.
As you can see from the LZMA compression result, the performance of Amazon's EC2 Micro instance is actually closer to the performance of a Nokia N900 smart-phone than it is an Intel Atom N270 netbook. The Amazon Micro instance running the Amazon Linux AMI was only about 20% faster at compressing a 256MB file using LZMA than was the N900 with its ARMv7 CPU at 0.60GHz with 239MB of RAM. The Dell Mini 9 netbook with its 32-bit low-power CPU took 40% the time of the EC2 instance to compress this file. The Fedora KVM guest instance was more than twice as fast as that even with just 1GB of memory and one virtual core running off an Intel Core i3 330M nettop.