• Home
  • Search
  • Hierarchical memory management for mutable state
  • Open Access IconOpen Access
  • Cite Icon5
  • https://doi.org/10.1145/3200691.3178494Copy DOI Icon

Hierarchical memory management for mutable state

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

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, significantly improving efficiency over existing functional language implementations.

Similar Papers
  • Conference Article
  • Citations20

Hierarchical memory management for mutable state

  • Feb 10, 2018
  • Adrien Guatto +4
  • PDF
  • Research Article
  • Citations1

Explicit Effects and Effect Constraints in ReML

  • Jan 02, 2024
  • Proceedings of the ACM on Programming Languages
  • Martin Elsman
  • Research Article
  • Citations4

Hierarchical memory management for parallel programs

  • Sep 04, 2016
  • ACM SIGPLAN Notices
  • Ram Raghunathan +3
  • Book Chapter
  • Citations38

Concurrent clean

  • Jan 01, 1991
  • E G J M H Nöcker +3
  • Research Article
  • Citations4

First-class monadic schedules

  • Jul 01, 2004
  • ACM Transactions on Programming Languages and Systems
  • Rajiv Mirani +1
  • Conference Article
  • Citations47

When is a functional program not a functional program?

  • Sep 01, 1999
  • John Longley
  • Book Chapter

Safe and Familiar Multi-core Programming by Means of a Hybrid Functional and Imperative Language

  • Jan 01, 2010
  • Ronald Veldema +1
  • Book Chapter
  • Citations6

A Parallel Skeleton for Genetic Algorithms

  • Jan 01, 2011
  • Alberto De La Encina +3
  • Research Article
  • Citations3

Proof-producing synthesis of ML from higher-order logic

  • Sep 09, 2012
  • ACM SIGPLAN Notices
  • Magnus O Myreen +1
  • Conference Article
  • Citations145

From region inference to von Neumann machines via region representation inference

  • Jan 01, 1996
  • Lars Birkedal +2
  • Conference Article
  • Citations13

SMLtoJs

  • Oct 24, 2011
  • Martin Elsman
  • Dissertation

Design and implementation of parallel algorithms for automata

  • Jan 01, 1996
  • Xuefeng Xiong
  • Research Article
  • Citations2

Trends in Trends in Functional Programming 1999/2000 versus 2007/2008

  • Nov 01, 2010
  • Higher-Order and Symbolic Computation
  • Peter Achten +3
  • Research Article
  • Citations46

Monads, Effects and Transformations

  • Jan 01, 1999
  • Electronic Notes in Theoretical Computer Science
  • Nick Benton +1
  • Conference Article
  • Citations3

Smart test data generators via logic programming

  • Jan 01, 2011
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Lukas Bulwahn
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.