One of the most important challenges to squeeze all the power out of parallel architectures, and specifically of the heterogeneous system, is task scheduling and load balancing. Generally speaking, the goal is to distribute the workload among the set of compute resources in a parallel architecture, to maximize their utilization, in order to avoid situations where some resources are infrautilized.
Currently we are focused on two different problems:
Task scheduling and load balancing for heterogeneous systems
Energy efficient, thermal-aware, real-time scheduling on multiprocessors