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.
- Convey HC-1ex, http://www.conveycomputer.com/.Google Scholar
- https://wiki.rice.edu/confluence/display/HABANERO/Habanero-C.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- R. D. Blumofe and C. E. Leiserson. Scheduling multithreaded computations by work stealing. J. ACM, 46(5):720--748, Sept. 1999. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- J. Cong, V. Sarkar, G. Reinman, and A. Bui. Customizable Domain-Specific Computing. IEEE Design and Test, (2:28):6--15, Mar 2011. Google ScholarDigital Library
- J. Dean and S. Ghemawat. MapReduce: simplified data processing on large clusters. Commun. ACM, 51(1):107--113, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- Y. Guo et al. Work-first and help-first scheduling policies for async-finish task parallelism. In IPDPS'09, pages 1--12, 2009. Google ScholarDigital Library
- 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 ScholarDigital Library
- Intel Corporation. Intel ® concurrent collections for C/C++. http://softwarecommunity.intel.com/articles/eng/3862.htm.Google Scholar
- Khronos OpenCL Working Group. The OpenCL Specification - Version 1.0. Technical report, The Khronos Group, 2009.Google Scholar
- K. Knobe and M. G. Burke. The Tuning Language for Concurrent Collections. In 16th Workshop on Compilers for Parallel Computing, 2012.Google Scholar
- J. Nickolls, I. Buck, M. Garland, and K. Skadron. Scalable Parallel Programming with CUDA. ACM Queue, 6(2):40--53, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- Mapping a data-flow programming model onto heterogeneous platforms
Recommendations
Mapping a data-flow programming model onto heterogeneous platforms
LCTES '12In 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-...
Mapping of option pricing algorithms onto heterogeneous many-core architectures
The rapid development of technologies and applications in recent years poses high demands and challenges for high-performance computing. Because of their competitive performance/price ratio, heterogeneous many-core architectures are widely used in high-...
GPU Acceleration for Simulating Massively Parallel Many-Core Platforms
Emerging massively parallel architectures such as a general-purpose processor plus many-core programmable accelerators are creating an increasing demand for novel methods to perform their architectural simulation. Most state-of-the-art simulation ...
Comments