Back to results

University of Illinois at Urbana-Champaign

Practical analyses and transformations for flow-based parallelism

Abstract

dc:description

Emerging applications demand new parallel abstractions. Traditional parallel abstractions such as data parallelism and task parallelism, while necessary, do not fully address the needs of today's multi-threaded commercial applications. Emerging applications in the domains of recognition, mining and synthesis (RMS); image and video processing; data warehousing; and automatic financial trading exhibit flow-based forms of parallelism. How can we help developers parallelize their sequential applications to leverage flow-based parallelism? To take advantage of any form of parallelism, developers face two key challenges: analysis and transformation of their code. Both are typically done manually. Unfortunately, manual analysis is error-prone: given a sufficiently large and unfamiliar code base, it is hard for developers to identify code portions that inhibit parallelism, e.g., data races. Additionally, manual transformation is tedious: after analyzing the code to parallelize, developers still have to write repetitive, boilerplate code to initiate and stop the parallel code, e.g., starting and joining threads. This dissertation demonstrates that it is possible to reduce the manual burden of such analyses and transformation through automation. The crux of our solution is an interactive approach based on source-to-source analyses and transformations that target the constructs available in modern flow-based parallel libraries. Evaluation on a representative set of emerging flow-based applications demonstrates that these analyses and transformations are useful and practical. Our approach can successfully parallelize applications from the aforementioned domains with good performance, while remaining fast enough to be used interactively as part of a developer's workflow. Moreover, by engaging the developer, we are able to parallelize more applications than would have been possible through static analysis alone.

Degree

thesis:*
Name thesis:degree_name
Ph.D.
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science
Grantor
University of Illinois at Urbana-Champaign
Year dc:date
2013

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Chen, Nicholas Chun Y.
Contributors dc:contributor
  • Johnson, Ralph E.
  • Agha, Gul A.
  • Marinov, Darko
  • Voss, Michael J.

Subjects

dc:subject × 5

Rights

dc:rights
Statement dc:rights
  • Copyright 2013 Nicholas Chun Y Chen
Language dc:language
en

Identifiers

dc:identifier.*
Handle dc:identifier
http://hdl.handle.net/2142/45453
OAI identifier oai:identifier
oai:www.ideals.illinois.edu:2142/45453

Chain of custody

source
Harvested from
University of Illinois - Urbana-Champaign
Base URL
www.ideals.illinois.edu/oai-pmh
Last updated
2026-07-22
Source record
OAI-PMH GetRecord
citation

Chen, Nicholas Chun Y.. Practical analyses and transformations for flow-based parallelism. Dissertation thesis, University of Illinois at Urbana-Champaign, 2013. http://hdl.handle.net/2142/45453