Nick Vrvilo

Learn 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)
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)
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)
Optimized placement of data and computation for locality is critical for improving performance and reducing energy consumption on modern computing systems. However, for most programming models, modifying data and computation placements typically requires rewriting large portions of the application, thereby posing a huge performance portability challenge in(More)
The Open Community Runtime (OCR) is a new runtime system designed to meet the needs of extreme-scale computing. While there is growing support for the idea that future execution models will be based on dynamic tasks, there is little agreement on what else should be included. OCR minimally adds events for synchronization and relocatable data-blocks for data(More)
Habanero is a task parallel programming model that provides correctness guarantees to the programmer. Even so, programs may contain data races that lead to non-determinism, which complicates debugging and verification. This paper presents a sound algorithm based on permission regions to prove data race and deadlock freedom in Habanero programs. Permission(More)
  • 1