Resource allocation in a heterogeneous computing systems

Many of the parallel and distributed computing systems currently have a heterogeneous configuration. Many of such systems are composed of CPU-based, GPU-based, FPGA, IO-based, and several other types of processing resources.

In particular, heterogeneous systems are categorized as “consistent heterogeneous” and “inconsistent heterogeneous”. In the former, we can easily say that some resources are always better (more powerful) than others whereas in the latter some resources are ideal for processing a particular type of requests and some others are appropriate for some other requests.

Resource allocation in heterogeneous systems, particularly inconsistent heterogeneous systems, is challenging. In this research, we investigate on how user requests (tasks) can be allocated to heterogeneous systems so that a performance metric (e.g., number of tasks meeting their deadlines) is maximized. In particular, we investigate two scheduling frameworks known as “immediate” and “batch”. These frameworks are depicted in the following picture:

Fore more information about our heterogeneous resource allocation project, please refer to our latest publication in the Journal of Parallel and Distributed Computing (JPDC), published in 2016.