Heterogeneous Resource-Elastic Management for FPGAs: Concepts, Theory and Implementation
Department of Computer Science, The University of Manchester
The University of Manchester, 2019
@article{vaishnav2019heterogeneous,
title={HETEROGENEOUS RESOURCE-ELASTIC MANAGEMENT FOR FPGAS: CONCEPTS, THEORY AND IMPLEMENTATION},
author={Vaishnav, Anuj and Koch, Dirk and Pham, Khoa Dang},
year={2019}
}
Despite deployment of FPGAs at the edge and cloud data centers due to their performance and energy advantage, FPGA runtime systems commonly tend to support only one-application-at-a-time and cannot adapt to dynamic workloads with reasonable response times. Therefore, this paper proposes the concepts and theory of resource elasticity for FPGA systems to allow a task running in hardware on an FPGA to change its resource allocation dynamically through module replication or migrating to implementation alternatives. To support resource elasticity, we identify its system requirements and provide an implementation for OpenCL applications which can not only accelerate multiple applications on FPGAs concurrently but also on CPUs through a common abstraction model. By allowing to transparently execute applications collaboratively on different compute substrates simultaneously, we provide a heterogeneous system with the ability to dynamically scale resources as needed for optimizing system performance and response times. Our results show that resource elastic execution on CPU+FPGA architectures can provide 2x the performance of SDSoClike platforms for Spector benchmarks. Additionally, for various platform and workload types under varying workload sizes, we measured on average a 20% better makespan and 95% better wait time than standard run-to-completion schedulers without any changes to the applications.
September 29, 2019 by hgpu