Affiliation:
1. University of Copenhagen, Denmark
Abstract
Region inference is a type-based program analysis that takes a non-annotated program as input and constructs a program that explicitly manages memory allocation and deallocation by dividing the heap into a stack of regions, each of which can grow and shrink independently from other regions, using constant-time operations.
Whereas region-based memory management has shown useful in the contexts of explicit region-based memory management, and in particular, in combination with parallel execution of code, combining region inference with techniques for higher-order parallel programming has not been investigated.
In this paper, we present an implementation of a fork-join parallel construct suitable for a compiler based on region inference. We present a minimal higher-order language incorporating the parallel construct, including typing rules and a dynamic semantics for the language, and demonstrate type soundness. We present a novel effect-based region-protection inference algorithm and discuss benefits and shortcomings of the approach. We also describe an efficient implementation embedded in the MLKit Standard ML compiler. Finally, we evaluate the approach and the implementation based on a number of parallel benchmarks, and thereby demonstrate that the technique effectively utilises multi-core architectures in a higher-order functional setting.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference56 articles.
1. Better static memory management
2. Alias annotations for program understanding
3. Joe Armstrong . 2003. Making Reliable Distributed Systems in the Presence of Software Errors. Ph. D. Dissertation . The Royal Institute of Technology , Stockholm, Sweden . Joe Armstrong. 2003. Making Reliable Distributed Systems in the Presence of Software Errors. Ph. D. Dissertation. The Royal Institute of Technology, Stockholm, Sweden.
4. Provably space-efficient parallel functional programming
5. From region inference to von Neumann machines via region representation inference
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Associated Effects: Flexible Abstractions for Effectful Programming;Proceedings of the ACM on Programming Languages;2024-06-20
2. Explicit Effects and Effect Constraints in ReML;Proceedings of the ACM on Programming Languages;2024-01-05