skip to main content
research-article

Parallelism in Ada: general model and ravenscar

Published:08 November 2013Publication History
Skip Abstract Section

Abstract

Parallel programming is expected to become more the norm as multi-core and many-core processors gain more widespread use. Ada has always had excellent concurrency support, but could be improved in the area of parallel programming. Specifically, divide and conquer parallelism via parallel loops and subprograms are difficult to write without some sort of library support. In this paper we describe a proposal that combines the use of task pools and parallelism managers to provide parallelism capabilities to real-time Ada applications, including Ravenscar applications. This work complements the syntax enhancements that we previously proposed, so that together they facilitate the writing of parallel applications.

References

  1. M. Frigo, P. Halpern, C. Leiserson, S. Lewin-Berlin. Reducers and Other Cilk++ Hyperobjects, ACM SPAA '09 (2009) Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Intel Threading Building Blocks, http://software.intel.com/en-us/intel-tbbGoogle ScholarGoogle Scholar
  3. M. Hind, E. Schonberg. Efficient Loop-Level Parallelism in Ada., Proceedings of the ACM SigAda Tri-Ada '91 Conference San Jose, CA, October 1991 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Moore. Parallelism Generics for Ada 2005 and Beyond, SIGAda'10 Proceedings of the ACM SIGAda annual conference, October 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Ali, M. Pinho, A Parallel Programming Model for Ada, SIGAda'11 Proceedings of the ACM SIGAda '11, Nov 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. ISO/IEC, Ada Reference Manual, ISO/IEC 8652:2012(E), 2012Google ScholarGoogle Scholar
  7. S. Michell, B. Moore, L. M. Pinho, Tasklettes - a Fine Grained Parallelism for Ada on Multicores, 18th International Conference on Reliable Software Technoloties - Ada Europe 2013, Berlin Germany, June 2013.Google ScholarGoogle Scholar
  8. B. Moore, Paraffin source libraries. http://sourceforge.net/projects/paraffin/?source=directoryGoogle ScholarGoogle Scholar
  9. S. Sivasubramanian, J. Stultz, J. F. Vogel, P. McKenney. Fairlocks - A High Performance Fair Locking Scheme. In: International Conference on Parallel and Distributed Systems, pp. 241--246 (2002)Google ScholarGoogle Scholar
  10. F. Chouteau, J. F. Ruiz. Design and Implementation of a Ravenscar Extension for Multiprocessors. In: Reliable Software Technologies - Ada-Europe 2011, pp 31--45 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. ARG: Pragma CPU and Ravenscar Profile. Tech. Rep., ISO/IEC/JTC1/SC22/WG9 (2010), http://www.adaauth.org/cgi-bin/cvsweb.cgi/ai05s/ai05-0171-1.txtGoogle ScholarGoogle Scholar
  12. ARG: Sets of CPUs when defining dispatching domains. http:// www.ada-auth.org/cgi- bin/cvsweb.cgi/ai12s/ai12-0033-1.txtrev=1.Google ScholarGoogle Scholar
  13. S. Michell, B. Moore, L. M. Pinho, Hard Real-Time Programming on Multi-core Processors. Under SubmissionGoogle ScholarGoogle Scholar

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

Full Access

  • Published in

    cover image ACM SIGAda Ada Letters
    ACM SIGAda Ada Letters  Volume 33, Issue 2
    August 2013
    132 pages
    ISSN:1094-3641
    DOI:10.1145/2552999
    Issue’s Table of Contents

    Copyright © 2013 Authors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 8 November 2013

    Check for updates

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!