What it Takes to Get to Exascale