Abstract
Concurrent programming has become ubiquitous, but today's widely-used concurrent programming models provide few safety guarantees, making it easy to write code with subtle errors. Models that do give strong guarantees often can only express a relatively limited class of programs. We argue that a concurrent programming model should offer strong safety guarantees, while still providing the flexibility and performance needed to support the many ways that concurrency is used in complex, interactive applications. To achieve this, we propose a new programming model based on tasks with effects. In this model, the core unit of work is a dynamically-created task. The key feature of our model is that each task has programmerspecified, statically-checked effects, and a runtime scheduler is used to ensure that two tasks are run concurrently only if their effects are non-interfering. Our model guarantees strong safety properties, including data race freedom and a form of atomicity. We describe this programming model and its properties, and propose several research questions related to it.
Original language | English (US) |
---|---|
State | Published - 2012 |
Event | 4th USENIX Workshop on Hot Topics in Parallelism, HotPar 2012 - Berkeley, United States Duration: Jun 7 2012 → Jun 8 2012 |
Conference
Conference | 4th USENIX Workshop on Hot Topics in Parallelism, HotPar 2012 |
---|---|
Country/Territory | United States |
City | Berkeley |
Period | 6/7/12 → 6/8/12 |
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Computational Theory and Mathematics