Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters

Cloud service providers consistently leverage their computing infrastructures by adding reconfigurable hardware platforms such as field-programmable gate arrays (FPGAs) to their existing infrastructures. Adding FPGAs to a cloud environment involves non-trivial challenges. The first challenge is virt...

Full description

Bibliographic Details
Main Authors: Abid Farhan, Raafat Aburukba, Assim Sagahyroon, Mohammed Elnawawy, Khaled El-Fakih
Format: Article
Language:English
Published: IEEE 2022-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9878317/
_version_ 1828147602947833856
author Abid Farhan
Raafat Aburukba
Assim Sagahyroon
Mohammed Elnawawy
Khaled El-Fakih
author_facet Abid Farhan
Raafat Aburukba
Assim Sagahyroon
Mohammed Elnawawy
Khaled El-Fakih
author_sort Abid Farhan
collection DOAJ
description Cloud service providers consistently leverage their computing infrastructures by adding reconfigurable hardware platforms such as field-programmable gate arrays (FPGAs) to their existing infrastructures. Adding FPGAs to a cloud environment involves non-trivial challenges. The first challenge is virtualizing FPGAs as part of the cloud resources. As a standard virtualization framework is lacking, there is a need for an efficient framework for virtualizing FPGAs. Furthermore, FPGA resources are used in conjunction with central processing units (CPUs) and graphics processing units (GPUs) to accelerate the execution of tasks. Therefore, to gain the benefits of these powerful accelerating platforms, the second challenge is to optimize the allocation of tasks into the capable resources within a cloud data center. This work proposes an FPGA virtualization framework that abstracts the physical FPGAs into virtual pools of FPGA resources. The work further presents an integer linear programming (ILP) optimization model to minimize the makespan of tasks where FPGA resources are part of the cloud data center. Given the complex nature of the problem, a simulated annealing (SA) metaheuristic is developed to achieve gains in performance compared to the exact method and to scale up and handle many tasks and resources while providing near-optimal solutions. Experimental results show that SA has reduced the makespan of a large dataset with 1000 tasks and 100 resources by up to 30% when compared to first-come-first-served (FCFS) and shortest-deadline-first (SDF) algorithms. Lastly, to quantify the performance of FPGA-enabled cloud datacenters, the work extends the CloudSim simulator (an open-source cloud simulator) to enable FPGA as a resource in its environment. The proposed virtualization framework and the SA scheduler are integrated into the environment. Simulation results show that the execution time of tasks is reduced by up to 78% when FPGA accelerators are used.
first_indexed 2024-04-11T21:03:50Z
format Article
id doaj.art-45250edcbc2b4befa8784007e8ff974d
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-04-11T21:03:50Z
publishDate 2022-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-45250edcbc2b4befa8784007e8ff974d2022-12-22T04:03:25ZengIEEEIEEE Access2169-35362022-01-0110969099692910.1109/ACCESS.2022.32048669878317Virtualizing and Scheduling FPGA Resources in Cloud Computing DatacentersAbid Farhan0Raafat Aburukba1https://orcid.org/0000-0003-2695-5836Assim Sagahyroon2https://orcid.org/0000-0001-7189-3940Mohammed Elnawawy3https://orcid.org/0000-0002-4367-8060Khaled El-Fakih4https://orcid.org/0000-0002-2343-2848Department of Computer Science and Engineering, American University of Sharjah, Sharjah, United Arab EmiratesDepartment of Computer Science and Engineering, American University of Sharjah, Sharjah, United Arab EmiratesDepartment of Computer Science and Engineering, American University of Sharjah, Sharjah, United Arab EmiratesDepartment of Computer Science and Engineering, American University of Sharjah, Sharjah, United Arab EmiratesDepartment of Computer Science and Engineering, American University of Sharjah, Sharjah, United Arab EmiratesCloud service providers consistently leverage their computing infrastructures by adding reconfigurable hardware platforms such as field-programmable gate arrays (FPGAs) to their existing infrastructures. Adding FPGAs to a cloud environment involves non-trivial challenges. The first challenge is virtualizing FPGAs as part of the cloud resources. As a standard virtualization framework is lacking, there is a need for an efficient framework for virtualizing FPGAs. Furthermore, FPGA resources are used in conjunction with central processing units (CPUs) and graphics processing units (GPUs) to accelerate the execution of tasks. Therefore, to gain the benefits of these powerful accelerating platforms, the second challenge is to optimize the allocation of tasks into the capable resources within a cloud data center. This work proposes an FPGA virtualization framework that abstracts the physical FPGAs into virtual pools of FPGA resources. The work further presents an integer linear programming (ILP) optimization model to minimize the makespan of tasks where FPGA resources are part of the cloud data center. Given the complex nature of the problem, a simulated annealing (SA) metaheuristic is developed to achieve gains in performance compared to the exact method and to scale up and handle many tasks and resources while providing near-optimal solutions. Experimental results show that SA has reduced the makespan of a large dataset with 1000 tasks and 100 resources by up to 30% when compared to first-come-first-served (FCFS) and shortest-deadline-first (SDF) algorithms. Lastly, to quantify the performance of FPGA-enabled cloud datacenters, the work extends the CloudSim simulator (an open-source cloud simulator) to enable FPGA as a resource in its environment. The proposed virtualization framework and the SA scheduler are integrated into the environment. Simulation results show that the execution time of tasks is reduced by up to 78% when FPGA accelerators are used.https://ieeexplore.ieee.org/document/9878317/FPGAcloud computingvirtualizationschedulingCloudSimsimulated annealing
spellingShingle Abid Farhan
Raafat Aburukba
Assim Sagahyroon
Mohammed Elnawawy
Khaled El-Fakih
Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters
IEEE Access
FPGA
cloud computing
virtualization
scheduling
CloudSim
simulated annealing
title Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters
title_full Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters
title_fullStr Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters
title_full_unstemmed Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters
title_short Virtualizing and Scheduling FPGA Resources in Cloud Computing Datacenters
title_sort virtualizing and scheduling fpga resources in cloud computing datacenters
topic FPGA
cloud computing
virtualization
scheduling
CloudSim
simulated annealing
url https://ieeexplore.ieee.org/document/9878317/
work_keys_str_mv AT abidfarhan virtualizingandschedulingfpgaresourcesincloudcomputingdatacenters
AT raafataburukba virtualizingandschedulingfpgaresourcesincloudcomputingdatacenters
AT assimsagahyroon virtualizingandschedulingfpgaresourcesincloudcomputingdatacenters
AT mohammedelnawawy virtualizingandschedulingfpgaresourcesincloudcomputingdatacenters
AT khaledelfakih virtualizingandschedulingfpgaresourcesincloudcomputingdatacenters