Date of Award


Degree Type


Degree Name

Doctor of Philosophy in Computer Science


Computer Science and Statistics

First Advisor

Lutz Hamel


Let D be a DAG and let X be any non-empty subset of D's vertices. X is a convex set of D if D contains a path that originates in X, and then leaves X, and then re-enters X. This work presents basic convexity algorithms for creating, growing, and shrinking convex sets using two different approaches: predecessor and successor sets, and topological orderings. It shows that the algorithms based on predecessor and successor sets typically have higher asymptotic running times than those based on topological ordering. However, when creating a convex set based upon a potentially non-convex set of "seed" vertices, the use of predecessor and successor sets permits the creation of a convex set which is the uniquely smallest superset of the seeds.

This work also considers the problem of stochastically searching for a global minimum over all convex sets of a given DAG, using the basic convexity algorithms described above. This work demonstrates the existence of such an algorithm that, when run for a finite but bounded number of iterations, the probability of it covering the entire search space approaches one.

This work presents one possible mapping which extends this work's optimization of a single parallel task to the optimization of task-parallel programs with mutiple tasks. This mapping is studied experimentally. The results demonstrate a minor (5%) speed improvement over a human-crafted parallelization of the same program, suggesting the possible merit in this work's approach to automated parallel-program optimization.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.