The University of Western Ontario
On the Interoperability of Programming Languages based on the Fork-Join Parallelism Model
Abstract
dc:description.abstractThis thesis describes the implementation of MetaFork, a meta-language for concurrency platforms targeting multicore architectures. First of all, MetaFork is a multithreaded language based on the fork-join model of concurrency: it allows the programmer to express parallel algorithms assuming that tasks are dynamically scheduled at run-time. While MetaFork makes no assumption about the run-time system, it formally defines the serial C-elision of a MetaFork program. In addition, MetaFork is a suite of source-to-source compilers permitting the automatic translation of multithreaded programs between programming languages based on the fork-join model. Currently, this compilation framework supports the OpenMP and CilkPlus concurrency platforms. The implementation of those compilers explicitly manages parallelism according to the directives specified in MetaFork, OpenMP and CilkPlus. We evaluate experimentally the benefits of MetaFork. First, we show that this framework can be used to perform comparative implementation of a given multi- threaded algorithm so as to narrow performance bottlenecks in one implementation of this algorithm. Secondly, we show that the translation of hand written and highly optimized code within MetaFork generally produces code with similar performance as the original.
Degree
thesis:*- Name thesis:degree_name
- M Sc
- Discipline thesis:degree_discipline
- Computer Science
- Grantor dc:publisher
- The University of Western Ontario
- Year dc:date.issued
- 2013
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Shekar, Sushek
- Advisor dc:contributor.advisor
-
- Dr.Marc Moreno Maza
Rights
- Language dc:language.iso
- en_ca
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- https://hdl.handle.net/20.500.14721/36875
- OAI identifier oai:identifier
- oai:uwo.scholaris.ca:20.500.14721/36875