Efficient Resource Scheduling for Big Data Processing on Accelerator-based Heterogeneous Systems
Faculty of Electrical Engineering and Information Technology, RWTH Aachen University
Computer Communication & Collaboration, Vol. 3, Issue 2, 2015
@article{tarakji2015efficient,
title={Efficient Resource Scheduling for Big Data Processing on Accelerator-based Heterogeneous Systems},
author={Tarakji, Ayman and Hebbeker, David and Georgiev, Lyubomir},
journal={Computer},
volume={3},
number={2},
pages={1–25},
year={2015}
}
The involvement of accelerators is becoming widespread in the field of heterogeneous processing, performing computation tasks through a wide range of applications. In this paper, we examine the heterogeneity in modern computing systems, particularly, how to achieve a good level of resource utilization and fairness, when multiple tasks with different load and computation ratios are processed. First, we present OCLSched, an OpenCL-based scheduler that is designed as a multiuser computing environment to make use of the full potential of available resources in heterogeneous compute systems. Multiple tasks can be issued by means of a C++ API that relies on the OpenCL C++ wrapper. At this point, our scheduler takes over the control immediately and performs load scheduling. Due to its implementation, our approach can be easily applicable to a common OS. We validate our method through extensive experiments deploying a set of applications, which show that the low scheduling costs remain constant in total over a wide range of input size. Then, we demonstrate the ability of our scheduling approach to manage the nontrivial applications, bringing the ability of OCLSched to handle complex applications to the front. Besides the general computation tasks used in our experiments, we want to present a new implementation concept of a recent stream data clustering algorithm DenStream. Based on a specially designed task concept, the clustering functionality is described as a single user process within our scheduler, achieving its defined targets asynchronous to other general purpose computations. Besides the different CPUs, a variety of modern GPU and other accelerator architectures are used in this work including: AMD’s Graphics Core Next, NVIDIA’s Kepler, and the Intel MIC (Many Integrated Core) architecture.
May 16, 2015 by hgpu