Many of the software and algorithmic
challenges for advanced computing
and big-data analytics are themselves
consequences of extreme system scale.
As noted earlier, advanced scientific
computing shares many of the scaling
problems of Web and cloud services
but differs in its price-performance
optimization balance, emphasizing
high levels of performance, whether
for computation or for data analysis.
This distinction is central to the design
choices and optimization criteria.
Given the scale and expected error
rates of exascale computing systems,
design and implementation of algorithms
must be rethought from first
principles, including exploration of
global synchronization-free (or at least
minimal) algorithms, fault-oblivious
and error-tolerant algorithms, architecture-
aware algorithms suitable for
heterogeneous and hierarchical organized
hardware, support for mixedprecision
arithmetic, and software for
energy-efficient computing.