A. Machine Setup

We ran all of the benchmarks on Amazon Web Services (AWS)'s Elastic Compute Cloud (EC2). We chose machines with 250 GB of memory so that all of the methods could finish every run without swapping. We provisioned 100 GB of swap because numpy.loadtxt exhausted all of the RAM on the 14.9 GB mnist8m.csv.

Machine AWS Instance Type Memory Swap Cores Disks
A r3.8xlarge 251.9 GB 100 GB 32 2 SSDs x 200 GB
B i2.8xlarge 251.9 GB None 32 8 SSDs x 800 GB

We used Ubuntu 14.04 Linux (64-bit) with Amazon Master Image (AMI) id ami-fce3c696.

Disk Array Setup

We configured both Machine A and Machine B with RAID-0. Amazon has excellent instructions on how to configure RAID-0 using an EC2 instance's ephemeral SSDs. In both cases, we use all available on-blade SSDs and an ext4 filesystem. The risk of failure of RAID0 increases with the number of drives so do not use this approach unless your files are backed up somewhere else! Logical Volume Manager (LVM) and hierarchical RAIDs both support a stripe and mirror combination. In many real world situations, a JBOD setup is preferable over striping.

Why not benchmark EBS?

Amazon's Elastic Block Store (EBS) is arguably the most popular storage medium for EC2. EBS volumes are Amazon's equivalent of Network-Attached Storage (NAS). A cold read (or write) involves a network round-trip to a cabinet of disks so this increases the latency, which may be an issue for some workloads. However, the throughput can also vary considerably.

We ran throughput tests on:

  • General Purpose (gp2) EBS,
  • SSD with RAID0-2
  • SSD with RAID0

After 30 minutes of intensive multi-threaded reads, the cold read throughput of a general-purpose EBS (gp1) dropped from ~160 MB/second to ~30 MB/second where it remained for many hours.

Throughput Comparison, EBS vs Ephemeral SSDs

Ephemeral SSDs are connected directly to the same blade as their host so these instances are never network-bound and have much higher IOPS. The steady cold read throughput of on-blade SSDs justifies our choice of using them for our benchmarks.

results matching ""

    No results matching ""