[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ Skip to main content
Log in

Parallel multiprocessing and scheduling on the heterogeneous Xeon+FPGA platform

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Heterogeneous computing that exploits simultaneous co-processing with different device types has been shown to be effective at both increasing performance and reducing energy consumption. In this paper, we extend a scheduling framework encapsulated in a high-level C++ template and previously developed for heterogeneous chips comprising CPU and GPU cores, to new high-performance platforms for the data center, which include a cache coherent FPGA fabric and many-core CPU resources. Our goal is to evaluate the suitability of our framework with these new FPGA-based platforms, identifying performance benefits and limitations.We target the state-of-the-art HARP processor that includes 14 high-end Xeon classes tightly coupled to a FPGA device located in the same package. We select eight benchmarks from the high-performance computing domain that have been ported and optimized for this heterogeneous platform. The results show that a dynamic and adaptive scheduler that exploits simultaneous processing among the devices can improve performance up to a factor of 8 × compared to the best alternative solutions that only use the CPU cores or the FPGA fabric. Moreover, our proposal achieves up to 15% and 37% of improvement compared to the best heterogeneous solutions found with a dynamic and static schedulers, respectively.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
£29.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (United Kingdom)

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. A chunk is a block of consecutive iterations that are independent of other iterations or chunks of the parallel loop.

  2. For the FPGA, the registered computation time includes the data transfer- or map/unmap- times.

  3. nEU = clGetDeviceInfo(deviceId, CL_DEVICE_MAX_COMPUTE_UNITS).

  4. It is not guaranteed that the stabilization criterion is always met. If the number of iterations is not large enough to fully utilize the FPGA, we may finish the computation without leaving the exploration phase.

  5. In the OpenCL standard, the NDRange represents the 3D space of parallel iterations.

  6. This is achieved by allocating the region with clCreateBuffer(..., CL_MEM_ALLOC_HOST_PTR, size, ...) and then mapping this region to a CPU accessible pointer using clEnqueueMapBuffer().

References

  1. Auerbach J, Bacon DF, Cheng P, Rabbah R (2010) Lime: a java-compatible and synthesizable language for heterogeneous architectures. SIGPLAN Not 45(10):89–108

    Google Scholar 

  2. Bacon D, Rabbah R, Shukla S (2013) FPGA programming for the masses. Queue 11(2):40:40–40:52. https://doi.org/10.1145/2436696.2443836

    Google Scholar 

  3. Bell N, Garland M (2009) Implementing sparse matrix-vector multiplication on throughput-oriented processors. In: Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis, SC’ 09

  4. Belviranli M, Bhuyan L, Gupta R (2013) A dynamic self-scheduling scheme for heterogeneous multiprocessor architectures. ACM Trans Archit Code Optim 9(4):57

    Google Scholar 

  5. Che S, Boyer M, Meng J, Tarjan D, Sheaffer JW, Lee S, Skadron K (2009) Rodinia: a benchmark suite for heterogeneous computing. In: 2009 IEEE International Symposium on Workload Characterization (IISWC), pp 44–54

  6. Corp I (2016) Intel FPGA SDK for OpenCL, best practices guide. https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/opencl-sdk/aocl-best-practices-guide.pdf. Accessed 17 June 2019

  7. Corporation I (2014) Monte carlo pricing of asian options on FPGAs using OpenCL. https://www.altera.com/support/support-resources/design-examples/design-software/opencl/black-scholes.html. Accessed 17 June 2019

  8. Dávila Guzmán MA, Nozal R, Gran Tejero R, Villarroya-Gaudó M, Suárez Gracia D, Bosque JL (2019) Cooperative CPU, GPU, and FPGA heterogeneous execution with Engine CL. J Supercomput 75(3):1732–1746

    Google Scholar 

  9. Gómez-Luna J, El Hajj I, Chang LW, Garcia-Flores V, Garcia de Gonzalo S, Jablin T, Pena AJ, Hwu Wm (2017) Chai: collaborative heterogeneous applications for integrated-architectures. In: 2017 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)

  10. Huang W, Ghosh S, Velusamy S, Sankaranarayanan K, Skadron K, Stan MR (2006) Hotspot: a compact thermal modeling methodology for early-stage VLSI design. IEEE Trans Very Large Scale Integr Syst 14(5): 501–513

    Google Scholar 

  11. Koeplinger D, Prabhakar R, Zhang Y, Delimitrou C, Kozyrakis C, Olukotun K (2016) Automatic generation of efficient accelerators for reconfigurable hardware. In: 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA), pp 115–127

  12. Krommydas K, Sasanka R, c Feng W (2016) Bridging the FPGA programmability-portability gap via automatic OpenCL code generation and tuning. In: 2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP), pp 213–218

  13. Kulkarni M, Burtscher M, Cascaval C, Pingali K (2009) Lonestar: a suite of parallel irregular programs. In: 2009 IEEE International Symposium on Performance Analysis of Systems and Software, pp 65–76

  14. Lederer E (2014) Cross-device NBody simulation sample. https://software.intel.com/en-us/articles/opencl-cross-devices-nbody-simulation-sample. Accessed 17 June 2019

  15. Li Z, Liu L, Deng Y, Yin S, Wang Y, Wei S (2017) Aggressive pipelining of irregular applications on reconfigurable hardware. In: 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA), pp 575–586

  16. McIntosh-Smith S, Price J, Sessions RB, Ibarra AA (2015) High performance in silico virtual drug screening on many-core processors. Int J High Perform Comput Appl 29(2):119–134

    Google Scholar 

  17. Navarro A, Corbera F, Rodriguez A, Vilches A, Asenjo R (2019) Heterogeneous parallel\_for template for CPU-GPU chips. Int J Parallel Programm 47:213–233

    Google Scholar 

  18. Navarro A, Vilches A, Corbera F, Asenjo R (2014) Strategies for maximizing utilization on multi-CPU and multi-GPU heterogeneous architectures. J Supercomput 70(2):756–771

    Google Scholar 

  19. Nunez-Yanez J, Amiri S, Hosseinabady M, Rodríguez A, Asenjo R, Navarro A, Suarez D, Gran R (2018) Simultaneous multiprocessing in a software-defined heterogeneous FPGA. The J Supercomput. https://doi.org/10.1007/s11227-018-2367-9

    Google Scholar 

  20. Oguntebi T, Olukotun K (2016) Graphops: a dataflow library for graph analytics acceleration. In: Proceedings of the 2016 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp 111–117. ACM

  21. Prabhakar R, Koeplinger D, Brown KJ, Lee H, De Sa C, Kozyrakis C, Olukotun K (2016) Generating configurable hardware from parallel patterns. SIGOPS Oper Syst Rev 50(2):651–665. https://doi.org/10.1145/2954680.2872415

    Google Scholar 

  22. Remis L, Garzarán MJ, Asenjo R, Navarro AG (2018) Exploiting social network graph characteristics for efficient BFS on heterogeneous chips. J Parallel Distrib Comput 120:282–294. https://doi.org/10.1016/j.jpdc.2017.11.003

    Google Scholar 

  23. Rudolph D, Polychronopoulos C (1989) An efficient message-passing scheduler based on guided self scheduling. In: Proceedings of the 3rd International Conference on Supercomputing, ICS’89

  24. https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/wp/wp-01173-opencl.pdf. Accessed 17 June 2019

  25. Sun Y, Gong X, Ziabari AK, Yu L, Li X, Mukherjee S, Mccardwell C, Villegas A, Kaeli D (2016) Hetero-mark, a benchmark suite for CPU-GPU collaborative computing. In: Intl. Symp. on Workload Characterization (IISWC), pp 1–10

  26. Umuroglu Y, Morrison D, Jahre M (2015) Hybrid breadth-first search on a single-chip FPGA-CPU heterogeneous platform. Int Conf Field Programm Log Appl. https://doi.org/10.1109/FPL.2015.7293939

  27. Vilches A, Asenjo R, Navarro A, Corbera F, Gran R, Garzaran MJ (2015) Adaptive partitioning for irregular applications on heterogeneous CPU-GPU chips. Procedia Comput Sci 51:140–149

    Google Scholar 

  28. Wang Z, He B, Zhang W, Jiang S (2016) A performance analysis framework for optimizing OpenCL applications on FPGAs. In: 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA), pp 114–125

  29. Windh S, Ma X, Halstead RJ, Budhkar P, Luna Z, Hussaini O, Najjar WA (2015) High-level language tools for reconfigurable computing. Proc IEEE 103(3):390–408. https://doi.org/10.1109/JPROC.2015.2399275

    Google Scholar 

  30. Zhou S, Prasanna VK (2017) Accelerating graph analytics on CPU-FPGA heterogeneous platform. In: 2017 29th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pp 137–144. https://doi.org/10.1109/SBAC-PAD.2017.25

Download references

Acknowledgements

The authors would like to thank Intel-Altera for the opportunity to be part of the HARP program. This work was partially supported by the Spanish Projects TIN 2016-80920-R, TIN2016-76635-C2-1-R, gaZ: T48 research group, UNIZAR JIUZ-2017-TEC-09, UK EPSRC with the ENPOWER (EP/L00321X/1) and the ENEAC (EP/N002539/1) Projects.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rafael Asenjo.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rodríguez, A., Navarro, A., Asenjo, R. et al. Parallel multiprocessing and scheduling on the heterogeneous Xeon+FPGA platform. J Supercomput 76, 4645–4665 (2020). https://doi.org/10.1007/s11227-019-02935-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-019-02935-1

Keywords