Wringing Cost and Complexity Out of HPC