Modern h/w and s/w looks radically different to the HPC and server workloads which have traditionally motivated parallel programming: Individual machines are internally more complex with multiple processor types, NUMA domains and hot-swap components. Workload resource demands are also more complex, with bursty behavior over short timescales, and an ability to elastically use more/fewer resources as they are available. Furthermore, the need to consolidate workloads on large machines or clusters brings a renewed need to handle resource management on behalf of multiple jobs and multiple users.
In Callisto, we are looking at how to re-architect the interaction between virtualization, distribution, and parallel runtime systems in order to better support these new workloads.
A particular focus is the needs of parallel and distributed graph analytics workloads (such as those generated by the Green-Marl DSL) when deployed on large NUMA systems, or on clusters of machines connected by a low-latency interconnect.