skip to main content
10.1145/2248418.2248428acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Mapping a data-flow programming model onto heterogeneous platforms

Published:12 June 2012Publication History

ABSTRACT

In this paper we explore mapping of a high-level macro data-flow programming model called Concurrent Collections (CnC) onto heterogeneous platforms in order to achieve high performance and low energy consumption while preserving the ease of use of data-flow programming. Modern computing platforms are becoming increasingly heterogeneous in order to improve energy efficiency. This trend is clearly seen across a diverse spectrum of platforms, from small-scale embedded SOCs to large-scale super-computers. However, programming these heterogeneous platforms poses a serious challenge for application developers. We have designed a software flow for converting high-level CnC programs to the Habanero-C language. CnC programs have a clear separation between the application description, the implementation of each of the application components and the abstraction of hardware platform, making it an excellent programming model for domain experts. Domain experts can later employ the help of a tuning expert (either a compiler or a person) to tune their applications with minimal effort. We also extend the Habanero-C runtime system to support work-stealing across heterogeneous computing devices and introduce task affinity for these heterogeneous components to allow users to fine tune the runtime scheduling decisions. We demonstrate a working example that maps a pipeline of medical image-processing algorithms onto a prototype heterogeneous platform that includes CPUs, GPUs and FPGAs. For the medical imaging domain, where obtaining fast and accurate results is a critical step in diagnosis and treatment of patients, we show that our model offers up to 17.72X speedup and an estimated usage of 0.52X of the power used by CPUs alone, when using accelerators (GPUs and FPGAs) and CPUs.

References

  1. Convey HC-1ex, http://www.conveycomputer.com/.Google ScholarGoogle Scholar
  2. https://wiki.rice.edu/confluence/display/HABANERO/Habanero-C.Google ScholarGoogle Scholar
  3. K. Agrawal, A. Benoit, and Y. Robert. Mapping linear workflows with computation/communication overlap. In ICPADS '08, pages 195--202, Washington, DC, USA, 2008. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. S. Auerbach, D. F. Bacon, P. Cheng, and R. M. Rabbah. Lime: a Java-compatible and synthesizable language for heterogeneous architectures. In OOPSLA'10, pages 89--108, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. Ayguadé et al. An extension of the StarSs programming model for platforms with multiple GPUs. In Euro-Par '09, pages 851--862, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Bellens, J. M. Perez, R. M. Badia, and J. Labarta. CellSs: a programming model for the Cell BE architecture. In Proceedings of the 2006 ACM/IEEE conference on Supercomputing, SC '06, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. R. D. Blumofe and C. E. Leiserson. Scheduling multithreaded computations by work stealing. J. ACM, 46(5):720--748, Sept. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. D. Blumofe et al. CILK: An efficient multithreaded runtime system. Proceedings of Symposium on Principles and Practice of Parallel Programming (PPoPP'95), pages 207--216, July 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. K. J. Brown, A. K. Sujeeth, H. Lee, T. Rompf, H. Chafi, M. Odersky, and K. Olukotun. A Heterogeneous Parallel Framework for Domain-Specific Languages. In PACT '11: 20th International Conference on Parallel Architectures and Compilation Techniques, October 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Z. Budimlić, M. Burke, V. Cavé, K. Knobe, G. Lowney, R. Newton, J. Palsberg, D. Peixotto, V. Sarkar, F. Schlimbach, and S. Taşirlar. Concurrent collections. Scientific Programming, 18:203--217, August 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Bui, K. Cheng, J. Cong, L. Vese, Y. Wang, B. Yuan, and Y. Zou. Platform Characterization for Domain-Specific Computing. In Proceedings of the 17th Asia and South Pacific Design Automation Conference, ASPDAC '12, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  12. P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcioglu, C. von Praun, and V. Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In OOPSLA '05, pages 519--538, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Cong, V. Sarkar, G. Reinman, and A. Bui. Customizable Domain-Specific Computing. IEEE Design and Test, (2:28):6--15, Mar 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. Commun. ACM, 51(1):107--113, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Y. Guo, J. Zhao, V. Cavé, and V. Sarkar. Slaw: a scalable locality-aware adaptive work-stealing scheduler. In Proceedings of 24th IEEE International Parallel and Distributed Processing Symposium (IPDPS), April 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Guo et al. Work-first and help-first scheduling policies for async-finish task parallelism. In IPDPS'09, pages 1--12, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. He, W. Fang, Q. Luo, N. K. Govindaraju, and T. Wang. Mars: a MapReduce framework on graphics processors. In Proceedings of the 17th international conference on Parallel architectures and compilation techniques, PACT '08, pages 260--269, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Intel Corporation. Intel ® concurrent collections for C/C++. http://softwarecommunity.intel.com/articles/eng/3862.htm.Google ScholarGoogle Scholar
  19. Khronos OpenCL Working Group. The OpenCL Specification - Version 1.0. Technical report, The Khronos Group, 2009.Google ScholarGoogle Scholar
  20. K. Knobe and M. G. Burke. The Tuning Language for Concurrent Collections. In 16th Workshop on Compilers for Parallel Computing, 2012.Google ScholarGoogle Scholar
  21. J. Nickolls, I. Buck, M. Garland, and K. Skadron. Scalable Parallel Programming with CUDA. ACM Queue, 6(2):40--53, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Payne, V. Cavé, R. Raman, M. Ricken, R. Cartwright, and V. Sarkar. DrHJ --- a lightweight pedagogic IDE for Habanero Java. In PPPJ'11: Proceedings of the 9th International Conference on the Principles and Practice of Programming in Java, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. V. Sarkar, W Harrod, and A. E. Snavely. Software Challenges in Extreme Scale Systems. SciDAC, January 2010. Special Issue on Advanced Computing: The Roadmap to Exascale.Google ScholarGoogle Scholar
  24. J. Shirako et al. Phasers: a unified deadlock-free construct for collective and point-to-point synchronization. In ICS '08, pages 277--288, New York, NY, USA, 2008. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Y Yan, J. Zhao, Y Guo, and V. Sarkar. Hierarchical place trees: A portable abstraction for task parallelism and data movement. In Proceedings of the 22nd Workshop on Languages and Compilers for Parallel Computing (LCPC), October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Yeung, C. Tsang, K. Tsoi, B. Kwan, C. Cheung, A. Chan, and P. Leong. Map-Reduce as a programming model for custom computing machines. In Proceedings of the 16th International Symposium on Field-Programmable Custom Computing Machines, FCCM '08, pages 149--159, Apr. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Mapping a data-flow programming model onto heterogeneous platforms

      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
        LCTES '12: Proceedings of the 13th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, Tools and Theory for Embedded Systems
        June 2012
        153 pages
        ISBN:9781450312127
        DOI:10.1145/2248418
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 47, Issue 5
          LCTES '12
          MAY 2012
          152 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2345141
          Issue’s Table of Contents

        Copyright © 2012 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: 12 June 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate116of438submissions,26%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader