Center for Petascale Computing  
A collaboration led by Laxmikant Kalé (Computer Science) and Duane Johnson (Materials Science and Engineering) on a research theme within IACAT

Deterministic Sharing of Pointer-based Structures

We plan to design, implement, and evaluate language features for expressing deterministic parallelism in an imperative, object-oriented language for high performance that supports mutable object references and aliasing. Our language features will incorporate an effects system with explicit region annotations on object reference types and effects annotations on methods. We will build on similar systems that have been extensively studied in related contexts such as software engineering, scalar program optimization, region-based memory management, and enforcing safety properties in low-level program code.

Some sharing patterns cannot be expressed using the type system, either because allowing them would make the type system much more complex or because they are inherently complex patterns. In those cases, we will fall back on run-time speculation (i.e., using run-time conflict detection) and recovery. We can borrow directly from previous work, e.g., "safe futures" for Java, but integrating this with our type system is an interesting and open research problem.
 

Investigator:

Deterministic Sharing of Pointer-based Structures Information