Presented at the Argonne Training Program on Extreme-Scale Computing, Summer 2013. For more information, visit: http://extremecomputingtraining.anl.gov/