skip to main content
10.1145/2597917.2597929acmconferencesArticle/Chapter ViewAbstractPublication PagescfConference Proceedingsconference-collections
research-article

Enabling FPGAs in the cloud

Published: 20 May 2014 Publication History

Abstract

Cloud computing is becoming a major trend for delivering and accessing infrastructure on demand via the network. Meanwhile, the usage of FPGAs (Field Programmable Gate Arrays) for computation acceleration has made significant inroads into multiple application domains due to their ability to achieve high throughput and predictable latency, while providing programmability, low power consumption and time-to-value. Many types of workloads, e.g. databases, big data analytics, and high performance computing, can be and have been accelerated by FPGAs. As more and more workloads are being deployed in the cloud, it is appropriate to consider how to make FPGAs and their capabilities available in the cloud. However, such integration is non-trivial due to issues related to FPGA resource abstraction and sharing, compatibility with applications and accelerator logics, and security, among others. In this paper, a general framework for integrating FPGAs into the cloud is proposed and a prototype of the framework is implemented based on OpenStack, Linux-KVM and Xilinx FPGAs. The prototype enables isolation between multiple processes in multiple VMs, precise quantitative acceleration resource allocation, and priority-based workload scheduling. Experimental results demonstrate the effectiveness of this prototype, an acceptable overhead, and good scalability when hosting multiple VMs and processes.

References

[1]
Kernel Based Virtual Machine. Website. http://www.linux-kvm.org/page/Main_Page.
[2]
Openstack - Open source software for building private and public clouds. Website. http://www.openstack.org/.
[3]
Hybrid-Core: The "Big Data" Architecture. Website, March 2013. http://www.conveycomputer.com/files/7013/5075/9401/Hybridcore-The-Big-Data-Computing-Architecture.pdf.
[4]
IBM PureData System for Analytics Powered by Netezza technology. Website, 2013. http://public.dhe.ibm.com/common/ssi/ecm/en/imd14400usen/IMD14400USEN.PDF.
[5]
Technical publication. Website, March 2013. http://solacesystems.com/library/3200-series.php.
[6]
A. Arasu, K. Eguro, R. Kaushik, D. Kossmann, R. Ramamurthy, and R. Venkatesan. A secure coprocessor for database applications. In Field Programmable Logic and Applications (FPL), 2013 23rd International Conference on, pages 1--8, Sept 2013.
[7]
J. Auerbach, D. Bacon, P. Cheng, R. Rabbah, and S. Shukla. Virtualization of heterogeneous machines. In Design Automation Conference (DAC), 2011 48th ACM/EDAC/IEEE, pages 890--894, 2011.
[8]
Auerbach, Joshua and Bacon, David F. and Cheng, Perry and Rabbah, Rodric. Lime: a java-compatible and synthesizable language for heterogeneous architectures. In Proceedings of the ACM international conference on Object oriented programming systems languages and applications, OOPSLA '10, pages 89--108, New York, NY, USA, 2010. ACM.
[9]
R. Brodersen, A. Tkachenko, and H. Kwok-Hay So. A unified hardware/software runtime environment for fpga-based reconfigurable computers using borph. In Hardware/Software Codesign and System Synthesis, 2006. CODES+ISSS '06. Proceedings of the 4th International Conference, pages 259--264, 2006.
[10]
L. Chen, T. Marconi, and T. Mitra. Online scheduling for multi-core shared reconfigurable fabric. In Design, Automation Test in Europe Conference Exhibition (DATE), 2012, pages 582--585, 2012.
[11]
K. Eguro and R. Venkatesan. Fpgas for trusted cloud computing. In Field Programmable Logic and Applications (FPL), 2012 22nd International Conference on, pages 63--70, Aug 2012.
[12]
B. S. Frank Opitz, Edris Sahak. Accelerating distributed computing with fpgas. Xcell Journal, 3:20--27, 2012.
[13]
P. Garcia and K. Compton. Kernel sharing on reconfigurable multiprocessor systems. In ICECE Technology, 2008. FPT 2008. International Conference on, pages 225--232, 2008.
[14]
P. Garcia, K. Rupnow, and K. Compton. A reconfigurable computing scheduler optimized for multicore systems. In Field Programmable Logic and Applications (FPL), 2010 International Conference on, pages 107--112, 2010.
[15]
V. Gupta, K. Schwan, N. Tolia, V. Talwar, and P. Ranganathan. Pegasus: coordinated scheduling for virtualized accelerator-based systems. In Proceedings of the 2011 USENIX conference on USENIX annual technical conference, USENIXATC'11, pages 3--3, Berkeley, CA, USA, 2011. USENIX Association.
[16]
C.-H. Huang and P.-A. Hsiung. Hardware resource virtualization for dynamically partially reconfigurable systems. Embedded Systems Letters, IEEE, 1(1):19--23, 2009.
[17]
A. Ismail and L. Shannon. Fuse: Front-end user framework for o/s abstraction of hardware accelerators. In Field-Programmable Custom Computing Machines (FCCM), 2011 IEEE 19th Annual International Symposium on, pages 170--177, 2011.
[18]
S. Kato, M. McThrow, C. Maltzahn, and S. Brandt. Gdev: first-class gpu resource management in the operating system. In Proceedings of the 2012 USENIX conference on Annual Technical Conference, USENIX ATC'12, pages 37--37, Berkeley, CA, USA, 2012. USENIX Association.
[19]
Khronos Group Inc. OpenCL project. Website. http://www.khronos.org/opencl/.
[20]
R. Kirchgessner, G. Stitt, A. George, and H. Lam. Virtualrc: a virtual fpga platform for applications and tools portability. In Proceedings of the ACM/SIGDA international symposium on Field Programmable Gate Arrays, FPGA '12, pages 205--208, New York, NY, USA, 2012. ACM.
[21]
Nvidia Inc. GRID GPUs. Website. http://www.nvidia.com/object/grid-boards.html.
[22]
Oskar Mencer and Stephen Weston. Computational acceleration of credit and interest rate derivatives. Technical report, March 2013. http://www.maxeler.com/media/documents/MaxelerSummaryAccelerationCreditInterestDerivatives.pdf.
[23]
C. Plessl and M. Platzner. Virtualization of hardware-introduction and survey. In ERSA, pages 63--69, 2004.
[24]
C. J. Rossbach, J. Currey, M. Silberstein, B. Ray, and E. Witchel. Ptask: operating system abstractions to manage gpus as compute devices. In Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, SOSP '11, pages 233--248, New York, NY, USA, 2011. ACM.
[25]
K. Rupnow, W. Fu, and K. Compton. Block, drop or roll(back): Alternative preemption methods for rh multi-tasking. In Field Programmable Custom Computing Machines, 2009. FCCM '09. 17th IEEE Symposium on, pages 63--70, 2009.
[26]
W. Wang, M. Bolic, and J. Parri. pvfpga: Accessing an fpga-based hardware accelerator in a paravirtualized environment. In Hardware/Software Codesign and System Synthesis (CODES+ISSS), 2013 International Conference on, pages 1--9, Sept 2013.
[27]
Y. Wang, J. Yan, X. Zhou, L. Wang, W. Luk, C. Peng, and J. Tong. A partially reconfigurable architecture supporting hardware threads. In Field-Programmable Technology (FPT), 2012 International Conference on, pages 269--276, 2012.
[28]
M. A. Watkins and D. H. Albonesi. Remap: A reconfigurable architecture for chip multiprocessors. IEEE Micro, 31(1):65--77, 2011.

Cited By

View all
  • (2024)GLRM: Geometric Layout-Based Resource Management Method on Multiple Field Programmable Gate Array SystemsElectronics10.3390/electronics1310182113:10(1821)Online publication date: 8-May-2024
  • (2024)Architectural Support for Sharing, Isolating and Virtualizing FPGA ResourcesACM Transactions on Architecture and Code Optimization10.1145/364847521:2(1-26)Online publication date: 21-May-2024
  • (2024)Flexible Updating of Internet of Things Computing Functions through Optimizing Dynamic Partial ReconfigurationACM Transactions on Embedded Computing Systems10.1145/364382523:2(1-25)Online publication date: 1-Feb-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CF '14: Proceedings of the 11th ACM Conference on Computing Frontiers
May 2014
305 pages
ISBN:9781450328708
DOI:10.1145/2597917
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 May 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. FPGA virtualization
  2. cloud
  3. reconfiguration and heterogeneous computing

Qualifiers

  • Research-article

Funding Sources

Conference

CF'14
Sponsor:
CF'14: Computing Frontiers Conference
May 20 - 22, 2014
Cagliari, Italy

Acceptance Rates

CF '14 Paper Acceptance Rate 28 of 62 submissions, 45%;
Overall Acceptance Rate 273 of 785 submissions, 35%

Upcoming Conference

CF '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)7
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)GLRM: Geometric Layout-Based Resource Management Method on Multiple Field Programmable Gate Array SystemsElectronics10.3390/electronics1310182113:10(1821)Online publication date: 8-May-2024
  • (2024)Architectural Support for Sharing, Isolating and Virtualizing FPGA ResourcesACM Transactions on Architecture and Code Optimization10.1145/364847521:2(1-26)Online publication date: 21-May-2024
  • (2024)Flexible Updating of Internet of Things Computing Functions through Optimizing Dynamic Partial ReconfigurationACM Transactions on Embedded Computing Systems10.1145/364382523:2(1-25)Online publication date: 1-Feb-2024
  • (2024)SuperNIC: An FPGA-Based, Cloud-Oriented SmartNICProceedings of the 2024 ACM/SIGDA International Symposium on Field Programmable Gate Arrays10.1145/3626202.3637564(130-141)Online publication date: 1-Apr-2024
  • (2024)Compiler-Driven FPGA Virtualization with SYNERGYCommunications of the ACM10.1145/361390367:8(134-142)Online publication date: 7-May-2024
  • (2024)Toward High-Accuracy and Real-Time Two-Stage Small Object Detection on FPGAIEEE Transactions on Circuits and Systems for Video Technology10.1109/TCSVT.2024.338512134:9(8053-8066)Online publication date: Sep-2024
  • (2024)Aggregate Encryption Individual Decryption for FPGA Bitstream Protection on Cloud2024 International Symposium on Secure and Private Execution Environment Design (SEED)10.1109/SEED61283.2024.00025(155-166)Online publication date: 16-May-2024
  • (2024)An Automatic Framework for Collaborative CPU Thread Throttling and FPGA HLS-Versioning2024 XIV Brazilian Symposium on Computing Systems Engineering (SBESC)10.1109/SBESC65055.2024.10771920(1-6)Online publication date: 26-Nov-2024
  • (2024)A Survey on Scheduling Techniques in Computing and Network ConvergenceIEEE Communications Surveys & Tutorials10.1109/COMST.2023.332902726:1(160-195)Online publication date: Sep-2025
  • (2024)Micro-Orchestration of RAN Functions Accelerated in FPGA SoC Devices2024 3rd International Conference on 6G Networking (6GNet)10.1109/6GNet63182.2024.10765691(161-166)Online publication date: 21-Oct-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media