Unconventional Parallelization of Nondeterministic Applications

Unconventional Parallelization of Nondeterministic Applications
复制标题

非确定性应用的非常规并行化

DOI:
10.1145/3173162.3173181
复制
发表时间:
2018
期刊:
Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子:
--
通讯作者:
Simone Campanoni
Simone Campanoni
中科院分区:
--
文献类型:
--
作者:
E. A. Deiana;Vincent St;P. Dinda;Nikolaos Hardavellas;Simone Campanoni

文献摘要

被引文献

相似文献

对商品处理器的线程级别并联(TLP)的需求无止境,因为这对于获得性能和节省能源至关重要。但是,今天的计划中的TLP受到必须在运行时必须满足的依赖的限制。我们发现,对于非确定程序,可以通过可以并行生成的替代数据来满足其中一些实际依赖性,从而促进程序的TLP。尽管如此,使用替代数据满足这些依赖性,但仍会产生与原始非确定程序的最终输出相匹配的输出。为了证明我们的技术的实用性,我们描述了我们建议的C ++编程语言扩展启用的编译器,自动调整器,剖面和运行时的设计,实现和评估。最终的系统在一个基于28核Intel的平台上提高了六个众所周知的非确定性和多线程基准的性能。
The demand for thread-level-parallelism (TLP) on commodity processors is endless as it is essential for gaining performance and saving energy. However, TLP in today's programs is limited by dependences that must be satisfied at run time. We have found that for nondeterministic programs, some of these actual dependences can be satisfied with alternative data that can be generated in parallel, thus boosting the program's TLP. Satisfying these dependences with alternative data nonetheless produces final outputs that match those of the original nondeterministic program. To demonstrate the practicality of our technique, we describe the design, implementation, and evaluation of our compilers, autotuner, profiler, and runtime, which are enabled by our proposed C++ programming language extensions. The resulting system boosts the performance of six well-known nondeterministic and multi-threaded benchmarks by 158.2% (geometric mean) on a 28-core Intel-based platform.