Author:
SIVARAMAKRISHNAN K. C.,ZIAREK LUKASZ,JAGANNATHAN SURESH
Abstract
AbstractMultiMLton is an extension of the MLton compiler and runtime system that targets scalable, multicore architectures. It provides specific support for ACML, a derivative of Concurrent ML that allows for the construction of composable asynchronous events. To effectively manage asynchrony, we require the runtime to efficiently handle potentially large numbers of lightweight, short-lived threads, many of which are created specifically to deal with the implicit concurrency introduced by asynchronous events. Scalability demands also dictate that the runtime minimize global coordination. MultiMLton therefore implements a split-heap memory manager that allows mutators and collectors running on different cores to operate mostly independently. More significantly, MultiMLton exploits the premise that there is a surfeit of available concurrency in ACML programs to realize a new collector design that completely eliminates the need for read barriers, a source of significant overhead in other managed runtimes. These two symbiotic features - a thread design specifically tailored to support asynchronous communication, and a memory manager that exploits lightweight concurrency to greatly reduce barrier overheads - are MultiMLton's key novelties. In this article, we describe the rationale, design, and implementation of these features, and provide experimental results over a range of parallel benchmarks and different multicore architectures including an 864 core Azul Vega 3, and a 48 core non-coherent Intel SCC (Single-Cloud Computer), that justify our design decisions.
Publisher
Cambridge University Press (CUP)
Cited by
20 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Disentanglement with Futures, State, and Interaction;Proceedings of the ACM on Programming Languages;2024-01-05
2. Automatic Parallelism Management;Proceedings of the ACM on Programming Languages;2024-01-05
3. Efficient Parallel Functional Programming with Effects;Proceedings of the ACM on Programming Languages;2023-06-06
4. Parallelism in a Region Inference Context;Proceedings of the ACM on Programming Languages;2023-06-06
5. Entanglement detection with near-zero cost;Proceedings of the ACM on Programming Languages;2022-08-29