首页> 外文期刊>International journal of parallel programming >Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform
【24h】

Integrating Transactions into the Data-Driven Multi-threading Model Using the TFlux Platform

机译:使用TFlux平台将事务集成到数据驱动的多线程模型中

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

摘要

The introduction of multi-core processors has renewed the interest in programming models which can efficiently exploit general purpose parallelism. Data-Flow is one such model which has demonstrated significant potential in the past. However, it is generally associated with functional styles of programming which do not deal well with shared mutable state. There have been a number of attempts to introduce state into Data-Flow models and functional languages but none have proved able to maintain the simplicity and efficiency of pure Data-Flow parallelism. Transac-tional memory is a concurrency control mechanism that simplifies sharing data when developing parallel applications while at the same time promises to deliver affordable performance. In this paper we report our experience of integrating Transactional Memory and Data-Flow within the TFlux Platform. The ability of the Data-Flow model to expose large amounts of parallelism is maintained while Transactional Memory provides simplified sharing of mutable data in those circumstances where it is important to the expression of the program. The isolation property of transactions ensures that the exploitation of Data-Flow parallelism is not compromised. In this study we extend the TFlux platform, a Data-Driven Multi-threading implementation, to support transactions. We achieve this by proposing new pragmas that allow the programmer to specify transactions. In addition we extend the runtime functionality by integrating a software transactional memory library with TFlux. To test the proposed system, we ported two applications that require transactional memory: Random Counter and Labyrinth an implementation of Lee's parallel routing algorithm. Our results show good opportunities for scaling when using the integration of the two models.
机译:多核处理器的引入重新激发了对可以有效利用通用并行性的编程模型的兴趣。数据流就是这样一种模型,它在过去已显示出巨大的潜力。但是,它通常与不能很好地处理共享可变状态的编程功能样式相关联。已经进行了许多尝试将状态引入到数据流模型和功能语言中,但是没有一种方法能够保持纯数据流并行性的简单性和效率。事务性内存是一种并发控制机制,在开发并行应用程序时可简化共享数据,同时有望提供可承受的性能。在本文中,我们报告了我们在TFlux平台中集成事务存储和数据流的经验。保持了数据流模型公开大量并行性的能力,而事务性内存在对程序表达很重要的那些情况下,简化了可变数据的共享。事务的隔离属性确保不损害对数据流并行性的利用。在本研究中,我们扩展了TFlux平台(一种数据驱动的多线程实现)来支持事务。我们通过提出允许程序员指定事务的新实用程序来实现此目的。另外,我们通过将软件事务存储库与TFlux集成来扩展运行时功能。为了测试建议的系统,我们移植了两个需要事务存储的应用程序:Random Counter和Labyrinth,这是Lee的并行路由算法的实现。我们的结果显示了使用两个模型的集成时进行扩展的良好机会。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号