@inproceedings{c348ced6f6544b51ba9688009286f1eb,
title = "Speculative N-Way barriers",
abstract = "Speculative execution is an important technique that has historically been used to extract concurrency from sequential programs. While techniques to support speculation work well when computations perform relatively simple actions (e.g., reads and writes to known locations), understanding speculation for multi-threaded programs in which threads may communicate and synchronize through multiple shared references is significantly more challenging, and is the focus of this paper. We use as our reference point a simple higher-order concurrent language extended with an n-way barrier and a fork/join execution model. Our technique permits the expression guarded by the barrier to speculatively proceed before the barrier has been satisfied (i.e. before all threads that synchronize on that barrier have done so) and to have participating threads that would normally block on the barrier to speculatively proceed as well. Our solution formulates safety properties under which speculation is correct in a fork/join model, nd uses traces to validate these properties modularly on a per-thread and per-synchronization basis.",
keywords = "Fork/join execution, Multi-Threaded programs, N-Way barriers, Speculation",
author = "Lukasz Ziarek and Suresh Jagannathan and Matthew Fluet and Acar, \{Umut A.\}",
year = "2009",
doi = "10.1145/1481839.1481841",
language = "English",
isbn = "9781605584171",
series = "Proceedings of the 4th ACM SIGPLAN Workshop on Declarative Aspects of Multicore Programming, DAMP'09",
publisher = "Association for Computing Machinery ",
pages = "1--12",
booktitle = "Proceedings of the 4th ACM SIGPLAN Workshop on Declarative Aspects of Multicore Programming, DAMP'09",
address = "United States",
note = "4th ACM SIGPLAN Workshop on Declarative Aspects of Multicore Programming, DAMP'09 ; Conference date: 20-01-2009 Through 20-01-2009",
}