作者
Adrien Guatto, Sam Westrick, Ram Raghunathan, Umut Acar, Matthew Fluet
发表日期
2018/2/10
期刊
ACM SIGPLAN Notices
卷号
53
期号
1
页码范围
81-93
出版商
ACM
简介
It is well known that modern functional programming languages are naturally amenable to parallel programming. Achieving efficient parallelism using functional languages, however, remains difficult. Perhaps the most important reason for this is their lack of support for efficient in-place updates, i.e., mutation, which is important for the implementation of both parallel algorithms and the run-time system services (e.g., schedulers and synchronization primitives) used to execute them.
In this paper, we propose techniques for efficient mutation in parallel functional languages. To this end, we couple the memory manager with the thread scheduler to make reading and updating data allocated by nested threads efficient. We describe the key algorithms behind our technique, implement them in the MLton Standard ML compiler, and present an empirical evaluation. Our experiments show that the approach performs well …
引用总数
20182019202020212022202320241523565
学术搜索中的文章
A Guatto, S Westrick, R Raghunathan, U Acar, M Fluet - ACM SIGPLAN Notices, 2018