Overview of Ada 2022
Jeff Cousins
Contents   Index   Search   Previous   Next 

Chapter 2: Parallelism

Although parallelism may be the first improvement on the list, the parallelism features may be the hardest of the new features to add, so unfortunately they may be the last ones to be implemented.
OpenMP is a promising platform to use for the parallelism features though. It already provides facilities for C, C++ and Fortran. A logical thread of control could be mapped on to an OpenMP lightweight thread. OpenMP has made similar design decisions to Ada 2022. For example, if either an exception is propagated out of a logical thread of control, or there is an explicit transfer of control out of a logical thread of control, then an attempt is made to cancel all logical threads of control within the construct.
Some of the new Ada features are clearly inspired by existing SPARK 2014 features, especially Global-in and global-out annotations (AI12-0079-3), but generalising these to cover the whole of the Ada language, not just the SPARK subset, has been far from trivial.

Contents   Index   Search   Previous   Next 
© 2021, 2022 Jeff Cousins