Advertisement

Evaluation of FPGA Partitioning Schemes for Time and Space Sharing of Heterogeneous Tasks

  • Umar Ibrahim MinhasEmail author
  • Roger Woods
  • Georgios Karakonstantis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11444)

Abstract

Whilst FPGAs have been integrated in cloud ecosystems, strict constraints for mapping hardware to spatially diverse distribution of heterogeneous resources at run-time, makes their utilization for shared multi tasking challenging. This work aims at analyzing the effects of such constraints on the achievable compute density, i.e the efficiency in utilization of available compute resources. A hypothesis is proposed and uses static off-line partitioning and mapping of heterogeneous tasks to improve space sharing on FPGA. The hypothetical approach allows the FPGA resource to be treated as a service from higher level and supports multi-task processing, without the need for low level infrastructure support. To evaluate the effects of existing constraints on our hypothesis, we implement a relatively comprehensive suite of ten real high performance computing tasks and produce multiple bitstreams per task for fair evaluation of the various schemes. We then evaluate and compare our proposed partitioning scheme to previous work in terms of achieved system throughput. The simulated results for large queues of mixed intensity (compute and memory) tasks show that the proposed approach can provide higher than \(3{\times }\) system speedup. The execution on the Nallatech 385 FPGA card for selected cases suggest that our approach can provide on average \(2.9{\times }\) and \(2.3{\times }\) higher system throughput for compute and mixed intensity tasks while \(0.2{\times }\) lower for memory intensive tasks.

Keywords

Cloud environments Data centers Space sharing 

Notes

Acknowledgment

The work was supported by the European Commission under European Horizon 2020 Programme, grant number 6876281 (VINEYARD).

References

  1. 1.
    Abdul-Rahman, O.A., Aida, K.: Towards understanding the usage behavior of Google cloud users: the mice and elephants phenomenon. In: International Conference on Cloud Computing Technology and Science. IEEE (2014)Google Scholar
  2. 2.
    Asanovic, K., et al.: The landscape of parallel computing research: a view from Berkeley. Technical report, Technical Report UCB/EECS-2006-183. EECS Department, University of Berkeley (2006)Google Scholar
  3. 3.
    Charitopoulos, G., Koidis, I., Papadimitriou, K., Pnevmatikatos, D.: Run-time management of systems with partially reconfigurable FPGAs. Integr. VLSI J. 57, 34–44 (2017)CrossRefGoogle Scholar
  4. 4.
    Che, S., et al.: Rodinia: a benchmark suite for heterogeneous computing. In: International Symposium on Workload Characterization. IEEE (2009)Google Scholar
  5. 5.
    Chen, F., et al.: Enabling FPGAs in the cloud. In: Conference on Computing Frontiers. ACM (2014)Google Scholar
  6. 6.
    Enemali, G., Adetomi, A., Seetharaman, G., Arslan, T.: A functionality-based runtime relocation system for circuits on heterogeneous FPGAs. IEEE Trans. Circ. Syst. II: Express Briefs 65(5), 612–616 (2018)Google Scholar
  7. 7.
    Eyerman, S., Eeckhout, L.: System-level performance metrics for multiprogram workloads. IEEE Micro 28(3), 42–53 (2008)CrossRefGoogle Scholar
  8. 8.
    Gautier, Q., et al.: An OpenCL FPGA benchmark suite. In: 2016 International Conference on Field-Programmable Technology. IEEE (2016)Google Scholar
  9. 9.
    Huang, M., et al.: Programming and runtime support to blaze FPGA accelerator deployment at datacenter scale. In: Symposium on Cloud Computing. ACM (2016)Google Scholar
  10. 10.
    Intel: Developer zone. Intel FPGA SDK for OpenCL (2018). https://www.intel.com
  11. 11.
    Minhas, U., et al.: NanoStreams: a microserver architecture for real-time analytics on fast data streams. IEEE Trans. Multi-Scale Comput. Syst. (2017)Google Scholar
  12. 12.
    Minhas, U.I., Woods, R., Karakonstantis, G.: Exploring functional acceleration of OpenCL on FPGAs and GPUs through platform-independent optimizations. In: Voros, N., Huebner, M., Keramidas, G., Goehringer, D., Antonopoulos, C., Diniz, P.C. (eds.) ARC 2018. LNCS, vol. 10824, pp. 551–563. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-78890-6_44CrossRefGoogle Scholar
  13. 13.
    Page, L., et al.: The PageRank citation ranking: bringing order to the web (1998)Google Scholar
  14. 14.
    Pham, K.D., Horta, E., Koch, D.: BITMAN: a tool and API for FPGA bitstream manipulations. In: Design, Automation & Test in Europe Conference & Exhibition, pp. 894–897. IEEE (2017)Google Scholar
  15. 15.
    Sengupta, D., et al.: Scheduling multi-tenant cloud workloads on accelerator-based systems. In: Supercomputing Conference. IEEE (2014)Google Scholar
  16. 16.
    Vaishnav, A., Pham, K.D., Koch, D.: A survey on FPGA virtualization. In: International Conference on Field Programmable Logic and Applications (2018)Google Scholar
  17. 17.
    Vaishnav, A., Pham, K.D., Koch, D., Garside, J.: Resource elastic virtualization for FPGAs using OpenCL. In: International Conference on Field Programmable Logic and Applications (2018)Google Scholar
  18. 18.
    Vipin, K., Fahmy, S.A.: Architecture-aware reconfiguration-centric floorplanning for partial reconfiguration. In: Choy, O.C.S., Cheung, R.C.C., Athanas, P., Sano, K. (eds.) ARC 2012. LNCS, vol. 7199, pp. 13–25. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-28365-9_2CrossRefGoogle Scholar
  19. 19.
    Zhou, Y., Wilkinson, D., Schreiber, R., Pan, R.: Large-scale parallel collaborative filtering for the netflix prize. In: Fleischer, R., Xu, J. (eds.) AAIM 2008. LNCS, vol. 5034, pp. 337–348. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-68880-8_32CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Queen’s University BelfastBelfastUK

Personalised recommendations