Comparing Java, C# and Ada monitors queuing policies: a case study and its Ada refinement
ACM SIGAda Ada Letters
Concurrent and Real-Time Programming in Ada
Concurrent and Real-Time Programming in Ada
Reducers and other Cilk++ hyperobjects
Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
Consolidated ada reference manual: language and standard libraries
Consolidated ada reference manual: language and standard libraries
A parallel programming model for ada
SIGAda '11 Proceedings of the 2011 ACM annual international conference on Special interest group on the ada programming language
Stack safe parallel recursion with paraffin
SIGAda '11 Proceedings of the 2011 ACM annual international conference on Special interest group on the ada programming language
Real-time programming on accelerator many-core processors
Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technology
Parallelism in Ada: general model and ravenscar
ACM SIGAda Ada Letters
Hi-index | 0.00 |
The Ada programming language is seemingly well-positioned to take advantage of emerging multi-core technologies. While it has always been possible to write parallel algorithms in Ada, there are certain classes of problems however, where the level of effort to write parallel algorithms outweighs the ease and simplicity of a sequential approach. This can result in lost opportunities for parallelism and slower running software programs. Languages such as Cilk++ and OpenMB provide expressive mechanisms to add parallelism to code using a C++ based syntax by adding special syntactic directives where parallelism is desired. This paper explores Ada's concurrency features to see whether it is possible to easily inject similar iterative and recursive parallelism to code written in Ada, without having to resort to special language extensions or non-standard language features. This paper identifies a "work-seeking" technique, which can be viewed as a form of compromise between work-sharing and work-stealing, two other existing strategies. The paper presents performance results to illustrate the benefits of use for the generics and goes on to suggest how parallelism pragmas could possibly be added to the Ada language to further facilitate writing parallel applications.