Coordination and synchronization of parallel tasks is a major source of complexity in parallel programming. These constructs take many forms in practice including directed barrier and point-to-point synchronizations, termination detection of child tasks, and mutual exclusion in accesses to shared resources. A read-write lock is a synchronization primitive… (More)
This paper presents a formal modeling paradigm that is callable from C, the dominant language for embedded systems programming , for message passing APIs that provides reasonable assurance that the model correctly captures intended behavior. The model is a suitable reference solution for the API, and it supports putative what-if queries over API scenarios… (More)
Asynchronous Checkpoint/Restart for the Concurrent Collections Model by Nick Vrvilo It has been claimed that what simplifies parallelism can also simplify resilience. In this thesis we describe an asynchronous checkpoint/restart framework for the Concurrent Collections programming model (CnC)—a dataflow-based programming model— and demonstrate that CnC is… (More)
The Habanero Java Library (HJ-lib) is a Java 8 library implementation of the Habanero Java (HJ) programming model. Calls into this pure Java library provide support for all HJ primitives, including async, finish, and phasers. In previous work, we presented VR, a custom verification run-time designed to be used within Java Pathfinder (JPF) to verify a subset… (More)
I incorporated the modeling of fractures into simulators for fluid flow through porous media, and evaluated the impact of fractures on reservoir productivity. I implemented a discontinuous Galerkin solver as a forward propagation engine for reverse time migration. Large scale simulation studies using BP HPC compute clusters.
—Habanero is a task parallel language that provides correctness guarantees. Even so, programs can be non-deterministic due to deadlock or data-race. This paper presents a verification specific library for Habanero intended to assist in discovering deadlock and data-race. The library has been extensively tested with Java Pathfinder (JPF) to ensure its… (More)