skip to main content
10.1145/3195970.3196109acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

S2FA: an accelerator automation framework for heterogeneous computing in datacenters

Published:24 June 2018Publication History

ABSTRACT

Big data analytics using the JVM-based MapReduce framework has become a popular approach to address the explosive growth of data sizes. Adopting FPGAs in datacenters as accelerators to improve performance and energy efficiency also attracts increasing attention. However, the integration of FPGAs into such JVM-based frameworks raises the challenge of poor programmability. Programmers must not only rewrite Java/Scala programs to C/C++ or OpenCL, but, to achieve high performance, they must also take into consideration the intricacies of FPGAs. To address this challenge, we present S2FA (Spark-to-FPGA-Accelerator), an automation framework that generates FPGA accelerator designs from Apache Spark programs written in Scala. S2FA bridges the semantic gap between object-oriented languages and HLS C while achieving high performance using learning-based design space exploration. Evaluation results show that our generated FPGA designs achieve up to 49.9× performance improvement for several machine learning applications compared to their corresponding implementations on the JVM.

References

  1. Amazon EC2 F1 Instance. https://aws.amazon.com/ec2/instance-types/f1/.Google ScholarGoogle Scholar
  2. Apache Hadoop. http://hadoop.apache.org/.Google ScholarGoogle Scholar
  3. Aparapi in amd developer website. https://github.com/aparapi/aparapi.Google ScholarGoogle Scholar
  4. Falcon Computing Solutions, Inc. http://falcon-computing.com/.Google ScholarGoogle Scholar
  5. Rose Compiler Infrastructure. http://rosecompiler.org/.Google ScholarGoogle Scholar
  6. Xilinx SDx. www.xilinx.com/products/design-tools/software-zone/sdaccel.html.Google ScholarGoogle Scholar
  7. J. Ansel et al. 2014. OpenTuner: An Extensible Framework for Program Autotuning. In PACT. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Y.-T. Chen et al. 2016. When Spark Meets FPGAs: A Case Study for Next-Generation DNA Sequencing Acceleration. In HotCloud. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J. Cong et al. 2016. Source-to-Source Optimization for HLS. In FPGAs for Software Programmers. Springer International Publishing. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Cong et al. 2016. Software Infrastructure for Enabling FPGA-Based Accelerations in Data Centers: Invited Paper. In ISLPED. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Cong et al. 2011. High-Level Synthesis for FPGAs: From Prototyping to Deployment. TCAD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Dean et al. 2008. MapReduce: Simplified Data Processing on Large Clusters. OSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Á. Fialho et al. 2010. Analyzing bandit-based adaptive operator selection mechanisms. Ann Math Artif Intell. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Huang et al. 2016. Programming and Runtime Support to Blaze FPGA Accelerator Deployment at Datacenter Scale. In SoCC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Koeplinger et al. 2016. Automatic Generation of Efficient Accelerators for Reconfigurable Hardware. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H.-Y. Liu et al. 2013. On learning-based methods for design-space exploration with high-level synthesis. In DAC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. R. Prabhakar et al. 2016. Generating Configurable Hardware from Parallel Patterns. ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Putnam et al. 2014. A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services. In ISCA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. Rodríguez et al. 2012. Image segmentation via an iterative algorithm of the mean shift filtering for different values of the stopping threshold. IJIR (2012).Google ScholarGoogle Scholar
  20. B. C. Schafer et al. 2012. Machine learning predictive modelling high-level synthesis design space exploration. IET CDT (2012).Google ScholarGoogle Scholar
  21. O. Segal et al. 2015. SparkCL: A Unified Programming Framework for Accelerators on Heterogeneous Clusters. CoRR.Google ScholarGoogle Scholar
  22. C. E. Shannon. 2001. A mathematical theory of communication. ACM MC2R. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. F. Smith et al. 1981. Identification of common molecular subsequences. JMB.Google ScholarGoogle Scholar
  24. Z. Wang et al. 2016. A performance analysis framework for optimizing OpenCL applications on FPGAs. In HPCA.Google ScholarGoogle Scholar
  25. Z. Wang et al. 2016. Melia: A MapReduce Framework on OpenCL-based FPGAs. TPDS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. C. Xu et al. 2017. A Parallel Bandit-Based Approach for Autotuning FPGA Compilation. In FPGA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Xydis et al. 2015. SPIRIT: Spectral-Aware pareto iterative refinement optimization for supervised high-level synthesis. TCAD (2015).Google ScholarGoogle Scholar
  28. M. Zaharia et al. 2010. Spark: Cluster Computing with Working Sets. In HotCloud. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G. Zhong et al. 2014. Design space exploration of multiple loops on FPGAs using high level synthesis. In ICCD.Google ScholarGoogle Scholar
  30. W. Zuo et al. 2013. Improving Polyhedral Code Generation for High-level Synthesis. In CODES+ISSS. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    DAC '18: Proceedings of the 55th Annual Design Automation Conference
    June 2018
    1089 pages
    ISBN:9781450357005
    DOI:10.1145/3195970

    Copyright © 2018 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 24 June 2018

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate1,770of5,499submissions,32%

    Upcoming Conference

    DAC '24
    61st ACM/IEEE Design Automation Conference
    June 23 - 27, 2024
    San Francisco , CA , USA

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader