Instead, new system-software and
operating-system designs will need
to support management of heterogeneous
resources and non-cache-coherent
memory hierarchies, provide applications
and runtime with more control
of task scheduling policies, and manage
global namespaces. They must also
expose mechanisms for finer measurement,
prediction, and control of power
management, allowing schedulers to
map computations to function-specific
accelerators and manage thermal
envelopes and application energy profiles.
Commercial cloud providers have
already faced many of these problems,
and their experience in large-scale resource
management has much to offer
the scientific computing ecosystem.