中文

三种运行时系统的故事

分布式、并行与集群计算 2014-09-08 v1 编程语言

摘要

本文讨论了如何从顺序 C 规范自动生成为面向任务执行模型设计的、基于事件驱动和元组空间的程序。我们开发了一种分层映射解决方案,利用自动并行化编译器技术,针对三种依赖事件驱动任务(EDTs)的不同运行时系统。我们的解决方案得益于一个重要观察:循环类型编码了 EDT 之间简短的传递关系,这些关系紧凑且能在运行时高效评估。在此背景下,可置换循环尤为重要,因为它们直接转化为距离为 1 的保守点对点同步。我们的解决方案生成了对运行时无关的 C++ 层的调用,我们已将其重定向至 Intel 的 Concurrent Collections (CnC)、ETI 的 SWARM 以及 Open Community Runtime (OCR)。与其他运行时系统的经验促使我们在 CnC 中引入了对分层 async-finishes 的支持。我们提供了实验数据,以展示自动生成代码对基于 EDT 的运行时系统的益处,以及不同运行时系统之间的比较。

关键词

引用

@article{arxiv.1409.1914,
  title  = {A Tale of Three Runtimes},
  author = {Nicolas Vasilache and Muthu Baskaran and Tom Henretty and Benoit Meister and M. Harper Langston and Sanket Tavarageri and Richard Lethin},
  journal= {arXiv preprint arXiv:1409.1914},
  year   = {2014}
}