【24h】

Concurrent Programming with Revisions and Isolation types

机译:修订和隔离类型的并发编程

获取原文
获取原文并翻译 | 示例

摘要

Building applications that are responsive and can exploit parallel hardware while remaining simple to write, understand, test, and maintain, poses an important challenge for developers. In particular, it is often desirable to enable various tasks to read or modify shared data concurrently without requiring complicated locking schemes that may throttle concurrency and introduce bugs. We introduce a mechanism that simplifies the parallel execution of different application tasks. Programmers declare what data they wish to share between tasks by using isolation types, and execute tasks concurrently by forking and joining revisions. These revisions are isolated: they read and modify their own private copy of the shared data only. A runtime creates and merges copies automatically, and resolves conflicts deterministically, in a manner declared by the chosen isolation type. To demonstrate the practical viability of our approach, we developed an efficient algorithm and an implementation in the form of a C# library, and used it to parallelize an interactive game application. Our results show that the parallelized game, while simple and very similar to the original sequential game, achieves satisfactory speedups on a multicore processor.
机译:构建具有响应能力并可以利用并行硬件同时又易于编写,理解,测试和维护的应用程序,对开发人员构成了重大挑战。特别是,通常需要使各种任务能够同时读取或修改共享数据,而不需要复杂的锁定方案,这可能会限制并发性并引入错误。我们介绍了一种简化不同应用程序任务的并行执行的机制。程序员使用隔离类型声明他们希望在任务之间共享的数据,并通过派生和加入修订来同时执行任务。这些修订是独立的:它们仅读取和修改自己的共享数据私有副本。运行时将自动创建并合并副本,并以所选隔离类型声明的方式确定性地解决冲突。为了证明我们方法的实际可行性,我们开发了一种高效的算法和C#库形式的实现,并将其用于并行化交互式游戏应用程序。我们的结果表明,并行化游戏虽然简单且与原始顺序游戏非常相似,但在多核处理器上实现了令人满意的加速。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号