What we must learn
To re-formulate the science and the algorithms
To develop and write network-aware, latency-tolerant, hierarchical-memory communications and numerical libraries (re-usable, portable, efficient, adaptable software systems)
To control, visualize, steer and analyze complex, coupled simulations
To integrate distributed computing and collaborative technologies