Runtime Research Questions

From Modelado Foundation Wiki
Jump to: navigation, search

Below are the questions addressed in the Runtime Research Panel. Please add your comments (with you name) after each question.

Concurrency

How should a runtime system be designed to manage billions of threads?

Locality

How should locality optimization on exascale machines be supported at the runtime level?

Granularity

How much of the burden of selecting the right granularity of parallelism for a given platform should be placed on the runtime?

Robustness to Architecture Change

Can exascale binaries be "forward scalable" by default so that hardware changes in parallelism/locality can be exploited entirely in the runtime without requiring re-programming or re-compilation?

Memory Management

How will runtime memory management support (e.g., malloc/free) be designed for exascale? Will automatic techniques like concurrent garbage collection be more or less relevant at exascale?

Resource Management

How can different runtime components cooperatively manage shared resources? For example, cores can be used to support computation, communication and resilience.

User directives

How can a runtime support both user directives and automated adaptations in an integrated manner?

Relaxed Synchronization

What role can "relaxed synchronization" play in exascale software e.g., allowing tasks to execute even in the presence of data races so long as the probability of wrong answers is shown to be (or made) low?

Transactional Memory

What role can transactional memory and related ideas for optimistic concurrency play in exascale software? How about actors?

Runtime / OS interoperation

What assumptions should exascale runtimes make about exascale operating systems?