Responsive parallel computation: bridging competitive and cooperative threading
Responsive parallel computation: bridging competitive and cooperative threading
复制标题
响应式并行计算:桥接竞争线程和协作线程
DOI:
10.1145/3062341.3062370
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
R. Harper
中科院分区:
文献类型:
--
作者:
Stefan K. Muller;Umut A. Acar;R. Harper
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.