Algorithms for Exascale Computing