Responsive parallel computation: bridging competitive and cooperative threading

Responsive parallel computation: bridging competitive and cooperative threading
复制标题

响应式并行计算:桥接竞争线程和协作线程

DOI:
10.1145/3062341.3062370
复制
发表时间:
2017
期刊:
Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
通讯作者:
R. Harper
R. Harper
中科院分区:
--
文献类型:
--
作者:
Stefan K. Muller;Umut A. Acar;R. Harper

文献摘要

被引文献

相似文献

竞争性和合作线程在计算中广泛使用。在竞争性线程中,线程是预先安排的,目的是最大程度地减少响应时间,通常是交互式应用程序。在合作的线程中,线程是不可撤销的,目的是最大化吞吐量或最小化完成时间,通常在计算密集型应用程序中,例如科学计算,机器学习和AI。尽管这两种形式的线程都取决于线程的相同抽象,但迄今为止,它们仍然在很大程度上是分开的计算形式。由于最近使用多核算计算机主流使用的增加,我们提出了一个旨在统一竞争和合作线程的线程模型。为此,我们将基于图形的经典成本模型扩展到合作线程中,以允许竞争性穿线,并描述如何通过展示语言和相应的成本语义来在编程语言中使用这种成本模型。最后,我们表明,成本模型和语义可以通过为语言提供操作语义来实现,该语言指定了实施行为,以及实现和小型经验评估。
Competitive and cooperative threading are widely used abstractions in computing. In competitive threading, threads are scheduled preemptively with the goal of minimizing response time, usually of interactive applications. In cooperative threading, threads are scheduled non-preemptively with the goal of maximizing throughput or minimizing the completion time, usually in compute-intensive applications, e.g. scientific computing, machine learning and AI. Although both of these forms of threading rely on the same abstraction of a thread, they have, to date, remained largely separate forms of computing. Motivated by the recent increase in the mainstream use of multicore computers, we propose a threading model that aims to unify competitive and cooperative threading. To this end, we extend the classic graph-based cost model for cooperative threading to allow for competitive threading, and describe how such a cost model may be used in a programming language by presenting a language and a corresponding cost semantics. Finally, we show that the cost model and the semantics are realizable by presenting an operational semantics for the language that specifies the behavior of an implementation, as well as an implementation and a small empirical evaluation.