Adaptive High-Level Scheduling in a Generic Parallel Runtime Environment
The authors present the design and prototype implementation of a Run-Time Environment (RTE) for the implicitly parallel execution of high-level languages. In their design a micro-kernel provides basic infrastructure, such as garbage collection, but all complex RTE operations, including the handling of parallelism, are implemented on a separate system level. By choosing a high-level language, (Concurrent) Haskell, as system-level language, they obtain a prototype in the form of an executable specification that is easier to maintain and more flexible than conventional RTEs. In particular, components can be easily replaced. They demonstrate the flexibility of this approach by presenting different variants of the scheduling component in their RTE.