The Plot So Far
As the applications that you build with AWS grow in scale, scope, and complexity, you haven't been shy about asking us for more locations, more features, more storage, or more speed.
Modern web and mobile applications are often highly I/O dependent. They need to store and retrieve lots of data in order to deliver a rich, personalized experience, and they need to do it as fast as possible in order to respond to clicks and gestures in real time.
In order to meet this need, we are introducing a new family of EC2 instances that are designed to run low-latency, I/O-intensive applications, and are an exceptionally good host for NoSQL databases such as Cassandra and MongoDB.
High I/O EC2 Instances
The first member of this new family is the High I/O Quadruple Extra Large (hi1.4xlarge in the EC2 API) instance. Here are the specs:
- 16 virtual cores, clocking in at a total of 35 ECU (EC2 Compute Units).
- HVM and PV virtualization.
- 60.5 GB of RAM.
- 10 Gigabit Ethernet connectivity with support for cluster placement groups.
- 2 TB of local SSD-backed storage, visible to you as a pair of 1 TB volumes.
The SSD storage is local to the instance. Using PV virtualization, you can expect 120,000 random read IOPS (Input/Output Operations Per Second) and between 10,000 and 85,000 random write IOPS, both with 4K blocks. For HVM and Windows AMIs, you can expect 90,000 random read IOPS and 9,000 to 75,000 random write IOPS. By way of comparison, a high-performance disk drive spinning at 15,000 RPM will deliver 175 to 210 IOPS.
Why the range? Write IOPS performance to an SSD is dependent on something called the LBA (Logical Block Addressing) span. As the number of writes to diverse locations grows, more time must be spent updating the associated metadata. This is (very roughly speaking) the SSD equivalent of seek time for a rotating device, and represents per-operation overhead.
This is instance storage, and it will be lost if you stop and then later start the instance. Just like the instance storage on the other EC2 instance types, this storage is failure resilient, and will survive a reboot, but you should back it up to Amazon S3 on a regular basis.
You can launch these instances alone, or you can create a Placement Group to ensure that two or more of them are connected with non-blocking bandwidth. However, you cannot currently mix instance types (e.g. High I/O and Cluster Compute) within a single Placement Group.
If you want to run Micorosft Windows on this new instance type, be sure to use one of the Microsoft Windows AMIs that are designed for use with Cluster Instances:
You can launch High I/O Quadruple Extra Large instances in US East (Northern Virginia) and EU West (Ireland) today, at an On-Demand cost of $3.10 and $3.41, respectively. You can also purchase Reserved Instances, but you cannot acquire them via the Spot Market. We plan to make this new instance type available in several other AWS Regions before the end of the year.
Watch and Learn
I interviewed Deepak Singh, Product Manager for EC2, to learn more about this new instance type. Here's what he had to say:
Here are some other resources that you might enjoy:
- Adrian Cockcroft wrote about Benchmarking High Performance I/O with SSD for Cassandra on AWS for the Netflix Tech Blog.
- Werner Vogels went into detail on the differences between magnetic disk and SSD, and talks about ways to use this new instance type for databases in his post, Expanding The Cloud – High Performance I/O Instances for Amazon EC2.
- The Hacker News discussion has a lot of interesting commentary.