Contemporary High Performance Computing: From Petascale Toward Exascale