Dynamic Resource Allocation for HEVC Encoding in FPGA-Accelerated SDN Cloud

This paper presents a novel approach to accelerate, distribute, and manage video encoding services in large-scale cloud systems. A proof-of-concept application is Kvazaar HEVC intra encoder, whose functionality is partitioned between FPGAs and processors. Typically, only 1–2 FPGA boards can be attached per cloud server, which severely limits the flexibility of the cloud systems. Our solution is based on Software Defined Networking (SDN), in which practically any number of FPGAs and servers can be deployed. The system features a resource manager that is responsible for allocation, deallocation, and load balancing of resources upon service requests or changes in network infrastructure. Our prototype cloud system is composed of three Intel Xeon servers, two HP SDN switches, and two Intel Arria 10 FPGAs. The servers and FPGAs have 20GbE and 40GbE connections to the SDN switches, respectively. The prototype system can encode two 4K HEVC streams at 60 fps and the performance is predicted to scale almost linearly with the number of servers and FPGAs.

[1]  Timo Hämäläinen,et al.  Feasibility of FPGA Accelerated IPsec on Cloud , 2018, 2018 21st Euromicro Conference on Digital System Design (DSD).

[2]  Andrea Enrici,et al.  FPGA-Based System for the Acceleration of Cloud Microservices , 2018, 2018 IEEE International Symposium on Broadband Multimedia Systems and Broadcasting (BMSB).

[3]  Sachille Atapattu,et al.  Real time all intra HEVC HD encoder on FPGA , 2016, 2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP).

[4]  Grzegorz Pastuszak,et al.  Algorithm and Architecture Design of the H.265/HEVC Intra Encoder , 2016, IEEE Transactions on Circuits and Systems for Video Technology.

[5]  Jarno Vanne,et al.  Are We There Yet? A Study on the State of High-Level Synthesis , 2019, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  Gary J. Sullivan,et al.  Overview of the High Efficiency Video Coding (HEVC) Standard , 2012, IEEE Transactions on Circuits and Systems for Video Technology.

[7]  James R. Larus,et al.  A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services , 2015, IEEE Micro.

[8]  Daniel Gajski,et al.  An Introduction to High-Level Synthesis , 2009, IEEE Design & Test of Computers.

[9]  Jarno Vanne,et al.  Visualization of Dynamic Resource Allocation for HEVC Encoding in FPGA-Accelerated SDN Cloud , 2019, 2019 IEEE Visual Communications and Image Processing (VCIP).

[10]  Hari Angepat,et al.  A cloud-scale acceleration architecture , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[11]  Christoph Hagleitner,et al.  Network-attached FPGAs for data center applications , 2016, 2016 International Conference on Field-Programmable Technology (FPT).

[12]  Timo Hämäläinen,et al.  FPGA-Powered 4K120p HEVC Intra Encoder , 2018, 2018 IEEE International Symposium on Circuits and Systems (ISCAS).

[13]  Timo Hämäläinen,et al.  Kvazaar 4K HEVC intra encoder on FPGA accelerated airframe server , 2017, 2017 IEEE International Workshop on Signal Processing Systems (SiPS).

[14]  Shun-ichi Sekiguchi,et al.  Real-time hardware implementation of HEVC video encoder for 1080p HD video , 2013, 2013 Picture Coding Symposium (PCS).

[15]  Yang Song,et al.  HDTV1080p HEVC Intra encoder with source texture based CU/PU mode pre-decision , 2014, 2014 19th Asia and South Pacific Design Automation Conference (ASP-DAC).

[16]  Timo Hämäläinen,et al.  Kvazaar: Open-Source HEVC/H.265 Encoder , 2016, ACM Multimedia.

[17]  Kizheppatt Vipin,et al.  Virtualized FPGA Accelerators for Efficient Cloud Computing , 2015, 2015 IEEE 7th International Conference on Cloud Computing Technology and Science (CloudCom).

[18]  Andreas Herkersdorf,et al.  Enabling FPGAs in Hyperscale Data Centers , 2015, 2015 IEEE 12th Intl Conf on Ubiquitous Intelligence and Computing and 2015 IEEE 12th Intl Conf on Autonomic and Trusted Computing and 2015 IEEE 15th Intl Conf on Scalable Computing and Communications and Its Associated Workshops (UIC-ATC-ScalCom).

[19]  Alex X. Liu,et al.  FPGA Resource Pooling in Cloud Computing , 2018, IEEE Transactions on Cloud Computing.