Acknowledgments 1 Many have contributed to the ideas and concepts behind these specifications. are the authors of the initial UPC language concepts and specifications. Tarek El-Ghazawi, William Carlson, and Jesse Draper are the authors of the first formal version of the specifications. Because of the numerous contributions to the specifications, no explicit… (More)
Failure resilience is an essential requirement for database systems, yet there has been little eeort to specify and verify techniques for failure recovery formally. The desire to improve performance has resulted in algorithms of considerable sophistication , yet understood by few and prone to errors. In this paper, we illustrate how the methodology of… (More)
The memory consistency model underlying the Unified Parallel C (UPC) language remains a promising but underused feature. We report on our efforts to understand the UPC memory model and assess its potential benefits. We describe problems we have uncovered in the current language specification. These results have inspired an effort in the UPC community to… (More)
We present a mathematically precise, platform-independent model of Java concurrency using the Abstract State Machine method. We cover all aspects of Java threads and synchronization, gradually adding details to the model in a series of steps. We m o t i v ate and explain each concurrency feature, and point out subtleties, inconsistencies and ambiguities in… (More)
We use the Abstract State Machine methodology to give formal operational semantics for the Location Consistency memory model and cache protocol. With these formal models, we prove that the cache protocol satisfies the memory model, but in a way that is strictly stronger than necessary, disallowing certain behavior allowed by the memory model.
The abstract state machine (ASM) is a modern computation model. ASMs and ASM based tools are used in academia and industry, albeit on a modest scale. They allow you to give high-level operational semantics to computer artifacts and to write executable specifications of software and hardware at the desired abstraction level. In connection with the 2006… (More)
In a multithreaded program running on a multiprocessor platform, different processors may observe operations in different orders. This may lead to surprising results not anticipated by the programmer. The problem is exacerbated by common compiler and hardware optimization techniques. A memory (consistency) model provides a contract between the system… (More)
Gao and Sarkar have proposed Location Consistency (LC), the weakest memory model described in the literature to date for shared memory architectures. The advantage of LC is that it does not require invalidation/update messages across processors, thus dispensing with cache snooping or directories. Gao and Sarkar have argued that, although LC is strictly… (More)