Master Thesis Defense: Francois Gingras
Speaker: Francois Gingras
Supervisor: Dr. T. Eavis
Examining Committee: Drs. T. Glatard, D. Goswami, R. Jayakumar (Chair)
Title: A Task-based Message Passing Framework
Date: Friday, June 15, 2018
Place: EV 1.162
Over the past decade, it has become clear that parallel and distributed programming will occupy an increasingly larger proportion of a developer’s work. While numerous programming languages and libraries have been built to facilitate working with concurrency, developer work is still difficult and error-prone.
In this thesis, we propose a task-based message passing framework. The proposed framework combines the actor model with message passing functionality to offer a useful and efficient way to implement parallel and distributed algorithms. The framework is intended to be part of a novel C compiler that will offer built-in task and message features. Perhaps most importantly, the new framework aims to be intuitive and efficient.
We have used the framework to implement a parallel sample-sort and a client-server application. Our results demonstrate both strong performance for a parallel sorting algorithm and scalability that extends to thousands of concurrent messages. In addition, we have developed a client server app that emphasizes the intuitive nature of the development cycle for the new model. We conclude that the proposed message passing framework would be well suited to concurrent development environments and offers a simple and efficient way to build applications for the new wave of multi-core hardware platforms.