Entanglement detection with near-zero cost
Entanglement detection with near-zero cost
复制标题
近乎零成本的纠缠检测
DOI:
10.1145/3547646
复制
发表时间:
2022
影响因子:
--
通讯作者:
Acar, Umut A.
中科院分区:
文献类型:
--
作者:
Westrick, Sam;Arora, Jatin;Acar, Umut A.
Recent research on parallel functional programming has culminated in a provably efficient (in work and space) parallel memory manager, which has been incorporated into the MPL (MaPLe) compiler for Parallel ML and shown to deliver practical efficiency and scalability. The memory manager exploits a property of parallel programs called disentanglement, which restricts computations from accessing concurrently allocated objects. Disentanglement is closely related to race-freedom, but subtly differs from it. Unlike race-freedom, however, no known techniques exists for ensuring disentanglement, leaving the task entirely to the programmer. This is a challenging task, because it requires reasoning about low-level memory operations (e.g., allocations and accesses), which is especially difficult in functional languages.In this paper, we present techniques for detecting entanglement dynamically, while the program is running. We first present a dynamic semantics for a functional language with references that checks for entanglement by consulting parallel and sequential dependency relations in the program. Notably, the semantics requires checks for mutable objects only. We prove the soundness of the dynamic semantics and present several techniques for realizing it efficiently, in particular by pruning away a large number of entanglement checks. We also provide bounds on the work and space of our techniques.We show that the entanglement detection techniques are practical by implementing them in the MPL compiler for Parallel ML. Considering a variety of benchmarks, we present an evaluation and measure time and space overheads of less than 5% on average with up to 72 cores. These results show that entanglement detection has negligible cost and can therefore remain deployed with little or no impact on efficiency, scalability, and space.
登录
查看更多内容
DOI:
10.1145/301618.301648
发表时间:
1999-05
期刊:
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
影响因子:
--
作者:
G. Blelloch;P. Cheng
通讯作者:
G. Blelloch;P. Cheng
DOI:
10.1145/2935764.2935801
发表时间:
2016
期刊:
Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures
影响因子:
--
作者:
Utterback, Robert;Agrawal, Kunal;Fineman, Jeremy T.;Lee, I-Ting Angelina
通讯作者:
Lee, I-Ting Angelina
DOI:
10.1145/3062341.3062370
发表时间:
2017
期刊:
Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation
影响因子:
--
作者:
Stefan K. Muller;Umut A. Acar;R. Harper
通讯作者:
R. Harper
DOI:
10.4230/lipics.snapl.2015.1
发表时间:
2015
期刊:
ACM Trans. Program. Lang. Syst.
影响因子:
--
作者:
Umut A. Acar;G. Blelloch;M. Fluet;Stefan K. Muller;R. Raghunathan
通讯作者:
R. Raghunathan
DOI:
--
发表时间:
2020
期刊:
Proc. ACM Program. Lang.
影响因子:
--
作者:
K. Sivaramakrishnan;Stephen Dolan;Leo White;S. Jaffer;T. Kelly;Anmol Sahoo;S. Parimala;Atul Dhiman;Anil Madhavapeddy
通讯作者:
Anil Madhavapeddy