Overview

Motivation

Parallel programming relies on threads which were introduced in the operating systems world to deal with long blocking calls involving I/O. While they are today the primary workhorses of parallel programming, playing a central role in the execution of concurrent computations, their semantics have not evolved. In particular, threads are unaware of their role in a computation and are unaware of the roles of other concurrent threads. Communication between threads is limited to the sharing of values and basic synchronization.

In this research, we focus on proposing a collaborative model where threads share higher-order computational state information. In other words, threads are made aware of their role in the computation and of the role of other threads and can collaborate to better solve the problem.

Status

This research is in its infancy. A partial framework has been constructed and we have generated some encouraging results.

Kaushik Ravichandran, is the lead on this project.

Papers

A vision paper on this idea was published at HotPar 2010. See the paper and the presentation in Keynote format or PDF format.