Building the Infrastructure for Deploying FPGAs in the Cloud

  • Naif Tarafdar
  • Thomas Lin
  • Daniel Ly-Ma
  • Daniel Rozhko
  • Alberto Leon-Garcia
  • Paul ChowEmail author


At the University of Toronto, we are building the infrastructure required to support the deployment of FPGAs at a large scale in a data centre. We consider FPGAs to be peers to the CPU-based servers rather than using them as accelerator slaves, which is the more common view. The goal is to enable the allocation and use of the FPGAs as computing resources in the same way that current servers are provisioned in a data centre. Our approach is to build on the existing knowledge and experience with provisioning software-based processing elements in the data centre and adapting the current infrastructure to the differences that FPGAs bring. This will incur minimal disruption and adjustment to how systems are currently being deployed. To support FPGAs in a data centre requires many layers of infrastructure to be developed and adapted. These layers range from the very lowest levels of infrastructure provided in the FPGA itself to the upper layers of resource provisioning and configuration in the cloud. In this paper, we describe our work towards building the various layers to support deploying FPGAs in the data centre.


  1. 1.
    (2018) Amazon EC2 F1 Instances. Accessed 15 June 2018
  2. 2.
    (2018) OpenFlow. Accessed 15 June 2018
  3. 3.
    (2018) Smart Applications on Virtual Infrastructure. Accessed 15 June 2018
  4. 4.
    (2004) IEEE standard for local and metropolitan area networks: media access control (MAC) bridges–annex G user priorities and traffic classes. IEEE Std 8021D-2004 (Revision of IEEE Std 8021D-1998), pp 264–268.
  5. 5.
    (2011) IEEE standard for local and metropolitan area networks–media access control (MAC) bridges and virtual bridged local area networks–amendment 17: priority-based flow control. IEEE Std 8021Qbb-2011 (Amendment to IEEE Std 8021Q-2011 as amended by IEEE Std 8021Qbe-2011 and IEEE Std 8021Qbc-2011), pp 1–40.
  6. 6.
    (2011) IEEE standard for local and metropolitan area networks–media access control (MAC) bridges and virtual bridged local area networks–amendment 18: enhanced transmission selection for bandwidth sharing between traffic classes. IEEE Std 8021Qaz-2011 (Amendment to IEEE Std 8021Q-2011 as amended by IEEE Std 8021Qbe-2011, IEEE Std 8021Qbc-2011, and IEEE Std 8021Qbb-2011), pp 1–110.
  7. 7.
    ARM AMBA (2003) AXI protocol specificationGoogle Scholar
  8. 8.
    Caulfield A, et al (2016) A cloud-scale acceleration architecture. In: Proceedings of the 49th annual IEEE/ACM international symposium on microarchitecture, IEEE Computer Society.
  9. 9.
    Chow P (2016) An open ecosystem for software programmers to compute on FPGAs. In: Third international workshop on FPGAs for software programmers (FSP 2016), 11 ppGoogle Scholar
  10. 10.
    Clark C, Fraser K, Hand S, Hansen JG, Jul E, Limpach C, Pratt I, Warfield A (2005) Live migration of virtual machines. In: Proceedings of the 2nd conference on symposium on networked systems design and implementation-volume 2, USENIX Association, pp 273–286Google Scholar
  11. 11.
    ETSI (2018) Network functions virtualisation (NFV); Architectural framework. Accessed 15 June 2018
  12. 12.
    Google (2018) Google compute engine uses live migration technology to service infrastructure without application downtime. Accessed 15 June 2018
  13. 13.
    Gropp W, Lusk E, Doss N, Skjellum A (1996) A high-performance, portable implementation of the MPI message passing interface standard. Parallel Comput 22(6):789–828.
  14. 14.
    Linux (2018) The Linux Foundation. Accessed 15 June 2018
  15. 15.
    Madill, C., Patel, A., Saldaña, M., Pomès, R., Chow, P: A heterogeneous architecture for biomolecular simulation. In: Gaillardon PE (ed) Reconfigurable logic: architecture, tools, and applications, CRC Press, chap 11, pp 323–350 (2015)Google Scholar
  16. 16.
    McKeown N (2009) Software-defined networking. INFOCOM Keynote TalkGoogle Scholar
  17. 17.
    OpenStack (2018) OpenStack. Accessed 15 June 2018
  18. 18.
    OpenStack Inc (2018) Welcome to Neutron’s developer documentation! Accessed 15 June 2018
  19. 19.
    Putnam A, et al (2014) A reconfigurable fabric for accelerating large-scale datacenter services. In: 41st annual international symposium on computer architecture (ISCA)Google Scholar
  20. 20.
    Rackspace (2018) Live migration overview. Accessed 15 June 2018
  21. 21.
    Saldaña M, Patel A, Madill C, Nunes D, Wang D, Styles H, Putnam A, Wittig R, Chow P (2010) MPI as a programming model for high-performance reconfigurable computers. ACM Trans Reconf Technol Syst 3(4):22:1–22:29Google Scholar
  22. 22.
    Tarafdar N, Lin T, Eskandari N, Lion D, Leon-Garcia A, Chow P (2017) Heterogeneous virtualized network function framework for the data center. In: Field programmable logic and applications (FPL). IEEEGoogle Scholar
  23. 23.
    Tarafdar N, Lin T, Fukuda E, Bannazadeh H, Leon-Garcia A, Chow P (2017) Enabling flexible network FPGA clusters in a heterogeneous cloud data center. In: Proceedings of the 2017 ACM/SIGDA international symposium on field-programmable gate arrays. ACM, pp 237–246Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  • Naif Tarafdar
    • 1
  • Thomas Lin
    • 1
  • Daniel Ly-Ma
    • 1
  • Daniel Rozhko
    • 1
  • Alberto Leon-Garcia
    • 1
  • Paul Chow
    • 1
    Email author
  1. 1.Department of Electrical and Computer EngineeringUniversity of TorontoTorontoCanada

Personalised recommendations