Cross-Paradigm Compilation across Programming Models: from Imperative to Asynchronous Graph

Public Deposited
Resource Type
Creator
Abstract
  • Recent years have seen a rapid evolution in multi-core processor architectures. However, programming multi-core processors efficiently is a challenging endeavor. Asynchronous Graph Programming is a novel parallel paradigm that is amenable to automated parallelization for multi-core processors. However, its semantics are both foreign to most programmers, and too low-level to support software development at scale. Thus, this thesis explores the development of a cross-paradigm compiler, that can translate code in an imperative language (C) to AGP, allowing existing code-bases to be re-deployed and automatically parallelized, despite the semantics of their original language being sequential. Towards this, we define semantic transformations from (a sub-set of) C to AGP, and demonstrate the implementation of a compiler that implements those transformations. Our results show that it is possible to transform C into AGP code, and that transformed parallel implementations running on a multi-core system, for a suite of testing benchmarks, outperform sequential code substantially.

Subject
Language
Publisher
Thesis Degree Level
Thesis Degree Name
Thesis Degree Discipline
Identifier
Rights Notes
  • Copyright © 2022 the author(s). Theses may be used for non-commercial research, educational, or related academic purposes only. Such uses include personal study, research, scholarship, and teaching. Theses may only be shared by linking to Carleton University Institutional Repository and no part may be used without proper attribution to the author. No part may be used for commercial purposes directly or indirectly via a for-profit platform; no adaptation or derivative works are permitted without consent from the copyright owner.

Date Created
  • 2022

Relations

In Collection:

Items