Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2442992.2443001acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

libEOMP: a portable OpenMP runtime library based on MCA APIs for embedded systems

Published: 23 February 2013 Publication History

Abstract

In recent years rapid revolution of Multiprocessor System-on-Chip (MPSoC) poses new challenges for programming such architectures in an efficient manner. In order to explore potential hardware concurrency, software developers are still expected to handle many of the low-level details of programming including utilizing DMA, ensuring cache co-herency, and inserting synchronization primitives explicitly. Software portability is yet another issue: the state-of-the-art is that hardware vendors supply vendor-specific software development toolchains which makes it harder for applications to be ported to many different possible architectures without re-structuring the code, while at the same time ensuring efficiency.
In this paper, we extend the usage of a high-level programming model, OpenMP, to multicore embedded systems. To address the architectural challenges, we propose a lightweight unified OpenMP runtime library, libEOMP, by leveraging the MCA (Multicore Association) APIs as the target of our OpenMP translation. MCA APIs support device-level communication and resource management for multicore embedded systems. We have implemented and evaluated libEOMP on an embedded platform supplied by Freescale Semiconductor. We observed that libEOMP not only performed as well as optimized vendor-specific OpenMP runtime libraries but also achieved better portability, programmability and productivity.

References

[1]
Data Communication and Synchronization Library for Cell Broadband Engine Programmer's Guide and API reference, Version 3.0.
[2]
Freescale Semiconductor Inc. http://www.freescale.com/.
[3]
Multicore Association. http://www.multicore-association.org.
[4]
Multicore Resource API (MRAPI) Specification V1.0. http://www.multicore-association.org.
[5]
Polycore MCAPI Offers ThreadX RTOS Support.
[6]
The Objective-C programming languages. http://developer.apple.com.
[7]
The OpenCL Specification, Version 1.0. http://www.khronos.org.
[8]
The OpenMP API Specification for Parallel Programming. http://openmp.org/wp/.
[9]
TMDXEVM6678L EVM Technical Reference Manual Version 1.0, Literature Number: SPRUH58.
[10]
J. Bull. Measuring Synchronisation and Scheduling Overheads in OpenMP. In Proceedings of the First European Workshop on OpenMP, pages 99--105, 1999.
[11]
Q. Cao, C. Hu, H. He, X. Huang, and S. Li. Support for OpenMP Tasks on Cell Architecture. In Proc. of the 10th international conference on Algorithms and Architectures for Parallel Processing - Volume Part II, ICA3PP'10, pages 308--317. Springer-Verlag, 2010.
[12]
B. Chapman, L. Huang, E. Biscondi, E. Stotzer, A. Shrivastava, and A. Gatherer. Implementing OpenMP on a High Performance Embedded Multicore MPSoC. In Parallel & Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on, pages 1--8, 2009.
[13]
P. Cooper, U. Dolinsky, A. F. Donaldson, A. Richards, C. Riley, and G. Russell. Offload: Automating Code Migration to Heterogeneous Multicore Systems. In Proc. of the 5th international conference on High Performance Embedded Architectures and Compilers, HiPEAC'10, pages 337--352. Springer-Verlag, 2010.
[14]
M. R. Guthaus, J. S. Ringenberg, D. Ernst, T. M. Austin, T. Mudge, and R. B. Brown. MiBench: A Free, Commercially Representative Embedded Benchmark Suite. In Proc. of WWC-4, 2001., pages 3--14. IEEE Computer Society, 2001.
[15]
T. Hanawa, M. Sato, J. Lee, T. Imada, H. Kimura, and T. Boku. Evaluation of Multicore Processors for Embedded Systems by Parallel Benchmark Program Using OpenMP. Evolving OpenMP in an Age of Extreme Parallelism, pages 15--27, 2009.
[16]
J. He, W. Chen, G. Chen, W. Zheng, Z. Tang, and H. Ye. OpenMDSP: Extending OpenMP to Program Multi-Core DSP. In Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on, pages 288--297. IEEE, 2011.
[17]
F. D. Igual, M. Ali, A. Friedmann, E. Stotzer, T. Wentz, and R. A. van de Geijn. Unleashing the High-Performance and Low-Power of Multi-core DSPs for General-Purpose HPC. In Proceedings of SC '12, SC '12, pages 26:1--26:11, Los Alamitos, CA, USA, 2012. IEEE Computer Society Press.
[18]
J. LaGrone, A. Aribuki, C. Addison, and B. M. Chapman. A Runtime Implementation of OpenMP Tasks. In IWOMP, pages 165--178, 2011.
[19]
S. Lee and R. Eigenmann. OpenMPC: Extended OpenMP Programming and Tuning for GPUs. In Proc. of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, SC '10, pages 1--11. IEEE Computer Society, 2010.
[20]
C. Liao, O. Hernandez, B. M. Chapman, W. Chen, and W. Zheng. OpenUH: an Optimizing, Portable OpenMP Compiler. Concurrency and Computation: Practice and Experience, 19(18):2317--2332, 2007.
[21]
R. Nanjegowda, O. Hernandez, B. Chapman, and H. H. Jin. Scalability Evaluation of Barrier Algorithms for OpenMP. In Proc. of the 5th International Workshop on OpenMP: Evolving OpenMP in an Age of Extreme Parallelism, IWOMP '09, pages 42--52. Springer-Verlag, 2009.
[22]
K. O'Brien, K. O'Brien, Z. Sura, T. Chen, and T. Zhang. Supporting OpenMP on Cell. Int. J. Parallel Program., 36(3):289--311, June 2008.
[23]
D. Pellerin and S. Thibault. Practical FPGA Programming in C. Prentice Hall Press, 2005.
[24]
A. Reid, K. Flautner, E. Grimley-Evans, and Y. Lin. SoC-C: Efficient Programming Abstractions for Heterogeneous Multicore Systems on Chip. In Proc. of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, pages 95--104. ACM, 2008.
[25]
M. Sato, M. S. Shigehisa, K. Kusano, and Y. Tanaka. Design of OpenMP Compiler for an SMP Cluster. In In EWOMP '99, pages 32--39, 1999.

Cited By

View all

Index Terms

  1. libEOMP: a portable OpenMP runtime library based on MCA APIs for embedded systems

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PMAM '13: Proceedings of the 2013 International Workshop on Programming Models and Applications for Multicores and Manycores
    February 2013
    134 pages
    ISBN:9781450319089
    DOI:10.1145/2442992
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 23 February 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. MCA
    2. OpenMP
    3. embedded system
    4. runtime

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    PPoPP '13
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 53 of 97 submissions, 55%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 27 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Numerical investigation of distinct flow modes in a wide-gap spherical annulus using OpenMPWaves in Random and Complex Media10.1080/17455030.2023.2179855(1-18)Online publication date: 16-Feb-2023
    • (2023)Characterizations of Parallel Real-Time WorkloadsTheories of Programming and Formal Methods10.1007/978-3-031-40436-8_9(235-256)Online publication date: 8-Sep-2023
    • (2022)ompTGJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2022.102470126:COnline publication date: 1-May-2022
    • (2020)Real-Time Scheduling and Analysis of OpenMP DAG Tasks Supporting Nested ParallelismIEEE Transactions on Computers10.1109/TC.2020.297238569:9(1335-1348)Online publication date: 1-Sep-2020
    • (2018)Unleashing Fine-Grained Parallelism on Embedded Many-Core Accelerators with Lightweight OpenMP TaskingIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2018.281460229:9(2150-2163)Online publication date: 1-Sep-2018
    • (2017)Exploring Task Parallelism for Heterogeneous Systems Using Multicore Task Management APIEuro-Par 2016: Parallel Processing Workshops10.1007/978-3-319-58943-5_56(697-708)Online publication date: 28-May-2017
    • (2016)An optimized task-based runtime system for resource-constrained parallel acceleratorsProceedings of the 2016 Conference on Design, Automation & Test in Europe10.5555/2971808.2972103(1261-1266)Online publication date: 14-Mar-2016
    • (2016)A lightweight OpenMP4 run-time for embedded systems2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC)10.1109/ASPDAC.2016.7427987(43-49)Online publication date: Jan-2016
    • (2015)Timing characterization of OpenMP4 tasking modelProceedings of the 2015 International Conference on Compilers, Architecture and Synthesis for Embedded Systems10.5555/2830689.2830709(157-166)Online publication date: 4-Oct-2015
    • (2015)OpenMP and timing predictabilityProceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition10.5555/2755753.2755893(617-620)Online publication date: 9-Mar-2015
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media