Abstracting OpenCL for Multi-Application Workloads on CPU-FPGA Clusters
Simon Fraser University
Simon Fraser University, 2019
@phdthesis{holland2019abstracting,
title={Abstracting OpenCL for Multi-Application Workloads on CPU-FPGA Clusters},
author={Holland, Graham},
year={2019},
school={Applied Sciences: School of Engineering Science}
}
Field-programmable gate arrays (FPGAs) continue to see integration in data centres, where customized hardware accelerators provide improved performance for cloud workloads. However, existing programming models for such environments typically require a manual assignment of application tasks between CPUs and FPGA-based accelerators. Furthermore, coordinating the execution of tasks from multiple applications necessitates the use of a higher-level cluster management system. In this thesis, we present an abstraction model named CFUSE (Cluster Front-end USEr framework), which abstracts the execution target within a heterogeneous cluster. CFUSE allows tasks from multiple applications from unknown workloads to be mapped dynamically to the available CPU and FPGA resources and allows accelerator sharing among applications. We demonstrate CFUSE with an OpenCL-based prototype implementation for a small cluster of Xilinx FPGA development boards. Using this cluster, we execute a variety of multi-application workloads to evaluate three scheduling policies and to determine the relevant scheduling factors for the system.
March 15, 2020 by hgpu