Disciplined concurrent programming using tasks with effects

Disciplined concurrent programming using tasks with effects
复制标题

使用具有效果的任务进行规范的并发编程

DOI:
--
复制
发表时间:
2012
期刊:
USENIX Conference on Hot Topics in Parallelism
影响因子:
--
通讯作者:
Vikram S. Adve
Vikram S. Adve
中科院分区:
--
文献类型:
--
作者:
Stephen Heumann;Vikram S. Adve

文献摘要

被引文献

相似文献

并发编程已经变得无处不在,但是今天广泛使用的并发编程模型提供的安全保证很少,这使得编写带有细微错误的代码变得很容易。提供强有力保证的模型通常只能表示相对有限的一类程序。我们认为并发编程模型应该提供强大的安全保证,同时仍然提供支持复杂的交互式应用程序中使用并发的多种方式所需的灵活性和性能。
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 programmer-specified, 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.